assigning to matrix elements in NumPy

Fernando Perez fperez528 at yahoo.com
Wed Mar 12 00:23:06 EST 2003


Blair Hall wrote:

> I have just upgraded from NumPy 21 to NumPy 23 and was
> surprised to find that my matrix assignment doesn't work like it
> used to.
> 
> For example:
> 
>>>> from Matrix import *
>>>> m = Matrix( [[1,2],[3,4]])
>>>> m[1,1]
> 4
>>>> m[1,1] = 2
> Traceback (most recent call last):
>   File "<interactive input>", line 1, in ?
>   File "C:\PYTHON22\lib\site-packages\Numeric\Matrix.py", line 183, in
> __setitem__
>     value = value[0,0]
> IndexError: invalid index
>>>>
> 
> Apparently, I should have written
>>>> m[1,1] = Matrix( 2 )
> 
> Is this really indended, or am I confused?

Just to provide you with a reference point, the above code produces the same
error under Numpy 22.0.  Now, I've never used the Matrix class, only
regular arrays, so I can't say what the rationale is.  But that behavior
definitely looks most bizarre and counter-intuitive to me.  

You should ask in the numpy mailing list.

Cheers,

f.




More information about the Python-list mailing list