I am looking for a library with all the functionality that is standard for linear algebra. Such as determinants, matrix inverse, multiplication… but generic.
Octave has the perfect library for double and complex arithmetic, but I need to be able to change the implementation of arithmetic.
Eigen is definitely the best matrix library in C++ at the moment.
http://eigen.tuxfamily.org/index.php?title=Main_Page
I warmly suggest you.
For example this code creates a random 10×10 matrix and compute its inverse:
you can have access to all numerical matrix algebra things, such as decompositions, linear system solving and other geometry algorithms.
It’s only headers, no external dependency, no installation.
It works for a large range of compilers and is very well mantained and documented.