[SciPy-user] Bug in io.mmread

Pearu Peterson pearu at scipy.org
Tue Nov 9 04:39:52 EST 2004



On Mon, 8 Nov 2004, Pearu Peterson wrote:

>
> On Mon, 8 Nov 2004, Nils Wagner wrote:
>
>> Hi all,
>> 
>> I have some trouble when using mmread; k0.mtx is large and sparse matrix.
>> 
>> %%MatrixMarket matrix coordinate real general
>> % Generated 08-Nov-2004
>> 67986 67986 4222171
>> ...
>> 
>> Traceback (most recent call last):
>> File "test1.py", line 4, in ?
>>   ma = io.mmread('k0.mtx')
>> File "/usr/lib/python2.3/site-packages/scipy/io/mmio.py", line 208, in 
>> mmread
>>   a = coo_matrix(data,(row,col),M=rows,N=cols)
>> File "/usr/lib/python2.3/site-packages/scipy/sparse/Sparse.py", line 1366, 
>> in __init__
>>   self._check()
>> File "/usr/lib/python2.3/site-packages/scipy/sparse/Sparse.py", line 1376, 
>> in _check
>>   self.ftype = _transtabl[self.typecode]
>> KeyError: 'O'
>>>>> 
>> 
>> Any pointer would be appreciated.
>
> I suspect that k0.mtx contains only integer values (some maybe larger that 
> sys.maxint) and so asarray(data) returns array object with typecode=='O'. 
> Could you send the file k0.mtx to me (don't send large files to the list) and 
> I'll see if I can workaround this problem.

Thanks for sending the file. It contains a line

   34362 34362  559000591904384

where 559000591904384 in python evaluates to 559000591904384L and
asarray returned an array with typecode=='O' as a result.

This issue is now fixed in scipy CVS.

Pearu




More information about the SciPy-User mailing list