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