# 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