[SciPy-User] scipy 64bit cannot handle very large matrix (integer overflow)
Tue Jan 29 18:44:41 CST 2013
On 01/29/2013 12:51 PM, Pauli Virtanen wrote:
> 29.01.2013 19:46, Pauli Virtanen kirjoitti:
>> 29.01.2013 05:47, ICool kirjoitti:
>>> I am using arpack package for a eigen problem. The matrix is very
>>> sparse but also very big. The dimension is even out of the UINT32
>>> range. I use shift-invert to find the minimal eigenvals and associated
>>> eigenvalues. The code crashes and returns the follow error message:
>>> I found that '1434729898' is a UINT32 number overflowed
>>> from '5729697194'. Looking at the code, it seems that the error is from
>>> the Fortran function 'gmresrevcom', where it is still using 32-bit
>>> integer as the input parameter. I am using 64bit python. Why is the
>>> Fortran function 32bit? Will it be a general issue for other Fortran
>>> functions? Is there anyway to fix it?
>> Fortran integers are usually 32-bit. Fixing this issue would then
>> require changes in the Fortran code.
> You can file an enhancement request here for this:
> However, I'm not promising to work on this in the near future, so unless
> you want to tackle this yourself, it may take time before someone
> volunteers to fix it.
> I'm not fully sure how this is best fixed --- probably needs to use a
> custom kind for the integer types, and it should be determined on
> compile time whether the correct width is 4 or 8.
Isn't this usually some kind of compile option like "-i8" ??
More information about the SciPy-User