simplify programs, poisson...forwarded message from Richard Fateman



Where can I find information about:
1) "...programs or some rules to transforms...", reduce or simplify
expresions, when "...the manipulation may not fall into the
category of just using one of the built-in commands..."

2)"... a canonical form is better for the computer, and
even if the expression looks bad in intermediate form it
might be better to use poisson forms..."

I did not find this topics in the Maxima Manual. I have problems to get
the feeling to put a trigonometric polynomial in the simplest form, after
several multiplications, I'd like to use the poisson forms...but I cannot
find information...

alex

-RJF wrote:

-If you really need this form as opposed to something
-that is more efficient for the computer (like poisson series),
-then it seems to me you need to write a program or some
-rules that will transform

 sin(z -b) + sin(z +b)  to   2*cos(b)*sin(z)  for z=tD+tC.
-This can probably be done by substituting z for tD+tC, doing
-trigexpand or trigreduce or ....   I am sorry but
-this kind of manipulation may not fall into the category
-of just using one of the built-in commands.

-Usually a canonical form is better for the computer, and
-even if the expression looks bad in intermediate form it
-might be better to use poisson forms.
-RJF


Daniel Martins wrote:
>
> I have the same problem. It is quite common when we try to multiply
> homogeneneous matrices. I sincerely tried several combinations of
> trigreduce, trigsimplify, ratexpand, etc...
>
> I cannot catch the ppoint with trigonometrical functions at all.
>
>     Dan> Have you tried
>     Dan>
fullmapl(lambda([u],trigreduce(factorout(ratexpand(trigexpand(u)),sin,cos))),a)?>
Dan> It returned
>
>             [       SIN(tD + tC + tB)   SIN(tD + tC - tB)      ]
>             [       ----------------- + -----------------
]
> (D20)   [          2                       2       ]
>             [ r SIN(tB) COS(tD + 2 tC) - dA SIN(tB) SIN(tD + tC) ]

> This is the point : This result is not good enough as
>
> matrix([cos(tB)*sin(tD + tC)],
>        [r*sin(tB)*cos(tD+2*tC) - dA*sin(tB)*sin(tD+tC)]);
>
> is the desired solution. For this simple matrix this can be a matter
> of taste but when we multiply in cascade a series of homogeneneous
> matrices we cannot control the results in a short time.
>
> Where is my (our?) fault
>
> Daniel