maxima bug



Hi Slava,

> hello, may be i'm not first, but i find bug: example A - matrix,
> A^0 = matrix([1,1],[1,1]) or A^(-1)*A = matrix([1,1],[1,1]), expected =matrix([1,0],[0,-1]).

You want . (i.e., dot) for noncommutative multiplication here
instead of * which is commutative multiplication.
Also you want ^^ for exponentiation induced by . .

E.g.
A : matrix ([4, a], [b, 17]);
display2d : false;
A ^^ -1;  => matrix([-17/(a*b-68),a/(a*b-68)],[b/(a*b-68),-4/(a*b-68)])
A . %; => matrix([a*b/(a*b-68)-68/(a*b-68),0],[0,a*b/(a*b-68)-68/(a*b-68)])
ratsimp (%); => matrix([1,0],[0,1])
A ^^ 0; => matrix([1,0],[0,1])

In all cases % = most recent preceding result.

Hope this helps,
Robert Dodier