[PYTHON MATRIX-SIG] Just checking in

Konrad Hinsen hinsen@ibs.ibs.fr
Thu, 29 Aug 96 16:05:01 +0100

> If you have any opinions on the whole naming conventions/default axis issue
> that has been recently discussed I'd like to hear them.  I still haven't
> found a proposal that I like better than my current version:
> All default axes are 0
> Functions like fft, sort, argmax, ... should generally be called with an
> explicit axis specification of -1.  ie. fft(wave, axis=-1).  This explicit
> axis specification is only necessary when working on 2 or more dimensional
> arrays.

I still think that a two-class system (structural functions with a
default axis of zero, others with a default of 1) is the better

But I mainly write to express dissatisfaction with the way dot() works
now. I have been doing some matrix work recently, and not being able
to use dot() for matrix multiplication is a real nuisance. I ended up
redefining dot() to be LinAlg._dot2, which is exactly the kind of
thing to be avoided.

So unless someone can give a good argument (preferably based on a
real-life application) that dot() should behave as it does now, I
propose that dot() should act along axis -1 of its first and axis 0 of
its second argument. This is the right choice for scalar products,
matrix-vector multiplication, and matrix-matrix multiplication.  I
think these are more frequent than list-of-vector scalar products.

Konrad Hinsen                          | E-Mail: hinsen@ibs.ibs.fr
Laboratoire de Dynamique Moleculaire   | Tel.: +33-
Institut de Biologie Structurale       | Fax:  +33-
41, Ave. des Martyrs                   | Deutsch/Esperanto/English/
38027 Grenoble Cedex 1, France         | Nederlands/Francais

MATRIX-SIG  - SIG on Matrix Math for Python

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