[SciPy-User] Ax = b for symmetric positive definite matrix

Dag Sverre Seljebotn dagss@student.matnat.uio...
Wed Dec 8 07:47:57 CST 2010


On 12/08/2010 02:38 PM, Mathieu Blondel wrote:
> Hi everyone,
>
> I want to solve equations of the form Ax = b or Ax = B where A is a
> dense symmetric positive definite matrix. I want to be able to support
> potentially large A so I find it convenient to store A as a 1d-vector
> containing the upper part of the matrix only. It's easy to convert
> this 1d representation to a 2d-representation, and vice-versa.
>
> I believe functions like linalg.solve (when passed sym_pos=True) and
> linalg.cholesky would benefit from accepting 1d-arrays of this kind.
>
> Is there a memory efficient way of solving my equations for a large A?
>    

Perhaps not the answer you're looking for, but:

It is not supported in SciPy yet, but if you want to play with calling 
LAPACK directly, this is supported through sppsv/dppsv/cppsv/zppsv. For 
instance you could modify the scipy/linalg/*.pyf files to include the 
function, rebuild SciPy. Or, search for "tokyo cython lapack" and play 
with that.

http://www.netlib.org/lapack/double/dppsv.f

Dag Sverre


More information about the SciPy-User mailing list