You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.6 KiB
54 lines
1.6 KiB
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 given 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"; |
|
}
|
|
|