[SciPy-user] Sparse factorisation

Gael Varoquaux gael.varoquaux@normalesup....
Thu Apr 30 08:56:19 CDT 2009


Hi there,

This is a rather general question about sparse factorisation and Scipy. I
no nothing about sparse linear algebra, but I happen to need to do a
sparse Cholesky. 

By sparse Cholesky, I don't mean a sparse implementation of Cholesky, my
matrices are small, I don't actually care about sparse linear algebra,
but I mean finding P, permutation matrix, and L, lower-only matrix, such
that the sparse positive definite matrix A can be written: 
	A = P L L' P',
where P is a reordering of the rows and column of A used to maximise the
sparsity of L. 

What is really of interest to me is P. P can be computed using the colamd
routine, present in UMFPACK. Scipy sparse does make use of the colamd
routine (by setting the permc_spec argument of scipy.sparse.splu to 3).
However, I cannot figure out a way of extracting P.

I have been looking around in the sparse code source, as well as the
scikits.umfpack code source, and I must admit I am a bit at loss to what
is the best way to achieve my goals. The umfpack.py module, both in the
scipy code base and in the scikit, is broken. Scipy seems to hint that it
is depreciated, but nothing replaces it to provide the functionality I
want. In addition, the tests of the scikit don't run with the svn
versions of numpy and scipy. So I am wondering, in what direction is all
this going. Where should I invest my efforts to get things working, and
get my 'P' in a reasonnably short amount of time? Any help much
appreciated, as I am no pro of these problems. By the way, progress on
this issue could close ticket 261:
http://projects.scipy.org/scipy/ticket/261

Cheers,

Gaël


More information about the SciPy-user mailing list