[SciPy-dev] problem with linalg.cholesky?

Travis Oliphant oliphant.travis at ieee.org
Fri Dec 2 09:56:45 CST 2005

Andrew Jaffe wrote:

>Hi All,
>OK, drilling down a bit further... The problem lies in the use of 
>scipy.transpose() in _castCopyAndTranspose, since transpose() makes a 
>contiguous, non-Fortran array into a non-contiguous fortran array (since 
>it appears that at present it doesn't copy, just makes a new view). One 
>solution is just to actually copy the array. The other function, 
>_fastCopyAndTranspose(), seems to work fine in this situation, but I'm 
>not sure how and why this differs from _castCopyAndTranspose (in 
>particular, it doesn't seem to set the Fortran flag).
>[However, the cholesky decomposition only makes sense for a symmetric 
>(or Hermitian) array, so, if we're not changing the type, for real 
>matrices really all we need to do is the cast and copy; for complex 
>matrices we need to transpose (not hermitian conjugate since we really 
>want to change the ordering), but this is equivalent to just taking the 
>complex conjugate of every element, which must be faster than copying. 
>If we are changing the type, I assume the speed difference isn't as 
>Any ideas on what the best change(s) would be?
The problem with making changes based on what's been posted so far is 
that the code works for other platforms.  If this is a problem with OS 
X, is this a problem for just your installation or does everybody else 
see it. 

I have not seen enough data to know.   One strong possibility is that 
the error is in the lapack_lite and most people are using the optimized 
lapack.  We should definitely check that direction.


More information about the Scipy-dev mailing list