next | previous | forward | backward | up | top | index | toc | Macaulay2 website
MonomialIntegerPrograms :: topMinimalPrimesIP

topMinimalPrimesIP -- compute the minimal primes of maximum dimension using integer programming



If a KnownDim is not provided, topMinimalPrimesIP will first call {dimensionIP}($I$) to compute the dimension.

The IP for this function is similar to the degreeIP formulation, except that rather than count the number of solutions, SCIP uses a sparse data structure to enumerate all feasible solutions.

The location of input/output files for SCIP solving is printed to the screen by default. To change this, see ScipPrintLevel.

i1 : R = QQ[x,y,z,w,v];
i2 : I = monomialIdeal(y^12, x*y^3, z*w^3, z*v*y^10, z*x^10, v*z^10, w*v^10, y*v*x*z*w);

o2 : MonomialIdeal of R
i3 : ScipPrintLevel = 0;
i4 : minimalPrimes(I)

o4 = {monomialIdeal (y, z, w), monomialIdeal (y, z, v), monomialIdeal (x, y,
     w, v)}

o4 : List
i5 : apply(oo, p -> dim p)

o5 = {2, 2, 1}

o5 : List
i6 : topMinimalPrimesIP(I)

o6 = {monomialIdeal (y, z, v), monomialIdeal (y, z, w)}

o6 : List

Notice that if the dimension of a monomial ideal is $k$, each of the top minimal primes is generated by $n-k$ variables, where $n$ is the number of variables in the polynomial ring.


topMinimalPrimesIP does not verify that a provided KnownDim is correct. Providing the wrong dimension will result in an incorrect answer or an error.

See also

Ways to use topMinimalPrimesIP :

For the programmer

The object topMinimalPrimesIP is a method function with options.