Comparison of linear algebra libraries
The following tables provide a comparison of linear algebra software libraries, either specialized or general purpose libraries with significant linear algebra coverage.
Dense linear algebra
General information
Creator | Language | First public release | Latest stable version | Source code availability | License | Notes | |
---|---|---|---|---|---|---|---|
ALGLIB | Sergey Bochkanov | C++, C#, FreePascal, VBA | 2006 | 2.6.0 / 06.2010 | Free | GPL | General purpose numerical analysis library. Uses automatic code generation to support several programming languages. |
ATLAS | R. Clint Whaley et al. | C | 2001 | 3.8.3 / 02.2009 | Free | BSD | Automatically tuned implementation of BLAS. Also includes LU and Cholesky decompositions. |
DMelt | S.Chekanov et al. | Java | 2005 | 2015 | GPL | BSD | A general purpose. Includes JBLAS and JLAPACK |
GNU Scientific Library | GNU Project | C, C++ | 1996 | 1.16 / 07.2013 | Free | GPL | General purpose numerical analysis library. Includes some support for linear algebra. |
IMSL Numerical Libraries | Rogue Wave Software | C, Java, C#, Fortran, Python | 1970 | many components | Non-free | Proprietary | General purpose numerical analysis library. |
LAPACK | Fortran | 1992 | 3.4.0 / 11.2011 | Free | 3-clause BSD | Numerical linear algebra library with long history | |
MKL | Intel | C++, Fortran | 2003 | 10.3 update 8 / 2011 | Non-free | Proprietary | Numerical analysis library optimized for Intel CPUs |
NAG Numerical Library | The Numerical Algorithms Group | C, Fortran | 1971 | many components | Non-free | Proprietary | General purpose numerical analysis library. |
NMath | CenterSpace Software | C# | 2003 | 4.0 / November 2009 | Non-free | Proprietary | Math and statistical libraries for the .NET Framework |
SciPy | Enthought | Python | 2001 | 0.8.0 / 2010 | Free | BSD | Based on Python |
Eigen | BenoƮt Jacob | C++ | 2008 | 3.2.8 / 2016 | Free | MPL2 | Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. |
Armadillo | NICTA | C++ | 2009 | 4.650 / 2015 | Free | MPL2 | C++ template library for linear algebra; includes various decompositions and factorisations; syntax (API) is similar to MATLAB. |
Blaze | Klaus Iglberger | C++ | 2012 | Free | BSD | Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic. Benchmarks shown here. |
Matrix types and operations
Matrix types (special types like bidiagonal/tridiagonal are not listed):
- Real - general (nonsymmetric) real
- Complex - general (nonsymmetric) complex
- SPD - symmetric positive definite (real)
- HPD - Hermitian positive definite (complex)
- SY - symmetric (real)
- HE - Hermitian (complex)
- BND - band
- TF - triangular factorizations (LU, Cholesky)
- OF - orthogonal factorizations (QR, QL, generalized factorizations)
- EVD - eigenproblems
- SVD - singular value decomposition
- GEVD - generalized EVD
- GSVD - generalized SVD
Real | Complex | SPD | HPD | SY | HE | BND | TF | OF | EVD | SVD | GEVD | GSVD | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ALGLIB | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | No |
ATLAS | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No |
GNU Scientific Library | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | No |
ILNumerics.Net | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | Yes | No | No |
IMSL Numerical Libraries | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No | Yes | Yes | Yes | No |
LAPACK | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
MKL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
NAG Numerical Library | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
NMath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
SciPy (Python packages) | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | Yes | No | No |
Eigen | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
Armadillo | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No |
This article is issued from Wikipedia - version of the 12/1/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.