tell x*conjugate(x) is 1



How you want to handle this depends on what simplifications you expect
Maxima to perform.  I would think that the ab=>exp(%i*a) approach would
enable the largest range of Maxima simplifications because Maxima 'knows' a
lot about exponentiation; but it knows relatively little about conjugate. On
the other hand, converting your result back into the ab form might give a
messy result.

And Maxima 'knows' nothing when you introduce a tellsimp -- that is strictly
a mechanical rewrite.

For example, ab:exp(%i*a) ... trigsimp(cabs(ab)) => 1, but cabs(ab) with the
conjugate tellsimps (and ab declared complex) does nothing useful.

            -s

On Fri, Oct 23, 2009 at 9:15 AM, Barton Willis <willisb at unk.edu> wrote:

> Your tellsimpafter almost works; does this code fix the problem?
>
>  (%i1) matchdeclare(a, lambda([s], mapatom(s) and get(s, unit_modulus)))$
>
>  (%i2) block([simp : false], tellsimpafter(conjugate(a),1/a))$
>
>  (%i3) declare(z,complex)$
>  (%i4) put(z,true,'unit_modulus)$
>
>  (%i5) conjugate(%i * z- 1/z);
>  (%o5) -z-%i/z
>
>  (%i6) conjugate(z * conjugate(z));
>  (%o6) 1
>
> Barton
>
> -----maxima-bounces at math.utexas.edu wrote: -----
>
> >To: "'Maxima List'" <maxima at math.utexas.edu>
> >From: Leo Butler <l.butler at ed.ac.uk>
> >Sent by: maxima-bounces at math.utexas.edu
> >Date: 10/23/2009 05:55AM
> >Subject: tell x*conjugate(x) is 1
> >
> >Hi,
> >
> >I am doing some computations with an indeterminate 'x' that represents a
> >complex number of unit modulus. At the moment, I define
> >
> >x : exp(%i*t);
> >
> >carry out my computations and then back-substitute so the expressions
> >are in terms of x alone. This seems terribly inefficient and roundabout.
> >
> >Can I tell the simplifier that x*conjugate(x) is 1? tellsimp informs me
> >that rules on '+' and '*' may not work -- and this appears true.
> >I have also tried
> >
> >matchdeclare(ab,is(get(ab,'unit_modulus) and featurep(ab,'complex)));
> >tellsimpafter(nounify(conjugate)(ab),1/ab);
> >
> >without effect.
> >
> >Leo
> >
> >--
> >The University of Edinburgh is a charitable body, registered in
> >Scotland, with registration number SC005336.
> >
> >_______________________________________________
> >Maxima mailing list
> >Maxima at math.utexas.edu
> >http://www.math.utexas.edu/mailman/listinfo/maxima
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>