Linear Algebra is probably one of the hardest branches of mathematics there is. From studying different sets of linear sets of equation and their properties, you really have to use analytical thinking. But with the help of Armadillo, it will be all too easy.
Armadillo is an open source library of C++ linear algebra tools. It supports integers, floating points, complex numbers, and a subset of trigonometric and statistic functions. It is designed with an easy-to-use interface. There are also matrix decompositions provided through optional integration with LAPACK or the Linear Algebra Package that provides routines for solving systems of linear equations and linear least squares, Eigenvalue problems, and singular value decomposition.
Additionally, Armadillo supports recursive templates and template meta-programming that combines various operations into one and reduce the need for temporaries. This will come very useful with the use of C++ language with its speed and integration capabilities.