Subject: Matrix Power ? (full message, was cut off)
From: Stavros Macrakis
Date: Tue, 3 Apr 2007 21:41:23 -0400
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