# Reducing a System of Polynomial Equations

I am currently writing a program in SAGE which computes Nilpotent Orbit Varieties for an Algebraic Geometry research project and I have reduced my problem to the following:

Consider a system of polynomial equations $\{f_{1},...,f_{n}\}$, with each equal to zero and a function of $k$ variables, that is, $f_{i}(x_{1},...,x_{k}) = 0$, for $1 \leq i \leq n$. Is there a known algorithm or procedure (which I could program) for reducing the number of equations or number of variables to a minimal amount?

In particular, I want to reduce the runtime of my code by figuring out if I have redundancies in my equations and eliminating those redundancies (such as one equation implying that a variable is equal to zero in all of the others, which would reduce the number of equations and variables).

EDIT: I have included a snapshot of my program here: As you can see from my list of equations, we have that $x_{11}x_{12} + x_{12}x_{22} =0$ implies $x_{11} = - x_{22}$ and thus the entire system reduces to $x_{11}^2 + x_{12}x_{21} =0$. Implementing the Groebner basis command as follows in SAGE did not obtain this result.

I = equations*PolynomialRing(CC,len(varlist(n)),varlist(n))
B = I.groebner_basis()
print("The Groebner basis for I is:\n"+str(B))


where the list 'equations' is what was printed after "the closure of the nilpotent..." and the varlist(n) is a function I defined which deals with list manipulation and nothing mathematical. I was simply following the sage documentation here. So, what I need is some algorithm which in this example would give me just that my system of polynomial equations equal to zero reduces to $x_{11}^2 + x_{12}x_{21} = 0$.

• I assume this is before you want do do a Gröbner basis computation? Using Gröbner basis calculations, you can most likely reduce the number of variables in some of the polynomials. – Per Alexandersson Jun 5 '13 at 21:10
• Compute a Grobner basis? (should be built-in in sage, if not then you can use the command from singular) – Abhinav Kumar Jun 5 '13 at 21:11
• @Per Alexandersson - sorry, we posted comments almost simultaneously, so I didn't see your comment ... – Abhinav Kumar Jun 5 '13 at 21:12
• @Abhinav Kumar: I already tried using the Grobner basis command built into SAGE but it did not compute what I wanted. I will add an edit to my question including this example. I am interested in any alternative techniques to computing a Grobner basis. – Samuel Reid Jun 5 '13 at 21:24
• I'm pretty sure that, in this case, changing the term order would do what you want. But there is no good way of choosing the best term order a priori. – Alexander Woo Jun 5 '13 at 21:58