与矩阵相关的C++,Java库

来源:互联网 发布:淘宝首页文字字体 编辑:程序博客网 时间:2024/06/04 22:26

 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 likeu = 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 的概念很重要,可以提高矩阵运算的性能。

 

 

原创粉丝点击