====== 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 [[https://arxiv.org/abs/1910.00502|arXiv]], see [[https://doi.org/10.1016/j.jsc.2020.07.013|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:
[[https://polymake.org/downloads/MMS|Download Page]]
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 [[https://jupyter.org/index.html|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 [[/external_software?#bundled_extensions_for_polymake|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 [[/download/start#get_latest_stable_release34|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 [[/documentation/polytope/pointconfiguration|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