Re: symbolic matrix manipulation
- To: mathgroup at smc.vnet.net
- Subject: [mg96073] Re: symbolic matrix manipulation
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 4 Feb 2009 05:20:02 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <gm99t7$70$1@smc.vnet.net>
In article <gm99t7$70$1 at smc.vnet.net>, ashwin.tulapurkar at gmail.com
wrote:
> 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?
A possible is as follows:
In[1]:= a.b.b.a //. {x___.a.b.y___ -> Distribute[x.(b.a + 1).y],
1 -> Sequence[]}
Out[1]= 2 b.a + b.b.a.a
Regards,
--Jean-Marc