[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 EST 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:


An /Introduction to PyMatrix/ is available:


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


More information about the NumPy-Discussion mailing list