54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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";
 | 
						|
      }
 |