C++ Matrix Template Library

Library to provide mathematical matrices as standard C++ types that behave like standard types.

Features:
 * Allows any size of Matrix
    * Either fixed size, size given as template parameter
    * Or variable size, size is given in constructor
 * Allows any type of values, given as template parameter
 * Supports matrix specific functions:
    * transposition
    * gaussian algorithm
    * determinant using gauss algorithm
    * inversion using gauss-jordan algorithm
 * Supports mathematical operations:
    * addition
    * subtraction
    * multiplication
    * division (using the inverse matrix)
 * Higly stable and well tested in >200 tests

Example with templated size:

      const Matrix<T,2,4> m1(1, 2, 3, 4,
                             5, 6, 7, 8);
      const Matrix<T,2,4> m2(2, 4, 6, 8,
                             1, 3, 5, 7);
      const Matrix<T,2,4> m(m1+m2);
      const Matrix<T,2,4> res(3, 6, 9, 12,
                              6, 9, 12, 15);
      if (m==res) {
        std::cout<<"Yes, it is that easy!\n"<<m<<"\n";
      } else {
        std::cerr<<"Ooops!\n";
      }

Example with templated size:

      const Matrix<T> m1(2, 4,
                         1, 2, 3, 4,
                         5, 6, 7, 8);
      const Matrix<T> m2(2, 4,
                         2, 4, 6, 8,
                         1, 3, 5, 7);
      const Matrix<T> m(m1+m2);
      const Matrix<T> res(2, 4,
                          3, 6, 9, 12,
                          6, 9, 12, 15);
      if (m==res) {
        std::cout<<"Yes, it is that easy!\n"<<m<<"\n";
      } else {
        std::cerr<<"Ooops!\n";
      }