[SciPy-dev] New Operators in Python

Travis Oliphant oliphant at ee.byu.edu
Fri Mar 23 20:02:57 EDT 2007


Every so often the idea of new operators comes up because of the need to 
do both "matrix-multiplication" and element-by-element multiplication.

I think this is one area where the current Python approach is not as 
nice because we have a limited set of operators to work with.

One thing I wonder is if we are being vocal enough with the Python 3000 
crowd to try and get additional operators into the language itself.

What if we could get a few new operators into the language to help us.   
If we don't ask for it, it certainly won't happen. 

My experience is that the difficulty of using the '*' operator for both 
matrix multiplication and element-by-element multiplication depending on 
the class of the object is not especially robust.  It makes it harder to 
write generic code, and we still haven't gotten everything completely 
right.

It is somewhat workable as it stands, but I think it would be nicer if 
we could have some "meta" operator that allowed an alternative 
definition of major operators.   Something like @*  for example (just 
picking a character that is already used for decorators).

I wonder if we should propose such a thing for Python 3000.

-Travis




More information about the SciPy-Dev mailing list