[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 
>important.]
>
>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.

-Travis




More information about the Scipy-dev mailing list