
<A NAME=COMPACT>

<TITLE>COMPACT</TITLE></A>
<b><a href=r37_idx.html>INDEX</a></b><p><p>



<B>COMPACT</B> _ _ _  _ _ _  _ _ _  _ _ _ <B>package</B><P>
<P>
 
 <P>
<P>
Author: Anthony C. Hearn 
<P>
<P>
COMPACT is a package of functions for the reduction of a polynomial in the 
presence of side relations. COMPACT applies the side relations to the 
polynomial so that an equivalent expression results with as few terms as 
possible. For example, the evaluation of 
<P>
<P>
<P><PRE><TT>
     compact(s*(1-sin x^2)+c*(1-cos x^2)+sin x^2+cos x^2,
             {cos x^2+sin x^2=1});

</TT></PRE><P>yields the result 
<P><PRE><TT>

              2           2
        SIN(X) *C + COS(X) *S + 1
</TT></PRE><P><P>
<P>
The first argument to the operator <em>compact</em> is the expression 
and the second is a list of side relations that can be 
equations or simple expressions (implicitly equated to zero). The 
kernels in the side relations may also be free variables with the 
same meaning as in rules, e.g. 
<P><PRE><TT>
     sin_cos_identity :=  {cos ~w^2+sin ~w^2=1}$
     compact(u,in_cos_identity);
</TT></PRE><P><P>
<P>
Also the full rule syntax with the replacement operator is allowed here. 
 <P>
<P>
