[Numpy-discussion] Matlab is a tool for doing numerical computations with matrices and vectors.

Travis Oliphant oliphant at ee.byu.edu
Thu Mar 10 15:16:27 CST 2005


>> I remember his work. I really liked many of his suggestions, though 
>> it took him a while to recognize that a Matrix class has been 
>> distributed with Numeric from very early on. 
>
>
> numpy.pdf dated 03-07-18 has
>
>    "For those users, the Matrix class provides a more intuitive
>    interface. We defer discussion of the Matrix class until later."
>
[snip]

> On the same page there is:
>
>    "Matrix.py
>    The Matrix.py python module defines a class Matrix which is a
>    subclass of UserArray. The only differences
>    between Matrix instances and UserArray instances is that the *
>    operator on Matrix performs a
>    matrix multiplication, as opposed to element-wise multiplication,
>    and that the power operator ** is disallowed
>    for Matrix instances."
>
> In view of the above, I can understand why Huaiyu Zhu took a while. 
> His proposal was much more ambitious.

There is always a lag between documentation and implementation.    I 
would be interested to understand what "more ambitious" elements are 
still not in Numeric's Matrix object (besides the addition of a language 
operator of course). 

>
> Yes, I know that the power operator is implemented and that there is a 
> random matrix but I hope that some attention is given to the 
> functionality PyMatrix. I recognize that the implementation has some 
> weakneses.

Which aspects are you most interested in?    I would be happy if you 
would consider placing something like PyMatrix under scipy_core instead 
of developing it separately.

>
>> Yes, it needed work, and a few of his ideas were picked up on and 
>> included in Numeric's Matrix object.
>
>
> I suggest that this overstates what was picked up.

I disagree.  I was the one who picked them up and I spent a bit of time 
doing it.  I implemented the power method, the ability to build matrices 
in blocks, the string processing for building matrices, and a lot of the 
special attribute names for transpose, hermitian transpose, and so forth.  

There may be some attributes that weren't picked up, and a discussion of 
which attributes are most important is warranted.

>
> Good, on both scores. I hope that the PEP will set out these ideas.

You are probably in a better position time-wise to outline what you 
think belongs in a Matrix class.  I look forward to borrowing your ideas 
for inclusion in scipy_core.

-Travis





More information about the Numpy-discussion mailing list