Overview
Explore a comprehensive proposal for adding linear algebra facilities to the C++ standard library in this conference talk from C++Now 2019. Delve into the importance of linear algebra in modern computing, covering its applications in signal processing, computer graphics, medical imaging, machine learning, and more. Examine the features, requirements, and design of the proposed components, including mathematical objects, extensible interfaces, and customization options. Learn about the evolution of the proposal's design and its rationale, understanding how modern C++ enables the creation of an expressive and high-performance linear algebra library. Gain insights into the process of submitting and advocating for a significant new library feature to the C++ standardization committee, while also reviewing key concepts such as matrices, vectors, decompositions, and numeric traits.
Syllabus
Introduction
Structure
P1385
Goals
Customization
Definitions
Matrix
RowVector
Math
Decomposition
C Perspective
Traits
Fixed Size
Matrix Array
Dimension
Rank
Memory
Capacity Resize
Element Types
Statement of Scope
Concepts
Interface
Tensors
Interface Components
Operation Traits
Implementation Traits
Implementation Engines
Operators
Multiplication
Convenience aliases
Numeric traits
Implementation
Matrix Engines
Taught by
CppNow