Freely Available Software for Linear Algebra (August 2015)
Here is a list of freely available software for the solution of linear algebra problems. The interest is in software for high-performance computers that's available in "open source" form on the web for solving problems in numerical linear algebra, specifically dense, sparse direct and iterative systems, and sparse iterative eigenvalue problems. Please let us know about updates and corrections.
A survey of Iterative Linear System Solver Packages can be found at:
http://www.netlib.org/utk/papers/iterative-survey/
Thanks,
Jack and
Ahmad
SUPPORT ROUTINES License Support Type Language Mode Dense Sparse             Last release date
      Real Complex F77/ F95 C C++ Shared Accel. Dist          
Armadillo Mozilla yes X X     X X     X       2015-05-24
ATLAS BSD like yes X X X X   X     X       2014-07-10
BLAS PD yes X X X X   X     X       2013-11-01
BLIS New BSD yes X X X X   X     X       2014-10-23
Blitz++ LGPLv3+ yes X X     X X     X       2012-07-04
clMath Apache yes X X   X X X O   X       2013-04-02
KBLAS BSD yes X X   X X X C   X       2015-01-20
librsb LGPLv3 yes X X X X X X       X     2015-05-02
LINALG * ? ?                         n/a
MR3-SMP New BSD yes X X X X   X     X       2013-06-24
MTL Own yes X       X X     X       2014-05-22
NEWMAT Own yes X       X X     X       2008-11-20
NIST Sparse BLAS PD yes X X   X X X       X     2009-04-27
OpenBLAS BSD yes X X X X   X     X       2015-03-24
PMRRR New BSD yes X X X X   X     X       2014-02-23
pOSKI BSD yes X X X X X X       X     2012-04-27
PSBLAS BSD yes X X F90     X   M   X     2015-04-18
Scotch CeCILL-C yes     X X   X   M   X     2012-12-02
SparseLib++ PD yes X X   X X X       X     2008-10-30
Trilinos/Epetra BSD yes X   X X X X   M X       2015-05-07
Trilinos/Kokkos BSD yes X X     X X     X       2015-05-07
Trilinos/Teuchos BSD yes X X     X X   M X       2015-05-07
Trilinos/Tpetra BSD yes X X     X X   M X       2015-05-07
uBLAS Boost yes X X   X X X     X               2015-04-17
LINALG *: This is a collection of software that is available but too varied to describe.
DIRECT SOLVERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue Last release date
      Real Complex F77/ F95 C C++ Shared Accel. Dist   SPD SI Gen SPD Gen Sym Gen  
Chameleon CeCILL-C See authors X X   X   X C M X               2014-04-15
DPLASMA BSD yes X X   X   X C M X               2014-04-14
Eigen Mozilla yes X X     X X     X X   X X X     2015-01-21
Elemental New BSD yes X X     X     M X X X X         2014-11-08
ELPA LGPL yes X X F90 X   X   M X               2015-05-29
FLENS BSD yes X X     X X     X               2014-05-11
hmat-oss GPL yes X X X X X X     X     X         2015-03-10
LAPACK BSD yes X X X X   X     X               2013-11-26
LAPACK95 BSD yes X X X     X     X               2000-11-30
libflame New BSD yes X X X X   X     X               2014-03-18
MAGMA BSD yes X X X X   X C/O/X   X       X X X   2015-05-05
NAPACK BSD yes X   X     X     X       X   X   ?
PLAPACK LGPL yes X X X X       M X               2007-06-12
PLASMA BSD yes X X X X   X     X               2015-04-27
rejtrix by-nc-sa yes X       X X     X       P P     2013-10-01
ScaLAPACK BSD yes X X X X       M/P X               2012-05-01
Trilinos/Pliris BSD yes X X   X X     M X               2015-05-07
ViennaCL MIT yes X       X X C/O/X   X       X X X X 2014-12-11
SPARSE DIRECT SOLVERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue Last release date
      Real Complex F77/ F95 C C++ Shared Accel. Dist   SPD SI Gen SPD Gen Sym Gen  
DSCPACK PD yes X     X   X   M   X             ?
KKTDirect PD yes X     X X X       LDLT             2010-04-21
MUMPS CeCILL-C yes X X X X   X   M   X X X         2015-02-20
PaStiX CeCILL-C yes X X X X X X C M   X X X X X     2014-12-18
PSPASES  Own yes X   X X       M   X             1999-05-09
QR-MUMPS LGPL yes X X X X   X           X         2012-08-01
Quern PD yes X     X X X           X   X     2009-02-04
SPARSE Own ? X X   X   X       X   X         1988-04-01
SPOOLES PD ? X X   X   X   M       X   X     1999-04-08
SPRAL New BSD yes X X X X   X C     X X       X   2015-04-20
SuiteSparse LGPL yes X X   X   X C     X   X         2015-03-24
SuperLU Own yes X X X X   X C M       X         2015-05-01
TAUCS Own yes X X   X   X       X   X X X     2003-09-04
Trilinos/Amesos LGPL yes X     X X X   M   X   X         2015-05-07
Trilinos/Amesos2 BSD yes X X     X X   M   X   X         2015-05-07
Y12M ? yes X   X     X       X   X         ?
PRECONDITIONERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue Last release date
      Real Complex F77/ F95 C C++ Shared Accel. Dist   SPD SI Gen SPD Gen Sym Gen  
BPKIT LGPL yes X   X X X X   M                 2013-03-11
MLD2P4 BSD yes X X F90     X   M                 2011-03-10
MSPAI LGPL yes X X     X X   M                 2009-09-17
Trilinos/IFPACK BSD yes X       X X   M                 2015-05-07
Trilinos/IFPACK2 BSD yes X X     X X   M                 2015-05-07
Trilinos/ML LGPL yes X     X X X   M                 2015-05-07
Trilinos/MueLu BSD yes X X     X X   M                 2015-05-07
Trilinos/Teko BSD yes X X     X X   M                 2015-05-07
SPARSE ITERATIVE SOLVERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue Last release date
      Real Complex F77/ F95 C C++ Shared Accel. Dist   SPD SI Gen SPD Gen Sym Gen  
BDDCML LGPL yes X   X     X   M         X X     2014-03-12
BILUM Own yes X   X     X             X X     1998-03-18
BlockSolve95 Own ? X   X X X     M         X X     1997-07-08
CERFACS ? yes X X X     X             X X     2007-07-01
DUNE / ISTL GPL yes X X     X X   M         X X     2014-12-18
GMM++ LGPL yes X X     X X       X   X X X     2014-08-21
HIPS CeCILL-C yes X X X X X X   M         X X     2010-10-13
HYPRE LGPL yes X   X X   X   M         P P P   2015-01-22
IML++ PD ? X       X X             X X     1995-01-05
ITL Own yes X       X X             X X     2001-10-26
ITPACK PD ? X   X     X             X X     1989-05-01
ITSOL GPL yes X   X     X               X     2012-10-25
Lis BSD yes X   X X   X   M         P P P P 2015-05-14
PARALUTION GPL yes X       X X C/O           X X     2015-02-27
pARMS LGPL yes X   X X   X   M         X X     2011-01-14
PETSc Own yes X X X X   X C/O M         P P     2015-01-31
PIM Own yes X X X     X   M         X X     2003-06-20
QMRPACK (tar.gz) Own ? X X X     X             X X X X 1996-04-15
SLAP PD ? X   X                   X X     1998-07-21
SOL CPL or BSD yes X   X X   X             X X     2015-05-14
SPARSKIT LGPL yes X   X     X               X     2009-11-18
SPLIB (tar.gz) Own ? X   X     X             X X     1999-04-01
Templates BSD yes X   X X   X             X X     1998-07-21
Trilinos/AztecOO BSD yes X   X X X X   M         X X     2015-05-07
Trilinos/Belos BSD yes X X     X X   M         X X     2015-05-07
Trilinos/Komplex BSD yes   X   X X X   M         X X     2015-05-07
SPARSE EIGENVALUE SOLVERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue Last release date
      Real Complex F77/ F95 C C++ Shared Accel. Dist   SPD SI Gen SPD Gen Sym Gen  
ARPACK BSD yes X X X X X X   M/P             X X 2002-09-18
BLOPEX  LGPL yes X X   X   X   M             P   2015-03-29
FEAST BSD yes X X X X   X   M             X X 2015-06-17
FILTLAN LGPL yes       X X X                 X   2012-05-07
LASO PD ? X   X     X                 X   1983-06-01
PRIMME LGPL yes X X   X   X   M/P             X   2014-12-24
PROPACK BSD yes X X X                         SVD 2005-04-20
SLEPc LGPL yes X X X X   X   M             X X 2014-12-14
Trilinos/Anasazi LGPL yes X X     X X   M             P P 2015-05-07
TRLan Own yes X X F90 X   X   M             X   2010-10-10
Free for academic use only (not open source) License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue Last release date
      Real Complex F77/ F95 C C++ Shared Accel. Dist   SPD SI Gen SPD Gen Sym Gen  
AGMG Own yes X X F90     X   M         X X     2014-03-11
HSL Own yes X X X X   X   M   X   X X X X X 2015-05-15
No longer available License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue Last release date
      Real Complex F77/ F95 C C++ Shared Accel. Dist   SPD SI Gen SPD Gen Sym Gen  
SPAI ? yes X     X   X   M                 ---
PRISM ? no X   X     X   M X               ?
LASPack (see netlib) ? ? X     X   X             X X     1996-01-17
Notes:
     Type:
          Real = Real arithmetic
          Complex = Complex arithmetic
     Support: Contact information for where you can send questions and bug reports.
     Language: F77/F95, C, C++
     Mode:
          Shared = shared memory, sequential, vector or SMP/multithreaded versions
          Dist = distributed memory message passing (M = MPI, P = PVM)
          Accel. = GPU or Accelerator (C=CUDA, O=OpenCL, X=Intel Xeon Phi)
     Dense: Dense, triangular, banded, tridiagonal matrices
     Sparse: A sparse matrix representation is used to contain the data.
          Direct: A direct approach is used to factor and solve the system.
               SI: The matrix is symmetric indefinite
               SPD: The matrix is symmetric and positive definite
               Gen: The matrix is general
          Iterative: An iterative method is used to solve the system.
               SPD: The matrix is symmetric and positive definite
               Gen: The matrix is general
               P indicates preconditioners
     Sparse eigenvalue: An iterative method is used to find some of the eigenvalues
          Sym: The matrix is symmetric (Hermitian in the complex case)
          Gen: The matrix is general
8/4/2015 4:08:35 PM