Can Maxima be used to simplify symbolic matrix algebra statements?



You can define all the transformation rules that you have
in mind using defrule,
But you should not use "*"  but ".".  The dot
stands for non-commutative multiplication.  If you use *,
then macsyma assumes the operands can commute. But a.b is
not the same as b.a .

The simplify command usually does nothing special because
all the results are already run through the simplifier.

Try the expand command.


RJF


Rudolph van der Merwe wrote:
> Can Maxima be used to simplify symbolic linear algebra statements?
> 
> I.e. something that can reduce a matrix statement such as (using Matlab 
> notation),
> 
> A*(B + inv(A)) * inv(A*B + I)    to    I   ?
> 
> Or even better, using concepts such as the matrix-inversion-lemma, being 
> able to reduce
> 
> (inv(B) + C*inv(D)*C')  *  (B - B*C*inv(D + C'*B*C)*C'*B  to I  ?
> 
> I have a couple of pages full of nasty matrix algebra equations I'm 
> trying to wrestle into a form that makes some intuitive sense.
> 
> If tried using statements such as
> 
> (C1) declare([A,B,C],nonscalar);
> 
> and
> 
> (C2) simplify(A . (A^^-1 + B));
> 
> but not with much luck.
> 
> How should Maxima be used to address this general problem?
> 
> Thanks
> Rudolph
> 
> 
> 
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima