Two questions



On Tue, Jul 13, 2010 at 4:29 AM, Zbigniew Komarnicki <cblasius at gmail.com> wrote:

> Yes I want to factor but around the variables e and z, i.e.:
>
> If we have:
> e(r+1, k+1) = - C.B.K2 . e(r, k+1) - C.B.K1 . z(r+1, k)
> ? ? ? ? ? ? ?- C.A . z(r+1, k) + e(r, k+1)
>
> It can be simply simplified to:
> e(r+1, k+1) = (1-C.B.K2) . e(r, k+1) + (-C.A-C.B.K1) . z(r+1, k)
>
> My question is why it is not done or what I can do that? and why it is done
> when I use operator "*" instead of operator "."?

Well, Maxima maintains a list of identities for each operator
(e.g. "*" or ".") and applies those automatically; that is called
"simplification" in Maxima's terminology.
The list is different for "." compared to "*". There is no compelling
reason for that, it's just that different simplifications of "*" and
"." were considered useful by whoever was writing the code.

So the problem is just that some useful simplifications of "."
are lacking. I guess we want something like

  A . B + A . C --> A . (B + C)
  B . A + C . A --> (B + C) . A

There is a user-level simplification mechanism implemented by
tellsimp and friends. I will take a look to see if tellsimp or some
related function might be useful here.

best

Robert Dodier