[Numpy-discussion] New Operators in Python
Zachary Pincus
zpincus at stanford.edu
Mon Mar 26 05:56:06 EDT 2007
Hi folks,
Sorry to rain on this parade, but unicode variable names and/or other
syntactic elements have already been rejected for Python 3:
http://www.python.org/dev/peps/pep-3099/
> Python 3000 source code won't use non-ASCII Unicode characters for
> anything except string literals or comments.
To tell the truth, in my code (for an n=1 example), I use elementwise
(or broadcasted) multiplication about an order of magnitude more than
matrix multiplication. Now, there's plenty of linear algebra in my
work, but it's usually boxed off enough from the rest that converting
everything to matrices, or using the 'dot' function (etc.), is just
fine.
Personally, I even prefer the current way that numpy does things --
I've always *really* disliked matlab's special syntax for elementwise
multiplication. Now, clearly there are cases where this is handy, but
at least in looking over my code, I find that those cases are quite
rare, really.
So, in large part, I really don't feel a strong need for new
operators in numpy. (And in the rest of python too! The @ decorator
pie-syntax is quite enough for line-noise characters, in my personal
opinion. And I think that python-dev pretty well agrees too, based on
the raging flame wars about adding even that.)
Now, this is of course just my single opinion, but folks should
recall that even C++, which rarely met a feature that it didn't like,
drew the line at adding extra syntactic operators to the language
that existed only to be overridden/implemented by users. (Which is
precisely what's being proposed here.)
Anyhow, feel free to disagree with me -- I'm no expert here. I'm only
mentioning this as a public service to make it clear that most of
what's being proposed in this thread is, for better or worse, 100%
dead-in-the-water for Python 3, and the rest will have a fairly
significant uphill battle.
Zach
On Mar 26, 2007, at 2:42 AM, dmitrey wrote:
> The unicode keyboards sailing everywhere is just a matter of time
> And python 2-symbol operators soon will look obsolete, this will
> increase migrating from python to Sun fortress etc. I took a look at
> their unicode syntax for math formulas
> http://research.sun.com/projects/plrg/faq/NAS-CG.pdf
> it looks (vs Python) (or even MATLAB) like Pentium 4 vs Intel 386
> processors.
> It just allows copy-paste from articles of many formulas, including
> "ro", 'beta' and other non-ascii symbols
> Also, implementing unicode will allow separate operators for (for
> example) MATLAB cross() equivalent (vector multiplication of vectors).
> WBR, D.
>
> René Bastian wrote:
>> Hello,
>>
>> I am interest both in numarray type multiplication and matrix type
>> multiplication.
>>
>> But I am not shure that I can buy an Unicode keyboard.
>>
>> May be it would be possible to implement a class with
>> user "definissable" (?) signs.
>>
>> My choice :
>>
>> a * b -> numarray type multi
>> a !* b -> matrix
>>
>>
>>
>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
More information about the NumPy-Discussion
mailing list