STEM Lessons for College Students

C++Now 2019: Bob Steagall “Linear Algebra for the Standard C++ Library”

Presentation Slides, PDFs, Source Code and other presenter materials are available at:

Linear algebra is a mathematical discipline of ever-increasing importance in today’s world, with direct application to a wide variety of problem domains, such as signal processing, computer graphics, medical imaging, machine learning, data science, financial modeling, and scientific simulations. And yet, despite the relevance of linear algebra to so many aspects of modern computing, the C++ standard library does not include a set of linear algebra facilities.

This talk will describe a proposal before the C++ standardization committee (P1385) to add linear algebra to the standard library. We’ll begin with a quick refresher on what linear algebra is and why it’s so important. Next, we’ll cover the features and high-level requirements for the proposed components, including a review of related mathematical objects deliberately excluded. We’ll then discuss in detail the design of the proposed components, the evolution of that design, and its rationale. In particular, we’ll discuss in depth how the requirements we set out to fulfill led directly to the design, and how modern C++ allows us to specify an extensible interface that is expressive, customizable, and supports high performance. Along the way, the talk will also provide some color commentary regarding the process of composing, submitting, and advocating a proposal for a significant new library feature.

Bob Steagall
KEWB Computing
Chief Cook and Bottle Washer

I’ve been working in C++ since discovering the second edition of The C++ Programming Language in a college bookstore in 1992. The majority of my career has been spent in medical imaging, where I led teams building applications for functional MRI and CT-based cardiac visualization. After a brief detour through the worlds of DNS and analytics, I’m now working in the area of distributed stream processing. I’m a voting member of the C++ Standardization Committee, and have a blog where I occasionally write about C++ and related topics. I hold BS and MS degrees in Physics, I’m an avid cyclist when weather permits, and I live in fear of my wife’s cats.

Videos Filmed & Edited by Bash Films:

%d bloggers like this: