I want to solve a system of multivariate polynomials with parameters. Mathematically, the ground field is F = Q(a, b, c, …), the field of rational functions. The polynomials are in F[x,y,z,…]. I want, say, the resultant in x; i.e., eliminate the other variables y,z,… .

Example: I've been told to do this, and it works on simple examples but not real problems of interest:

Q := RationalField();
A1<x, y, z, a, b, c> := AffineSpace(Q,6);
X := Scheme(A1,[ a*x^2*y + b*z*y - x, ... fill in 3 equations... ]);
time J := EliminationIdeal(I,{x,a,b,c});

On real problems, it goes on "forever". Any help would be much appreciated. Does the order I list the variable names matter?

  • 2
    $\begingroup$ I think you'll get more specific answers if you actually write out the full system so people can try it for themselves. Anyway, you can use the command SetVerbose("Groebner",true) at the beginning of your code to get verbose output that will show you where the computation is getting stuck. $\endgroup$ May 14, 2018 at 18:13

1 Answer 1


Perhaps the underlying problem is not MAGMA, but your polynomial system! Elimination via Gröbner bases (which is what MAGMA probably invokes) has doubly-exponential worst-case complexity (and other elimination algorithms are not much better).

This being said, you could try more specific software, like SINGULAR, which makes an effort to compute fast with polynomials (the complexity is still the same, but the complexity constants should be smaller). You can install SINGULAR as a standalone (it is freeware), or use it as integrated in SageMath (also free).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.