Do not redefine . in vect.mac, was: Vector ops and non-commutative matrix mult revisited
Subject: Do not redefine . in vect.mac, was: Vector ops and non-commutative matrix mult revisited
From: Stavros Macrakis
Date: Wed, 6 Sep 2006 13:07:57 -0400
Well, the underlying problem here is that the dot product really is
the same thing as the matrix product -- in fact, Maxima is happy to do
[a,b].[c,d] => a*c+b*d (with implicit interpretation of list as matrix
and implicit transpose).
For general matrices, this product is non-commutative; but for the
column/row case, it is commutative.
The vector package currently requires the user to declare vector
variables as "nonscalar". But nonscalar subsumes matrices as well as
vectors. It should require some more specific declaration of vector
variables as vectors. If we require declaring them *both* as vector
and as non-scalar, then very little code needs to be modified -- only
simp-mnctimes needs to know about the commutativity of vector product.
Am I missing something?
-s