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.