2010-02-27 11 views
7

Quali sono alcune delle migliori librerie per la risoluzione di sistemi algebrici lineari spettrali (coniugato con gradiente, MINRES, GMRES, ecc.)? Ho spesso codificato le mie routine, ma sono interessato a sapere quali pacchetti "pronti all'uso" preferiscono. Ho sentito parlare di PETSc, TAUCS, IML ++ e pochi altri. Mi chiedo come si accumulano queste cose, e che altro c'è là fuori. La mia preferenza è per facilità d'uso e software liberamente disponibile.Librerie di file solver sparse generali

risposta

0

Vorrei controllare Microsoft Solver Foundation. È gratis a basso costo anche per problemi piuttosto grandi. La versione illimitata è la forza industriale e si basa su Gurobi e, naturalmente, non è economica.

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

+1

Dal tuo collegamento, sembra che Microsoft Solver Foundation sia una libreria di ottimizzazione lineare e non lineare, che è collegata all'algebra lineare numerica, ma non è lo strumento giusto per risolvere il sistema lineare 'Ax = b' per il vettore' x 'dati una matrice sparsa' A' e il vettore 'b'. – las3rjock

4

Si può anche desiderare di guardare Trilinos http://trilinos.sandia.gov/

È stato progettato da alcuni grande artigiano del software, utilizzando moderne tecniche di progettazione .

Inoltre, all'interno di Trilinos, puoi chiamare PetsC se lo desideri.

2

NIST ha qualche rada software algebra lineare è possibile scaricare qui: http://math.nist.gov/sparselib++/ e qui: http://math.nist.gov/spblas/

Non ho usato quei pacchetti me stesso, ma ho sentito parlare bene di loro.

+2

SparseLib ++ è solo una libreria di classi di matrice sparse. La libreria del risolutore iterativa pertinente è IML ++ (http://math.nist.gov/iml++/), che è stata menzionata nella domanda. – las3rjock

2

http://www.cise.ufl.edu/research/sparse/umfpack/

UMFPACK è un insieme di routine per risolvere simmetriche sparse lineari sistemi, Ax = b, utilizzando il metodo multifrontale unsymmetric . Scritto in ANSI/ISO C, con un'interfaccia MATLAB (versione 6.0 e successive). Viene visualizzato come routine integrata (per lu, barra rovesciata, e barra diretta) in MATLAB. Include un'interfaccia MATLAB, un'interfaccia C-callable e un'interfaccia Fortran-callable. Si noti che "UMFPACK" è pronunciato in due sillabe, "Umph Pack". Non è "You Em Ef Pack".

Lo sto usando per il codice FEM.

+2

Grazie, anche se credo che UMFPACK sia un risolutore diretto (non un risolutore iterativo). – batty

+0

Punto eccellente. – ccook