Files
libmatricxx/README

54 lines
1.6 KiB
Plaintext
Raw Normal View History

2016-07-30 08:50:44 +00:00
C++ Matrix Template Library
2016-08-25 18:56:50 +00:00
Library to provide mathematical matrices as standard C++ types that behave like standard types.
2016-08-25 15:00:45 +00:00
Features:
* Allows any size of Matrix
* Either fixed size, size given as template parameter
* Or variable size, size is given in constructor
2016-08-25 18:56:50 +00:00
* Allows any type of values, given as template parameter
2016-08-25 15:00:45 +00:00
* Supports matrix specific functions:
* transposition
* gaussian algorithm
2016-08-25 18:56:50 +00:00
* determinant using gauss algorithm
* inversion using gauss-jordan algorithm
2016-08-25 15:00:45 +00:00
* Supports mathematical operations:
* addition
2016-08-25 18:56:50 +00:00
* subtraction
2016-08-25 15:00:45 +00:00
* multiplication
* division (using the inverse matrix)
2016-08-25 18:56:50 +00:00
* Higly stable and well tested in >200 tests
2016-08-25 15:00:45 +00:00
2016-08-25 18:02:10 +00:00
Example with templated size:
2016-08-25 15:00:45 +00:00
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 {
2016-08-25 18:02:10 +00:00
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";
2016-08-25 15:00:45 +00:00
}