[SciPy-User] scipy.sparse.linalg.lobpcg broken?

Pauli Virtanen pav@iki...
Wed Oct 13 16:34:26 CDT 2010


Wed, 13 Oct 2010 22:57:49 +0200, Nico Schlömer wrote:
> Bisection action yields:
> 
> Line 131ff:
> 
>     print 'gramVBV', gramVBV
>     sla.inv( gramVBV, overwrite_a = True )
>     print 'gramVBV', gramVBV

Well spotted, that piece of code is wrong.

overwrite_a=True in general does not guarantee that the output is 
overwritten, it just gives the routine the possibility to do so if 
possible.

For example, if the input matrix is in C-order but your system has only 
Fortran-lapack available (or vice versa), a copy is made. I think this 
may be the difference in your case between the different machines.

(Of course, for the inverse you could just invert the transpose, and 
transpose after inverse, but the routine here is not smart enough to 
check for that possibility.)

-- 
Pauli Virtanen



More information about the SciPy-User mailing list