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.
|
8 years ago | |
---|---|---|
debian | 8 years ago | |
doc | 8 years ago | |
examples | ||
src | ||
test | ||
AUTHORS | ||
COPYING | 9 years ago | |
ChangeLog | 8 years ago | |
INSTALL | 9 years ago | |
NEWS | ||
README | ||
autogen.sh | ||
ax_check_qt.m4 | ||
ax_cxx_compile_stdcxx_11.m4 | ||
ax_init_standard_project.m4 | 8 years ago | |
bootstrap.sh | 8 years ago | |
build-in-docker.conf | 8 years ago | |
build-in-docker.sh | 8 years ago | |
build-resource-file.sh | ||
configure.ac | 9 years ago | |
libmatricxx.desktop.in | ||
libmatricxx.spec.in | ||
mac-create-app-bundle.sh | ||
makefile.am | ||
makefile_test.inc.am | ||
resolve-debbuilddeps.sh | 8 years ago | |
resolve-rpmbuilddeps.sh | 8 years ago | |
sql-to-dot.sed |
README
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";
}