Macaulay2 » Documentation
Packages » MonomialIntegerPrograms :: MonomialIntegerPrograms
next | previous | forward | backward | up | index | toc

MonomialIntegerPrograms -- A package for fast monomial ideal computations using constraint integer programming

Description

Installation and licensing information.

This package relies on the constraint integer program solver SCIP, which is available at https://scip.zib.de/. This software is free for for academic, non-commercial purposes. Notice that SCIP is not distributed under GPL, but under the ZIB Academic License (https://scip.zib.de/academic.txt).

To install SCIP, click the Download tab on the left-hand side of the SCIP home page. The easiest method is to install prebuilt binaries (look for the heading Installers (install the scipoptsuite in your computer, without source files). Choose the appropriate Linux, Windows, or MacOS file. The download is free, but you will be asked to submit your name and academic institution, to conform to the ZIB Academic License requirements, before the download begins.

Under the heading Source Code, you can find the files for building from source. If building from source, you MUST include the source files for the modeling language Zimpl in order to use the Monomial Integer Programs package. This will be included if you choose the download named SCIP Optimization Suite, rather than the one named SCIP. Alternatively, download SCIP and then follow the ZIMPL link at the top of the home page to download the source files for Zimpl. When building SCIP, you will have to set a flag indicating that Zimpl should be built as well. For more information about building SCIP visit their online documentation (https://scip.zib.de/doc-6.0.0/html/) and click on Overview -> Getting started -> Installing SCIP.

An excellent user guide to using Zimpl can be found at https://zimpl.zib.de/download/zimpl.pdf. The author, Thorsten Koch, requests that research making use of this software please cite his 2004 PhD thesis, Rapid Mathematical Programming. The appropriate BibTeX entry can be found here: https://zimpl.zib.de/download/zimpl.bib. Zimpl is distributed under GPL.

Additionally, any research that uses SCIP needs a proper citation. See the How to Cite tab on their home page.

Finally, because this package relies on temporary files, Windows users must ensure the directory /tmp exists as stated in the documentation of temporaryFileName.

Behavior of package on load.

The value of ScipPrintLevel determines the verbosity. It is set to 0 when the package is loaded.

The functions codim, and degree are overwritten for inputs with type MonomialIdeal. Specifically, loadSCIPCodimAndDegree is run when the package is loaded.

Caveat

These methods are designed and tested for ideals and polynomial rings with a field as the coefficients ring. For other rings, the behavior of these methods is unspecified.

See also

Authors

Version

This documentation describes version 1.0 of MonomialIntegerPrograms.

Source code

The source code from which this documentation is derived is in the file MonomialIntegerPrograms.m2. The auxiliary files accompanying it are in the directory MonomialIntegerPrograms/.

Exports

  • Functions and commands
    • bettiTablesWithHilbertFunction -- list or tally all Betti tables that can be obtained from monomial ideals with a particular (partial or complete) Hilbert function
    • codimensionIP -- compute the codimension of a monomial ideal using integer programming
    • degreeIP -- compute the degree of a monomial ideal using integer programming
    • dimensionIP -- compute the dimension of a monomial ideal using integer programming
    • loadBuiltinCodimAndDegree -- change codim and degree to use the default, built-in methods.
    • loadSCIPCodimAndDegree -- change codim and degree to use the default, built-in methods.
    • minimalPrimesIP -- one line description if different from minimalPrimesIP
    • monomialIdealsWithHilbertFunction -- find all monomial ideals in a polynomial ring with a particular (partial or complete) Hilbert function
    • topMinimalPrimesIP -- compute the minimal primes of maximum dimension using integer programming
  • Methods
    • bettiTablesWithHilbertFunction(List,PolynomialRing) -- see bettiTablesWithHilbertFunction -- list or tally all Betti tables that can be obtained from monomial ideals with a particular (partial or complete) Hilbert function
    • codimensionIP(MonomialIdeal) -- see codimensionIP -- compute the codimension of a monomial ideal using integer programming
    • degreeIP(MonomialIdeal) -- see degreeIP -- compute the degree of a monomial ideal using integer programming
    • dimensionIP(MonomialIdeal) -- see dimensionIP -- compute the dimension of a monomial ideal using integer programming
    • minimalPrimesIP(MonomialIdeal) -- see minimalPrimesIP -- one line description if different from minimalPrimesIP
    • minimalPrimesIP(MonomialIdeal,ZZ) -- see minimalPrimesIP -- one line description if different from minimalPrimesIP
    • monomialIdealsWithHilbertFunction(List,PolynomialRing) -- see monomialIdealsWithHilbertFunction -- find all monomial ideals in a polynomial ring with a particular (partial or complete) Hilbert function
    • topMinimalPrimesIP(MonomialIdeal) -- see topMinimalPrimesIP -- compute the minimal primes of maximum dimension using integer programming
  • Symbols
  • Other things
    • ScipPrintLevel -- adjust how much solving information is displayed in MonomialIntegerPrograms

For the programmer

The object MonomialIntegerPrograms is a package.