
<A NAME=ROOT_OF>

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



<B>ROOT\_OF</B> _ _ _  _ _ _  _ _ _  _ _ _ <B>operator</B><P>
<P>
 
 <P>
<P>
When the operator 
<A HREF=r37_0179.html>solve</A> is unable to find an explicit solution 
or if that solution would be too complicated, the result is presented 
as formal root expression using the internal operator <em>root_of</em> 
and a new local variable. An expression with a top level <em>root_of</em> 
is implicitly a list with an unknown number of elements since we 
can't always know how many solutions an equation has. If a 
substitution is made into such an expression, closed form solutions 
can emerge. If this occurs, the <em>root_of</em> construct is 
replaced by an operator 
<A HREF=r37_0168.html>one_of</A>. At this point it is 
of course possible to transform the result if the original <em>solve</em> 
operator expression into a standard <em>solve</em> solution. To 
effect this, the operator 
<A HREF=r37_0149.html>expand_cases</A> can be used. 
<P>
<P>
 <P> <H3> 
examples: </H3>
<P><PRE><TT>
solve(a*x^7-x^2+1,x);

                 7     2
  {x=root_of(a*x_  - x_  + 1,x_)}


sub(a=0,ws);

  {x=one_of(1,-1)}


expand_cases ws;

  x=1,x=-1

</TT></PRE><P>The components of <em>root_of</em> and <em>one_of</em> expressions
 can be 
processed as usual with operators 
<A HREF=r37_0140.html>arglength</A> and 
<A HREF=r37_0169.html>part</A>. 
A higher power of a <em>root_of</em> expression with a polynomial 
as first argument is simplified by using the polynomial as a side relation. 
<P>
<P>
