Comparison of linear algebra libraries
Jump to navigation
Jump to search
This content was retrieved from
Wikipedia : http://en.wikipedia.org/wiki/Comparison_of_linear_algebra_librariesThis article does not cite any sources. (June 2010) (Learn how and when to remove this template message)

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  ALGLIB Project  C++, C#, FreePascal, VBA  2006  3.12.0 / 08.2017  Free  GPL/commercial  General purpose numerical analysis library with C++ and C# interfaces. 
ATLAS  R. Clint Whaley et al.  C  2001  3.10.3 / 07.2016  Free  BSD  Automatically tuned implementation of BLAS. Also includes LU and Cholesky decompositions. 
Dlib  Davis E. King  C++  2006  19.7 / 09/2017  Free  Boost  C++ template library; binds to optimized BLAS such as the Intel MKL; Includes matrix decompositions, nonlinear solvers, and machine learning tooling 
DataMelt  S.Chekanov et al.  Java  2005  1.7 / 03.2017  Free  GPL  A general purpose. Includes JBLAS and JLAPACK 
GNU Scientific Library  GNU Project  C, C++  1996  2.5 / 06.2018  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  Nonfree  Proprietary  General purpose numerical analysis library. 
LAPACK  Fortran  1992  3.7.0 / 12.2016  Free  3clause BSD  Numerical linear algebra library with long history  
MKL  Intel  C++, Fortran  2003  2017 update 2 / 09.2016  Nonfree  Intel Simplified Software License  Numerical analysis library optimized for Intel CPUs 
Math.NET_Numerics  C. Rüegg, M. Cuda, et al.  C#  2009  3.20 / 07.2017  Free  MIT_License  C# numerical analysis library with linear algebra support 
NAG Numerical Library  The Numerical Algorithms Group  C, Fortran  1971  many components  Nonfree  Proprietary  General purpose numerical analysis library. 
NMath  CenterSpace Software  C#  2003  4.0 / November 2009  Nonfree  Proprietary  Math and statistical libraries for the .NET Framework 
SciPy  Enthought  Python  2001  1.0.0 / 10.2017  Free  BSD  Based on Python 
Eigen  Benoît Jacob  C++  2008  3.3.4 / 06.2017  Free  MPL2  Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. 
Armadillo  NICTA  C++  2009  9.200 / 10.2018  Free  Apache License 2.0  C++ template library for linear algebra; includes various decompositions and factorisations; syntax (API) is similar to MATLAB. 
Blaze  Klaus Iglberger  C++  2012  3.2 / 08.2017  Free  BSD  Blaze is an opensource, highperformance C++ math library for dense and sparse arithmetic. Benchmarks shown here. 
librsb  Michele Martone  C, Fortran, M4  2011  1.2 / September 2016  Free  GPL  Highperformance multithreaded primitives for large sparse matrices. Support operations for iterative solvers: multiplication, triangular solve, scaling, matrix I/O, matrix rendering. Many variants: e.g.: symmetric, hermitian, complex, quadruple precision. 
Elemental  Jack Poulson  C, C++  2010  0.87.7 / February 2017  Free  BSD  opensource, openlydeveloped, software for distributedmemory dense and sparsedirect linear algebra and optimization which supports a wide range of functionality not available elsewhere. 
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
Operations:
 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 
Dlib  Yes  Yes  Yes  Yes  Yes  Yes  No  Yes  Yes  Yes  Yes  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 
Elemental  Yes  Yes  Yes  Yes 
This page is based on the copyrighted Wikipedia article "Comparison of linear algebra libraries"; it is used under the Creative Commons
AttributionShareAlike 3.0 Unported License (CCBYSA). You may
redistribute it, verbatim or modified, providing that you comply with
the terms of the CCBYSA