Maximal Mediated Sets
This wiki page collects code, data and information accompanying the paper “Initial steps in the classification of maximal mediated sets” that is available in arXiv, see this DOI for the published version. The parallel enumeration algorithm described there will be made available soon, too.
Data and Analysis
You can find the MMS database and database statistics computed for and mentioned in the paper here:
On this page you can also find a jupyter notebook named MMS_DB_tutorial.ipynb
, which is a tutorial that will explain navigating the database and examining the statistics.
You'll need python 3.3
or later and jupyter
installed to use the notebook. Visit the jupyter homepage for installation instructions. Once all ist installed, run the following command to start the notebook and view it in your browser:
jupyter-notebook /path/to/MMS_DB_tutorial.ipynb
Please see the tutorial for the detailed description of the files. Note that in order for notebook to work out of the box, you need the same folder structure on your hard drive, i.e. there should be two subdirectories in the directory the notebook lives in, one named csv
and containing the csv files, and one called hist
containing the histograms. Of course, you can also adjust the notebook to look for the .db.csv.gz
and .db.hist
files somewhere else.
The polymake Extension
max_mediated_sets
is a polymake extension allowing creation and inspection of the maximal mediated set associated to a polynomial.
Prerequisites
You'll need a running polymake
installation with the bundled extension libnormaliz
for computing lattice points. libnormaliz
comes bundled with polymake
, so if you did not do anything special like deliberately installing the minimal version, you should already have libnormaliz
and do not have to do any extra work. See here for instructions on how to get and install polymake
.
Download
Use git to obtain your copy:
git clone https://git.polymake.org/extensions/max_mediated_sets
Installation
Assuming the directory you pulled the git to has the path ~/max_mediated_sets
. To use the extension, fire up your polymake
interactive shell and enter the following command:
> import_extension "~/max_mediated_sets";
After this, you should be able to use the functionality provided by this extension.
Usage
This extension allows to compute maximal mediated sets from PointConfigurations, that is, all lattice points that are the midpoint of two all-even points.
Newton Configurations
This is interesting for Newton polytopes of polynomials, so there is a function producing the point configuration whose convex hull is the Newton polytope of a polynomial p
. For example, the following creates said point configuration for the polynomial $1+x_0^2+x_1^6$:
> $p=new Polynomial('1+x_0^2+x_1^6'); > $n = newton_configuration($p); > print $n->CONVEX_HULL->VERTICES; 1 0 6 1 2 0 1 0 0
Note that the vertices are handled in homogeneous coordinates. The polynomial gets stored in the attachment named POLYNOMIAL
:
> print $n->get_attachment("POLYNOMIAL"); x_0^2 + x_1^6 + 1
The coefficients of the polynomial get stored in the property TRIANGULATION.WEIGHTS
.
> print $n->TRIANGULATION->WEIGHTS; 1 1 1
Maximal Mediated Sets
You can compute the maximal mediated set of any point configuration whose convex hull has all-even vertices, like the one we created in the previous section.
> print $n->MAXIMAL_MEDIATED_SET; 1 0 0 1 0 2 1 0 4 1 0 6 1 2 0 1 1 3 1 1 2 1 0 3 1 1 0 1 0 1 1 1 1 1 0 5
To get the h-ratio, do the following:
> print $n->H_RATIO; 1