2
$\begingroup$

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

$\endgroup$
7
  • $\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$ Jun 5, 2013 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$ Jun 5, 2013 at 21:11
  • $\begingroup$ @Per Alexandersson - sorry, we posted comments almost simultaneously, so I didn't see your comment ... $\endgroup$ Jun 5, 2013 at 21:12
  • 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$ Jun 5, 2013 at 21:58
  • 1
    $\begingroup$ Reading a little more carefully... Actually, what you have written is not right: the equation $x_{11}x_{12} + x_{12}x_{22} = 0$ does NOT imply $x_{11} = -x_{22}$. Rather, it implies $x_{11} = -x_{22}$ OR $x_{12} = 0$, and you cannot assume the former. There is something in your problem that is implying that $x_{12}\neq0$, and you can do a colon operation to say you know $x_{12}\neq0$, but obviously you need to know what is implying $x_{12}\neq0$ in order to generalize. $\endgroup$ Jun 6, 2013 at 18:19

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.