C++ expression template matrix library 0.6.1 review

by rbytes.net on

exmat's goal is to provide an easy to use, yet very efficient matrix library

License: LGPL (GNU Lesser General Public License)
File size: 0K
Developer: Ricky Lung Man Tat
0 stars award from rbytes.net

exmat's goal is to provide an easy to use, yet very efficient matrix library. Overloaded operators allow to write algebraic expressions like v=A*u +u in C++, instead of bunch of boring functions.

This syntactic sugar comes with runtime cost, one way to eliminate the overhead is to use Expression Templates (ET).

Using ET, we can further boost up the efficient by analyzing the expression at compile time and generate the most efficient code for that expression.

This library is still under early development.

Here are some key features of "Cplusplus expression template matrix library":

The element type of the matrix is generic, it can be any type of the C++ build-in type like int, float, double.
Other types like complex or arbitrary precision type can also be used as the element type.
Matrix expression can be make up of any element type, that is, an integer matrix can be added to a float matrix and then assign to a double matrix.

Easy to use:

You can write matrix expression using +, -, *, / operators as usual mathematic notation.


There are 3 levels of error checking policy you can apply on each class of matrix.


Specialized, hand made comparable optimized code can be generated for different expressions.
SIMD code can be used on small size matrix.
Provide a interface to use BLAS as the math kernel, which is highly optimized for out of cache operations.

What's New in This Release:
Cross product bug fixed
Added determinant, minor view, cofactor view and adjoint view for matrix
Added support for column major memory layout
Helper macro for deriving ET enabled sub-class from exmat::Mat easily
Array version for approximated math

C++ expression template matrix library 0.6.1 keywords