Time and Location
Title
Linear Algebra and the Eigen Library
Abstract
Linear algebra is an essential part of scientific programming, particularly in domains such as quantitative finance, data science, physics, and medical research. As C++ did not have all the convenient built-in multidimensional array capabilities that came with Fortran platforms, scientific programmers making the transition to C++ back in the 1990’s often found themselves in an inconvenient situation with limited options. These included building up this functionality mostly from scratch, wrestling with interfaces to numerical Fortran libraries such as BLAS and LAPACK, or somehow convincing management to invest in a third-party commercial C++ linear algebra library.
The situation has improved substantially over the years with the release and availability of several well-regarded open-source linear algebra libraries for C++. One in particular that has become popular, first released in 2006, is the Eigen library. It has been adopted for use within both the TensorFlow machine learning library and the Stan Math Library, as well as in financial applications. Linear algebra has also become a point of emphasis in C++ Standard Library enhancements, with the release of std::mdspan (P0009) in C++23, and the BLAS (Basic Linear Algebra Subroutines) interface (P1673) that has been accepted for C++26.
In this talk, we will examine the setup and basics of the Eigen library, followed by a discussion of some of its more advanced features, such as matrix decompositions frequently used in quantitative work, as well as its compatibility with STL algorithms. It will conclude with an overview of how it might be used within the context of the C++26 BLAS proposal, via an interface with mdspan now in C++23.
Speaker Bio
Daniel Hanson is a former full-time lecturer in the Computational Finance & Risk Management program within the Department of Applied Mathematics at the University of Washington. His appointment followed over 25 years of experience in private sector quantitative development in finance and data science. He currently serves as the Student Program Coordinator for CppCon.
A Word From Our Sponsor
Please thank Microsoft for sponsoring our meeting room and Teams account!
Digital Media Links
- Sign up for our announcements mailing list If you want to be more involved, sign up for our volunteers list
- Check out our web page at http://www.nwcpp.org/
- Follow @nwcpp on Twitter
- Join our Facebook Group
- Tune in to our YouTube and Vimeo channels
social
blogroll