A generic, reusable, and extendable matrix class : http://www.codeproject.com/KB/architecture/ymatrix.aspx
提供了一个可扩展的框架,比较适合学习,C++ 模板
JAMA, Java Matrix Package, http://math.nist.gov/javanumerics/jama/
Java编写,提供了四种矩阵分解:Cholesky Decomposition, LU Decomposition (Gaussian elimination), QR Decomposition ,Singular Value Decomposition,也可以计算特征值,特征向量
Matrix Template Library, MTL, The Open Systems Laboratory at Indiana University is committed to ensuring the highest quality for the Matrix Template Library. http://www.osl.iu.edu/research/mtl/support.php3
Matrix Expression Template. MET is a C++ matrix class library which promotes the notational convenience of linear algebraic codes but is free of the overhead of superfluous temporary matrix objects. Instead of coding tedious loops for the linear algebraic expression in C or fortran, C++ overloaded operators enable one to write the simplest code like u = m*v + w. This advantage, however, came with a performance penalty until recently. Due to the overhead of temporaries and copying of matrix objects, C++ lagged behind fortran's performance by an order of magnitude. http://met.sourceforge.net/
其中提到的Expression Templates 的概念很重要,可以提高矩阵运算的性能。
本文介绍了多个用于矩阵运算的类库,包括C++模板实现的通用矩阵类、Java编写的JAMA矩阵包及其提供的多种矩阵分解方法,还有Matrix Template Library (MTL) 和 Matrix Expression Template (MET)等高级矩阵类库,后者通过表达式模板技术显著提升了矩阵运算性能。
5298

被折叠的 条评论
为什么被折叠?



