Jump to content

Comparison of linear algebra libraries

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Langstephen (talk | contribs) at 21:09, 18 February 2011 (General information). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 Cost (USD) 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.
GNU Scientific Library GNU Project C 1996 1.14 / 03.2010 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 late 1980s 3.2.1 / 04.2009 Free 3-clause BSD Numerical linear algebra library with long history
MKL Intel C++, Fortran 05.2003 10.2 Non-free Proprietary Numerical analysis library optimized for Intel CPU's
NAG Numerical Libraries The Numerical Algorithms Group Ltd C, Fortran 1970s 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 0.8.0 / 2010 Free BSD based on Python

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
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 Libraries 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