libmatricxx 1.2.10
C++MatrixTemplateLibrary
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";
  }