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

Nico Schlömer nico.schloemer@gmail....
Wed Oct 13 16:41:52 CDT 2010


Indeed.

   gramVBV = sla.inv( gramVBV, overwrite_a = True )

has the code run fine on all machines now (for the identity matrix
that is). Will do more tests and report back.

Cheers,
Nico



On Wed, Oct 13, 2010 at 11:34 PM, Pauli Virtanen <pav@iki.fi> wrote:
> 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
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>


More information about the SciPy-User mailing list