From 0e766424260f037d19938c040398e6f53691e032 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Tue, 31 Oct 2006 16:23:27 +0100 Subject: [PATCH] doc: document barvinok_enumerate_scarf --- doc/Internal.tex | 29 +++++++++++++++++++++++------ doc/barvinok.bib | 24 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/doc/Internal.tex b/doc/Internal.tex index 006383c..eab318b 100644 --- a/doc/Internal.tex +++ b/doc/Internal.tex @@ -805,6 +805,9 @@ evalue* barvinok_enumerate_e_with_options(Polyhedron *P, struct barvinok_options *options); evalue *barvinok_enumerate_pip(Polyhedron *P, unsigned exist, unsigned nparam, unsigned MaxRays); +evalue *barvinok_enumerate_scarf(Polyhedron *P, + unsigned exist, unsigned nparam, + struct barvinok_options *options); \end{verbatim} The first function tries the simplification rules from \citeN[Section~4.6.2]{Verdoolaege2005PhD} before resorting to the method @@ -817,19 +820,33 @@ the argument \verb+nparam+ refers to the number of parameters. The order of the dimensions in \verb+P+ is: counted variables first, then existential variables and finally the parameters. +The function \ai[\tt]{barvinok\_enumerate\_scarf} performs the same +computation as the function \ai[\tt]{barvinok\_enumerate\_scarf\_series} +below, but produces an explicit representation instead of a generating function. -The function -\ai[\tt]{barvinok\_series} or -\ai[\tt]{barvinok\_series\_with\_options} enumerates parametric polytopes -in the form of a \rgf/. -The polyhedron \verb+P+ is assumed to have only -lexico-positive rays. \begin{verbatim} gen_fun * barvinok_series(Polyhedron *P, Polyhedron* C, unsigned MaxRays); gen_fun * barvinok_series_with_options(Polyhedron *P, Polyhedron* C, barvinok_options *options); +gen_fun *barvinok_enumerate_scarf_series(Polyhedron *P, + unsigned exist, unsigned nparam, + barvinok_options *options); \end{verbatim} +The function +\ai[\tt]{barvinok\_series} or +\ai[\tt]{barvinok\_series\_with\_options} enumerates parametric polytopes +in the form of a \rgf/. +The polyhedron \verb+P+ is assumed to have only +lexico-positive rays. +\\ +The function \ai[\tt]{barvinok\_enumerate\_scarf\_series} computes a +generating function for the number of point in the parametric set +defined by \verb+P+ with \verb+exist+ existentially quantified +variables, which is assumed to be 2. +This function implements the technique of +\shortciteN{Scarf2006Neighborhood} using the \ai{neighborhood complex} +description of \shortciteN{Scarf1981indivisibilities:II}. \subsection{Auxiliary Functions} diff --git a/doc/barvinok.bib b/doc/barvinok.bib index c1ff438..94c1268 100644 --- a/doc/barvinok.bib +++ b/doc/barvinok.bib @@ -331,3 +331,27 @@ month = jul, month = mar, } +@article{Scarf2006Neighborhood, + author = {Herbert E. Scarf and + Kevin M. Woods}, + title = {Neighborhood Complexes and Generating Functions for Affine + Semigroups.}, + journal = {Discrete {\&} Computational Geometry}, + volume = {35}, + number = {3}, + year = {2006}, + pages = {385-403}, + ee = {http://dx.doi.org/10.1007/s00454-005-1222-y}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} + +@ARTICLE{Scarf1981indivisibilities:II, +AUTHOR={Scarf, Herbert E}, +TITLE={Production Sets with Indivisibilities-Part {II}: The Case of Two Activities}, +JOURNAL={Econometrica}, +YEAR=1981, +VOLUME={49}, +NUMBER={2}, +PAGES={395-423}, +MONTH=Mar, +} -- 2.11.4.GIT