Matrix Power ? (full message, was cut off)



On 4/3/07, sen1 at math.msu.edu <sen1 at math.msu.edu> wrote:
> Is there any reason why the power shouldn't be M^3 instead of M^^3?

Basic scalar operations in Maxima generalize componentwise to compound
objects.  Thus [1,2]*[3,4] => [3,8] and [1,2]^2 => [1,4].  Maxima has
a separate operator for matrix multiplication and other
non-commutative operators, matrix([1,2],[3,4]) . matrix([2,1],[1,1])
=> matrix([4,3],[10,7]) and their vector special cases (which are of
course commutative) [1,2].[3,4] => 11, [1,2].[1,2] => 5 and [1,2]^^2
=> matrix([5]) <<<this is not consistent, sorry>>>.

And the same operations apply to symbols and symbolic expressions as
to explicit objects.  This allows, for example, x*1 to simplify to x
without the user having to specify whether x is an integer, an element
of Z5, a rational, a real, a complex, a vector, or a matrix.

In many cases, you can actually make the system clever and have it
choose to use the commutative or non-commutative multiplication for
exponentiation depending on context.  So for example (x.y)^2 could be
interpreted as (x.y).(x.y) because the operand contains a "."operator,
and in the univariate case, ^^ is actually commutative.  But there are
some cases where you have to know.  For example, what is
expand((x+y)^2)?  Is it x^2+2*x*y+y^2 or x^2 + x.y + y.x + y^2?

So you need a separate exponentiation operator corresponding to the
non-commutative multiplication.

> Also, is this in any of the manuals?

Yes, look under the matrix function in section 27.2 of the manual.
(http://www.ugcs.caltech.edu/manuals/math/maxima-5.9.2/maxima_88.html#IDX784)
Alas, it is missing from section 5.6 Definitions for Operators, where
it belongs.

Sorry.

             -s