When can eliminate() be used safely?



Thanks.  I will see how reliable this approach is. 

-----Original Message-----
From: Stavros Macrakis [mailto:stavros.macrakis at verizon]
Sent: Tuesday, 8 April 2003 1:07 PM
To: Billinghurst, David (CRTS)
Cc: maxima@mail.ma.utexas.edu
Subject: RE: [Maxima] When can eliminate() be used safely?


> Is there any way to decide:
>  - in advance when it is safe to use eliminate, or
>  - after the event that the result is from eliminate() is 
> meaningless (or wrong)

Eliminate uses polynomial resultants, and works (or at least is supposed
to work) when the equations are polynomials or rational functions in the
variables to be eliminated:

   eliminate([x*y-x=a*y^3,x+y^2=1],[x])
       => [(a+1)*y^3-y^2-y+1]

The "variables" can actually be function applications:

   eliminate([sin(x)^2-1/sin(x)=y,sin(x)+1=y-1],[sin(x)])

but as far as Eliminate (and most of the rest of the rational function
package) is concerned, sin(x) is a completely independent variable.  It
might as well be the variable sin_x, which only looks like it has
something to do with x.

You can use Freeof to check whether eliminate in fact eliminated a
variable:

eliminate([y-t*x-COS(t),SIN(t)-x],[t])
  => [SIN(t)-x]
Freeof(t,%) => false