Freely Available Software for Linear Algebra (September 2011)
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 me know about updates and corrections.
Additional pointers to software can be found at:
http://www.nhse.org/rib/repositories/nhse/catalog/#Numerical_Programs_and_Routines 
A survey of Iterative Linear System Solver Packages can be found at:
http://www.netlib.org/utk/papers/iterative-survey/
Thanks,
Jack and
Mark
SUPPORT ROUTINES License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue
      Real Complex F77 C C++ Seq Dist   SPD Gen SPD Gen Sym Gen
ATLAS BSD like yes X X X X   X   X            
BLAS PD yes X X X X   X   X            
Blitz++ GPL yes X X     X X   X            
FLAME LGPL yes X X X X   X   X            
LINALG * ?                              
MTL OSI yes X       X X   X            
NEWMAT Own yes X       X X   X            
NIST S-BLAS ? yes X X X X   X                
Scotch CeCILL-C yes     X X   X M   X X X X    
SparseLib++ ? yes X X   X X X                
Trilinos/Epetra BSD yes X   X X X X M X            
Trilinos/Tpetra BSD yes X X     X X M X            
Trilinos/Kokkos BSD yes X X     X X   X            
Trilinos/Teuchos BSD yes X X     X X M X            
uBLAS Own yes X X   X X X   X            
                                 
DIRECT SOLVERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue
      Real Complex F77 C C++ Seq Dist   SPD Gen SPD Gen Sym Gen
Eigen LGPL yes X X     X X   X X X        
Elemental BSD yes X X     X   M X            
FLAME LGPL yes X X X X   X   X            
FLENS BSD yes X X     X X   X            
LAPACK BSD yes X X X X   X   X            
LAPACK95 BSD yes X X F95     X   X            
MAGMA BSD yes X X X X   X                
NAPACK BSD yes X   X     X   X     X   X  
PLAPACK ? no X X X X     M X            
PLASMA BSD yes X X X X   X   X            
PRISM ? no X   X     X M X            
rejtrix by-nc-sa yes X       X X   X     P P    
ScaLAPACK BSD yes X X X X     M/P X            
Trilinos/Pliris BSD yes X X   X X   M X            
ViennaCL MIT yes X       X X   X     X X    
                                 
SPARSE DIRECT SOLVERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue
      Real Complex F77 C C++ Seq Dist   SPD Gen SPD Gen Sym Gen
CHOLMOD LGPL yes X X   X   X     X          
DSCPACK ? yes X     X   X M   X          
HSL Own yes X X X     X     X X X X X X
KKTDirect PD yes X     X X X     LDLT          
MUMPS PD yes X X X X   X M   X X        
PSPASES  Own yes X   X X     M   X          
Quern PD yes X     X X X       X   X    
SPARSE Own ? X X   X   X     X X        
SPOOLES PD ? X X   X   X M     X   X    
SuperLU Own yes X X X X   X M     X        
TAUCS Own yes X X   X   X     X X X X    
Trilinos/Amesos LGPL yes X     X X X M   X X        
Trilinos/Amesos2 BSD yes X X     X X M   X X        
UMFPACK GPL yes X X   X   X       X        
Y12M ? yes X   X     X     X X        
                                 
PRECONDITIONERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue
      Real Complex F77 C C++ Seq Dist   SPD Gen SPD Gen Sym Gen
BPKIT LGPL yes X   X X X X M              
MLD2P4 BSD yes X X F90     X M       X X    
MSPAI LGPL yes X X     X X M              
SPAI ? yes X     X   X M              
Trilinos/IFPACK LGPL yes X       X X M              
Trilinos/IFPACK2 LGPL yes X X     X X M              
Trilinos/ML LGPL yes X     X X X M              
Trilinos/Teko BSD yes X X     X X M              
                                 
SPARSE ITERATIVE SOLVERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue
      Real Complex F77 C C++ Seq Dist   SPD Gen SPD Gen Sym Gen
AGMG GPL ? X X F90     X M       X X    
BILUM ? no X   X     X         X X    
BlockSolve95 ? ? X   X X X   M       X X    
CERFACS ? yes X X X     X         X X    
DUNE / ISTL LGPL yes X X     X X M       X X    
GMM++ LGPL yes X X     X X     X X X X    
HIPS CeCILL-C yes X X X X X X M       X X    
HYPRE LGPL yes X   X X   X M       P P P  
IML++ ? ? X   X X X X         X X    
ITL Own yes X       X X         X X    
ITPACK PD ? X   X     X         X X    
ITSOL GPL yes X   X     X           X    
LASPack Own ? X     X   X         X X    
Lis BSD yes X   X X   X M       P P P P
LSQR CPL yes X   X X   X           X    
pARMS LGPL yes X   X X   X M       X X    
PETSc Own yes X X X X   X M       X X    
PIM Own yes X X X     X M       X X    
PSBLAS BSD yes X X F90     X M       X X    
QMRPACK (tar.gz) ? ? X X X     X         X X X X
SLAP PD ? X   X               X X    
SPARSKIT LGPL yes X   X     X           X    
SPLIB (tar.gz) ? ? X   X     X         X X    
SYMMLQ CPL yes X   X     X         X X    
Trilinos/AztecOO BSD yes X   X X X X M       X X    
Trilinos/Belos BSD yes X X     X X M       X X    
Trilinos/Komplex BSD yes   X   X X X M       X X    
Templates BSD yes X   X X   X         X X    
ViennaCL MIT yes X       X X   X     X X    
                                 
SPARSE EIGENVALUE SOLVERS License Support Type Language Mode Dense Sparse Direct Sparse Iterative Sparse Eigenvalue
      Real Complex F77 C C++ Seq Dist   SPD Gen SPD Gen Sym Gen
BLOPEX  LGPL yes X X   X   X M           X  
FEAST BSD yes X X X X   X             X  
LASO PD ? X   X     X             X  
PARPACK ? yes X X X X X X M/P           X X
PRIMME LGPL yes X X   X   X M/P           X  
PROPACK ? yes X X X                     SVD
SLEPc LGPL yes X X X X   X M           X X
Trilinos/Anasazi LGPL yes X X     X X M           X X
TRLan Own yes X X F90 X   X M           X  
LINALG *: This is a collection of software that is available but too varied to describe.
Notes:
     Type:
          Real = Real arithmetic
          Complex = Complex arithmetic
     Support: Contact information for where you can send questions and bug reports.
     Language: F77 (Fortran 95), C, C++
     Mode:
          Seq = Sequential, vector and/or SMP/multithreaded versions
          Dist = distributed memory message passing (M = MPI, P = PVM)
     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.
               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
10/8/2011 1:39:51 AM