My guess is that GB takes a huge amount of time and is appropriate only
for very
small systems. I never ever recommend GB for any computation
for which an alternative (e.g. resultants, gcd) exist. Do you have
any real reason to think GB might be useful here?
RJF
Albert Reiner wrote:
>[Barton Willis , Wed, 28 Dec 2005 08:26:12 -0600]:
>
>
>>The function 'eliminate' uses the polynomial resultant. It's known that
>>the resultant can enlarge the solution set of a polynomial system. A
>>polynomial equation solver that uses the resultant to eliminate variables
>>one by one will, in general, generate spurious solutions. I think 'algsys'
>>uses this method; presumably, Maxima checks each putative solution.
>>You might like to use the Grobner basis instead of using 'eliminate':
>>
>>
>...
>
>Thanks for the explanation! Should the documentation of eliminate be
>updated to include a note on this, or is the reader expected to know
>about this?
>
>The current version is:
>
>,----
>| -- Function: eliminate ([, ..., ], [, ..., ])
>| Eliminates variables from equations (or expressions assumed equal
>| to zero) by taking successive resultants. This returns a list of
>| ` - ' expressions with the variables , ...,
>| eliminated. First is eliminated yielding ` - 1'
>| expressions, then `x_2' is eliminated, etc. If ` = ' then a
>| single expression in a list is returned free of the variables
>| , ..., . In this case `solve' is called to solve the
>| last resultant for the last variable.
>|
>| Example:
>|
>| (%i1) expr1: 2*x^2 + y*x + z;
>| 2
>| (%o1) z + x y + 2 x
>| (%i2) expr2: 3*x + 5*y - z - 1;
>| (%o2) - z + 5 y + 3 x - 1
>| (%i3) expr3: z^2 + x - y^2 + 5;
>| 2 2
>| (%o3) z - y + x + 5
>| (%i4) eliminate ([expr3, expr2, expr1], [y, z]);
>| 8 7 6 5 4
>| (%o4) [7425 x - 1170 x + 1299 x + 12076 x + 22887 x
>|
>| 3 2
>| - 5154 x - 1291 x + 7688 x + 15376]
>`----
>
>It might be sufficient to add something like the following before the
>example:
>
> Taking successive resultants may enlarge the solution space so
> that all solutions should be checked. An alternative is to use
> Grobner bases, cf. contrib/Grobner.
>
>Best regards,
>
>Albert.
>