C++ and Linear Algebra
summary
Proposes adding concrete matrix and vector types and infix operators to the C++ standard (proposal P1385), reusing mdspan for static vs dynamic matrix storage engines and offering layout, allocator and operation-trait customization; demonstrates solving a 2×2 linear system by matrix inverse, discusses BLAS, Eigen and Blaze interop and tradeoffs for fixed-size SIMD-optimized game code (SSE/AVX), and highlights practical bugs from sRGB non-linear interpolation that cause posterization and widespread wrong behavior in many engines.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 1:11Linear algebra fundamentals
- 9:11Linear algebra libraries history
- 21:25C++ library design proposal
- 36:39Color space management
- 59:01Geometry applications
- 1:17:29Summary and Q&A
related talks
01h 15mstd::linalg: Linear Algebra Coming to Standard C++
01h 00mIntroducing a matrix class to the C++ standard library
01h 24mTyped Linear Algebra - How to Not Crash on Mars
57mGraphBLAS: Building a C++ Matrix API for Graph Algorithms
53mC++ Horizons
01h 00mThe Blaze High Performance Math Library
52mC++ Standard Parallelism
01mScale By the Bay 2021 intro video by Ryan Orendorff
