Can Maxima be used to simplify symbolic matrix algebra statements?
Subject: Can Maxima be used to simplify symbolic matrix algebra statements?
From: Richard Fateman
Date: Mon, 07 Jul 2003 17:03:01 -0700
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