[SciPy-dev] simple UMFPACK wrapper added

Robert Cimrman cimrman3 at ntc.zcu.cz
Tue Dec 6 08:25:59 EST 2005


I just added a simple swig-generated wrapper of UMFPACK sparse linear 
solver to the SciPy sandbox. It is very small and does not depend on any 
other package except scipy.base and scipy.sparse. Below you can find its 
performance compared with the current SuperLU-based implementation 
(scipy.sparse.solve()) on matrices corresponding to the Poisson equation 
(e.g. temperature distribution). The test script is included in the 
sandbox, too.

The brave and interested  can test it, but first you will have to edit 
the setup.py (a very basic one, needs scipyfication), since the paths to 
umfpack and scipy are hardcoded.

Awaiting your feedback,
r.

**************************************************
url: mtxAA
file: mtxAA
format: triplet
reading...
ok
size              : (240, 240) (2682 nnz)
umfpack           : 0.00 s
||Ax-b||          : 5.25488472447e-17
||x - x_{exact}|| : 2.10942374679e-15
Use minimum degree ordering on A'+A.
sparse.solve      : 0.01 s
||Ax-b||          : 1.04615897916e-16
||x - x_{exact}|| : 4.44366678924e-15
**************************************************
url: mtxBB
file: mtxBB
format: triplet
reading...
ok
size              : (2706, 2706) (34664 nnz)
umfpack           : 0.12 s
||Ax-b||          : 1.3700207406e-13
||x - x_{exact}|| : 1.75496026659e-14
Use minimum degree ordering on A'+A.
sparse.solve      : 1.18 s
||Ax-b||          : 3.5072700769e-13
||x - x_{exact}|| : 7.46831110403e-14
**************************************************
url: mtxCC
file: mtxCC
format: triplet
reading...
ok
size              : (33718, 33718) (482570 nnz)
umfpack           : 36.68 s
||Ax-b||          : 3.17661662319e-15
||x - x_{exact}|| : 4.91723530478e-14
Use minimum degree ordering on A'+A.
Can't expand MemType 0: jcol 26067
       -> SIGSEGV after about 1 hour (on 2 GB RAM).
sparse.solve      : infinity




More information about the SciPy-Dev mailing list