views:

185

answers:

4

What are some of the better libraries for large sparse iterative (conjugate gradient, MINRES, GMRES, etc.) linear algebra system solving? I've often coded my own routines, but I'm interested to know which "off-the-shelf" packages people prefer. I've heard of PETSc, TAUCS, IML++, and a few others. I'm wondering how these stack up, and what else is out there. My preference is for ease of use, and freely available software.

A: 

I would check out Microsoft's Solver Foundation. It's free to cheap for even pretty big problems. The unlimited version is industrial strength and is based on Gurobi and of course isn't cheap.

http://code.msdn.microsoft.com/solverfoundation

Paul
From your link, it seems that Microsoft's Solver Foundation is a linear and nonlinear optimization library, which is connected to numerical linear algebra, but is not the right tool for solving the linear system `Ax = b` for the vector `x` given a sparse matrix `A` and the vector `b`.
las3rjock
+1  A: 

Victor Eijkhout's Overview of Iterative Linear System Solver Packages would probably be a good place to start.

las3rjock
+1  A: 

You may also wish to look at Trilinos http://trilinos.sandia.gov/

It is designed by some great software craftsman, using modern design techniques.

Moreover, from within Trilinos, you can call PetsC if you desire.

SplittingField
+1  A: 

NIST has some sparse Linear Algebra software you can download here: http://math.nist.gov/sparselib++/ and here: http://math.nist.gov/spblas/

I haven't used those packages myself, but I've heard good things about them.

Die in Sente
SparseLib++ is just a sparse matrix class library. The relevant iterative solver library is IML++ ( http://math.nist.gov/iml++/ ), which was mentioned in the question.
las3rjock