[SciPy-user] Using umfpack to calculate a incomplete LU factorisation (ILU)

Neilen Marais nmarais at sun.ac.za
Tue Mar 6 14:34:14 EST 2007


I'm trying to get an incomplete LU factorisation of a sparse matrix using
scipy.linsolve.splu. It's using umfpack as far as I can tell. I'm telling
it to drop elements using the drop_tol keyword argument, though it seems
to be having no effect:

In [135]: splu(A, drop_tol=1.0).nnz
Use minimum degree ordering on A'+A.
Out[135]: 6894814

In [136]: splu(A, drop_tol=0.00001).nnz
Use minimum degree ordering on A'+A.
Out[136]: 6894814

In [137]: splu(A, drop_tol=1000).nnz
Use minimum degree ordering on A'+A.
Out[137]: 6894814

In [138]: splu(A, drop_tol=10000000000.).nnz
Use minimum degree ordering on A'+A.
Out[138]: 6894814

In [139]: splu(A, drop_tol=100000000000000000000000.).nnz
Use minimum degree ordering on A'+A.
Out[139]: 6894814

In [140]: splu(A, drop_tol=0.000000000000000001).nnz
Use minimum degree ordering on A'+A.
Out[140]: 6894814

Am I doing or understanding something worng? I'm using a recent SVN build:

In [19]: scipy.version.version
Out[20]: '0.5.3.dev2827'

Any help, or pointers to better routines better suited to ILU generation
welcomed!

Thanks
Neilen

-- 
you know its kind of tragic 
we live in the new world
but we've lost the magic
-- Battery 9 (www.battery9.co.za)




More information about the SciPy-User mailing list