substitutions in noncommutative products



ratsubst depends on the CRE representation, which represents everything as
a (commutative) rational function, e.g.

          exp(2*x)+exp(-x)+x^3/3

is treated as

           (3*Y^3+(1*X^3)*Y^1+3*Y^0) / (3*Y)       where Y=%e^x and X=x

This doesn't generalize in any sensible way I can see to the
non-commutative case.

You could imagine ratsubst-like functionality for non-commutative products,
but it would essentially have to be written from scratch.   By the way,
what would you do with

         ncsubst( q , b . a , a^^-1 . b^^3 . a )

          =>   a^^-1 . b^^2 . q

          =>   ( a^^-1 . q ) ^^3

           -s

On Mon, Oct 8, 2012 at 2:44 PM, Barton Willis <willisb at unk.edu> wrote:

> > Obviously, another approach for easy examples like this is something like
> > (%i1) e : a.b.c$
> > (%i2) subst(c^^(-1), b, e);
> > (%o2)                                  a
> > I actually use this idea quite a lot (for commutative expressions) when
> > I don't want ratsubst to mess up the structure of the expression.
>
> > Rupert
>
> That's cute--never would have thought of that---I was aiming for an ad-hoc
> method, not some grand general scheme
> (but I think ratsubst should be able to handle the some easy cases).
> Thanks,
>
> Barton
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>