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

Colin J. Williams cjw at sympatico.ca
Thu Mar 10 17:54:20 CST 2005


Travis Oliphant wrote:

>
>>> 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, after the dust of the current activity settles, I would certainly 
be interested in exploring this although I would see a closer 
association with Numeric3 than with scipy.

>
>>
>>> 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.

My thoughts are largely in the current implementation of PyMatrix.  
Below is an extract from the most recent announcement.

I propose to explore the changes needed to use Numeric3 with the new 
ufuncs.  Do you have any feel for when Alpha binary versions will likely 
be available?

Colin W.

------------------------------------------------------------------------
Downloads in the form of a Windows Installer (Inno) and a zip file are 
available at:

   http://www3.sympatico.ca/cjw/PyMatrix


An /Introduction to PyMatrix/ is available:

   http://www3.sympatico.ca/cjw/PyMatrix/IntroToPyMatrix.pdf


Information on the functions and methods of the matrix module is given at:

   http://www3.sympatico.ca/cjw/PyMatrix/Doc/matrix-summary.html




More information about the Numpy-discussion mailing list