[PYTHON MATRIX-SIG] Re: Are we talking about one thing or two?

Hinsen Konrad hinsenk@ere.umontreal.ca
Wed, 13 Sep 1995 21:46:15 -0400


   I did not mean that this could not be done.  Inverse() in this context
   is an operation on square matrices (R^NxN).  It is not a concept that
   I have experience generalizing to higher dimensions.  Your example
   maps the inverse() function onto the two-dimensional slices.  I think
   of this as a mapping operator that is applied to an indexed set of
   projections followed by application of inverse().

In the rank concept that I outlined before, matrix inversion (and
similar operations) is an operation with an intrinsic rank of 2.  Its
meaning for rank 3 arrays is thus an automatic consequence of the
general rank rules and *not* an additional rule. You could specify an
explicit rank of 1, reducing matrix inversion to scalar
inversion. Specifying a higher rank would lead to an error
message. Nevertheless, the possibility of specifying explicit ranks is
important, since they can also be variables to be determined at
runtime. There are applications where this is useful. And I would
like to stress again that this generalization comes at no disadvantage
to "two-dimensional only" users.

   slice.  This would seem the natural way to implement it.  Many matrix
   functions such as inverse() would be best implemented by a call to an
   already existing and efficient C or FORTRAN library function.

Implmentation is a different story. I agree that using existing
libraries makes sense. I would nevertheless prefer C libraries to
Fortran libraries, as otherwise a Fortran compiler would become
necessary to install Python, and not every Unix system comes with a
Fortran compiler.

-------------------------------------------------------------------------------
Konrad Hinsen                     | E-Mail: hinsenk@ere.umontreal.ca
Departement de chimie             | Tel.: +1-514-343-6111 ext. 3953
Universite de Montreal            | Fax:  +1-514-343-7586
C.P. 6128, succ. A                | Deutsch/Esperanto/English/Nederlands/
Montreal (QC) H3C 3J7             | Francais (phase experimentale)
-------------------------------------------------------------------------------

=================
MATRIX-SIG  - SIG on Matrix Math for Python

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