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: code 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$.

  • $\begingroup$ 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. $\endgroup$ – Per Alexandersson Jun 5 '13 at 21:10
  • $\begingroup$ Compute a Grobner basis? (should be built-in in sage, if not then you can use the command from singular) $\endgroup$ – Abhinav Kumar Jun 5 '13 at 21:11
  • $\begingroup$ @Per Alexandersson - sorry, we posted comments almost simultaneously, so I didn't see your comment ... $\endgroup$ – Abhinav Kumar Jun 5 '13 at 21:12
  • $\begingroup$ @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. $\endgroup$ – Samuel Reid Jun 5 '13 at 21:24
  • 1
    $\begingroup$ 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. $\endgroup$ – Alexander Woo Jun 5 '13 at 21:58

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.