Re: symbolic matrix manipulation
- To: mathgroup at smc.vnet.net
- Subject: [mg96061] Re: symbolic matrix manipulation
- From: "jwmerrill at gmail.com" <jwmerrill at gmail.com>
- Date: Wed, 4 Feb 2009 05:17:51 -0500 (EST)
- References: <gm99t7$70$1@smc.vnet.net>
On Feb 3, 6:30 am, ashwin.tulapur... at gmail.com wrote:
> Hi,
> I am trying to simplify the following matrix expression:
> a.b.b.a with the rule: replace a.b by (b.a+1). So I expect the final
> output to be
> a.b.b.a --> (b.a+1).b.a --> b.a.b.a+b.a --> b.(b.a+1).a+b.a -->
> b.b.a.a + 2 b.a
>
> Can you tell me how to do this?
>
> Thanks.
> -Ashwin
FixedPoint[
MapAll[Distribute, #] /. {a.b -> (b.a + 1),
Dot[h___, 1, t___] :> Dot[h, t]} &, a.b.b.a]