Matrix.h is a C++ template with several matrix operations. The template design is such that the matrix can be of any number type, be it floating point, complex, rational, ext. The library contains several common matrix functions, such as determinant, row echelon reductions, and LU decomposition.

This library is the result of a linear algebra class and written mostly to put my comprehension of what I learned to work. It was written more to be a clear demonstration of the techniques than the most efficient implementation.

The second part of this library is a rational number template class. Matrix math involving integer numbers can often be done more accurately with rational numbers than floating-point. This rational number template can use any input type; integer, long, or even arbitrary precession classes assuming the class has all the basic math operators overloaded.

Please leave a comment if you find this library useful.

thank you very much. Very useful :)

The codes you wrote are great ! very clear, easy to understand.Thanks very much !

But I found a word spelled wrong:

function name reducedRowEcholon() should be reducedRowEchelon()

Thanks a lot!

Very good resource, thank you!

Matrix.h is is free, open-source software released under the GNU license.

Matrix.h was written by Andrew Que. To get in touch with Andrew Que, visit his contact page.

(C) Copyright 2011, 2014 by Andrew Que.