[PYTHON MATRIX-SIG] Matrix multiplies and syntactic nits

James Hugunin jjh@mama-bear.lcs.mit.edu
Mon, 13 Nov 95 15:05:10 -0500

I'm working on putting out the 0.2 version of my matrix object, and I'm  
having a surprisingly hard time resolving some very silly naming issues.

1) There is a single python file currently called Matrix.py which imports  
everything you could ever want for basic functions on matrix objects.  This  
module has a similar role as Tkinter does in the Tk module system.  It  
defines functions and a number of useful constants.  Should I rename this  
module to Mx.py, or something similar so that people will be more inclined  
to use "import Mx" rather than "from Matrix import *" (which is what I use  
all the time).  This idea comes directly from Tkinter related discussions on  
the main list.

2) I have two possible ways to implement matrix multiplies:

a) a % b

I personally never need the modulo operator for matrices, and it does have  
enough of a resemblence to X to be reasonably mnemonic.  However, this  
breaks the current conceptual elegance of the system where every operator  
works on matrices (more or less) exactly the way it works on python scalars.

b) a.matrixMultiply(b)

This is the obvious solution, however it does make matrix equations  
extremely ugly to type.  Possibly an abbreviation is called for in this  
particular case?

Any opinions?

Note: There seem to be enough people with very reasonable objections to the  
idea of controlling "*" with a global variable that I don't consider this  
one of the possible solutions.

3) String representations of matrices

I'm not talking about the normally printed representation here, that's a  
major issue, not a nit.  I'm trying to decide between two string  
representations and again I just wanted some feedback.

The following are 2x3 matrices of integers.

a) Matrix_i((1,2,3),(4,5,6))

b) matrix([[1,2,3],[4,5,6]], 'i')

Opinions on which you should get with str(M)?

Thanks for the feedback - Jim

MATRIX-SIG  - SIG on Matrix Math for Python

send messages to: matrix-sig@python.org
administrivia to: matrix-sig-request@python.org