C++ and Linear Algebra

By Guy Davidson

There is a glaring omission in the standard library: there is no built-in support for linear algebra. This has lead to languages like Python becoming ascendant in machine learning and artificial intelligence.

This is a strange situation to find ourselves in. C++ is the default choice for high performance applications. For example, in the real-time rendering of 3D games, millions of linear algebra calculations are performed each second, and yet each game must create or choose a maths library for geometry and coordinate transformation.

In this talk I will discuss the need for linear algebra, the typical requirements of a linear algebra library, and the proposal I am co-authoring to add linear algebra types and syntax to the standard library. I will present examples of simple applications in geometry and colour manipulation, and consider interaction with BLAS, the industry standard FORTRAN/C linear algebra library, with a view to implementing the new types and syntax.

This is a new talk reflecting the current status of the proposal.