[SCM] Debian packaging for the lrslib vertex enumeration package branch, master, updated. 08143926a8c76346ae9308746e390c53d21da63a
David Bremner
bremner at unb.ca
Sun Sep 13 16:13:19 UTC 2009
The following commit has been merged in the master branch:
commit 327743f2b5bb4121f6bc80440673ddcb0a6fa21f
Author: David Bremner <bremner at unb.ca>
Date: Sun Aug 9 20:42:17 2009 -0300
formatted options into paragraphs, reduced some to more terse statements.
diff --git a/debian/lrslib.1.xml b/debian/lrslib.1.xml
index 91a86aa..5561be3 100644
--- a/debian/lrslib.1.xml
+++ b/debian/lrslib.1.xml
@@ -50,32 +50,35 @@
<para>
The input for <emphasis>lrs</emphasis> is a H- or V- representation
of a polytope.
-</para>
-<refsect2>
- <title>H-representation</title>
<programlisting>
name
-H-representation
+{representation line}
{options}
{<ulink url="#Linearities">linearities</ulink>}
begin
m n rational
-{list of inequalities }
+{input matrix}
end
{options}
</programlisting>
+ <emphasis>name</emphasis> is a user supplied name for the
+ polytope. Comments may appear before the begin or after the
+end, and to avoid interpretation as an option, should begin with a
+special character such as "*" or "#".
+</para>
<para>
<emphasis>name</emphasis> is a user supplied name for the
- polytope. If the line H-representation is omitted,
- H-representation is assumed. The input coefficients are read
+ polytope. <emphasis>representation line</emphasis> is either "H-representation" or "V-representation".
+ If is omitted, H-representation is assumed. The input coefficients are read
in free format, and are not checked for type. Coefficients are
- separated by white space. Normally this file would be saved with
- filename suffix. <emphasis>ine</emphasis> but this not
- required. Comments may appear before the begin or after the
- end, and to avoid interpretation as an option, should begin with a
- special character such as "*" or "#".
+ separated by white space. m is the number of rows and n the number of columns of the input matrix.
+</para>
+
+<refsect2>
+ <title>H-representation</title>
+<para>
The integer m is the number of
inequalities, and the integer n is the dimension of the input
+1. A list of inequalities contains
@@ -101,29 +104,6 @@ end
</refsect2>
<refsect2>
<title>V-representation</title>
-
-<programlisting>
-name
-V-representation
-{options}
-{<ulink url="#Linearities">linearities</ulink>}
-begin
- m n rational
-{list of vertices and extreme rays }
-end
-{options}
-</programlisting>
-<para>
- <emphasis>name</emphasis> is a user supplied name for the
- polytope. The line V-representation is required. The
- input coefficients are read in free format, and are not checked
- for type. Coefficients are separated by white space. Comments may
- appear before the begin or after the end, and to avoid
- interpretation as an option, should begin with a special character
- such as "*" or "#". Normally this file would
- be stored with filename suffix <emphasis>ext</emphasis>, but this
- is not required.
-</para>
<para>
The integer m is the number of vertices and rays, and
the integer n is the dimension of the input +1.
@@ -163,7 +143,7 @@ end
and will be ignored by <emphasis>lrs</emphasis>. Note the
input files for <emphasis>lrs</emphasis> are read in free format,
after the line
- <emphasis role="strong">m n rational</emphasis><emphasis>lrs</emphasis>
+ <emphasis role="strong">m n rational</emphasis>, <emphasis>lrs</emphasis>
will look for exactly m*n rationals or integers separated by white
space (blank, carriage return, tab etc.).
<emphasis>lrs</emphasis> will not "drop" extra columns of
@@ -173,55 +153,34 @@ end
<refsect2>
<title>Basic Options</title>
-
- <para>
- New for Version 4.2: bound, dualperturb, printslack,
- project
- <emphasis>lrs</emphasis> has many options to allow various
- functions to be performed, and to modify the output produced.
+<para>
Almost all options are placed
<emphasis role="strong">after</emphasis> the end statement,
maintaining compatibility with <emphasis>cdd</emphasis>. Where this
- is not the case, it will be mentioned explicitly. All options are
- optional.
+ is not the case, it will be mentioned explicitly.
</para>
<para>
- <emphasis role="strong">allbases</emphasis>
- This option instructs <emphasis>lrs</emphasis> to list each vertex
- (or facet) for each of its bases. Normally a vertex (or facet) is
- only output when its lex-min basis is found, to avoid duplications
- - see section
+ <emphasis role="strong">allbases</emphasis>
+ This option instructs <emphasis>lrs</emphasis> to list each vertex
+ (or facet) for each of its bases.
<ulink url="#Output%20Duplication">Output Duplication</ulink>
<ulink url="#Hints%20and%20Comments">.</ulink> This option is often
- combined with printcobasis .
+ combined with printcobasis.
</para>
<para>
- <emphasis role="strong">bound x </emphasis>New
- in Ver
- 4.2 //
+ <emphasis role="strong">bound x </emphasis>
Use with H-representation - for lrs or nash
- //
Either the maximize or minimize option should be selected. x is an
- integer or rational.For maximization
+ integer or rational. For maximization
(resp. minimization) the reverse search tree is truncated
- whenever the current objective value is less (resp. more) than x
- .
+ whenever the current objective value is less (resp. more) than x.
</para>
<para>
<emphasis role="strong">cache n</emphasis>
<emphasis>lrs</emphasis> stores the latest n dictionaries in
the reverse search tree. This speeds up the backtracking step, but
- requires more memory. If n is set to one, there is no caching
- and "pure" reverse search is performed. The default
- is n=10. At the end of a run a message gives cache information. The
- output
- <emphasis role="strong">*Dictionary Cache: max size= 4 misses= 10/1340 Tree Depth=5</emphasis>
- indicates that with cache size set
- to 4, only 10 of the 1340 dictionaries computed were not in
- the cache during backtracking and had to be recomputed. The
- maximum tree depth was 5, so there would be no misses with a cache
- size of 6. Full caching reduces processing time by about 40%.
+ requires more memory.
</para>
<para>
<emphasis role="strong">debug startingbasis endingbasis</emphasis>
@@ -232,19 +191,15 @@ end
</blockquote>
</para>
<para>
- <emphasis role="strong">digits n </emphasis>
- // placed before the begin statement//
+ <emphasis role="strong">digits n</emphasis>
+ <emphasis> placed before the begin statement</emphasis>
n is the maximum number of decimal digits to be used. If this is
exceeded the program terminates with a message (it can
usually be restarted). The default is set to about 100
digits. At the end of a run a message is given informing the user
of the maximum integer size encountered. This may be used to
optimize memory usage and speed on subsequent runs (if doing
- estimation for example). The output:
- <emphasis role="strong">*Max digits= 45/100</emphasis>
- indicates that the maximum integer
- encountered had 45 decimal digits, and the program allowed up to
- 100 digit integers.
+ estimation for example).
</para>
<para>
<emphasis role="strong">dualperturb</emphasis>
@@ -253,44 +208,24 @@ end
function.If there are mulitiple
optimum vertices, the output will often not be complete. This
option gives a small perturbation to the objective to avoid
- this.A warning message is given if
- the starting dictionary is dual degenerate
- .
+ this. A warning message is given if
+ the starting dictionary is dual degenerate.
</para>
<para>
<emphasis role="strong"></emphasis><emphasis role="strong">estimates k</emphasis>
Estimate the output size. Used in conjunction with maxdepth - see
<ulink url="#Estimation">Estimation.</ulink>
- <emphasis role="strong">geometric </emphasis>
+</para>
+<para>
+ <emphasis role="strong">geometric </emphasis>
// H-representation or voronoi option only //
With this option, each ray is printed together with the vertex with
- which it is incident. They output has the form:
- 0 r<subscript>0 </subscript> r
- <subscript>1</subscript>...
- r<subscript>n-1</subscript>* 1
- v<subscript>0 </subscript> v
- <subscript>1</subscript>... v<subscript>n-1</subscript>
-
- This indicates ray 0
- r<subscript>0 </subscript> r
- <subscript>1</subscript>...
- r<subscript>n-1</subscript>is incident with vertex
- 1 v<subscript>0 </subscript> v
- <subscript>1</subscript>...
- v<subscript>n-1</subscript>. For the quadrant, the output is:
- <emphasis role="strong">1 0 0</emphasis>
-
- <emphasis role="strong">0 0 1 * 1 0 0</emphasis>
-
- <emphasis role="strong">0 1 0 * 1 0 0</emphasis>
- This indicates the origin is a
- vertex, and there are two geometric rays: (0,t) and (t,0) both
- adjacent to the origin. For more information see Geometric Rays in
+ which it is incident. For more information see Geometric Rays in
<ulink url="#Hints%20and%20Comments">Hints and Comments</ulink> .
</para>
<para>
- <emphasis role="strong">incidence; // New in version 4.0 //</emphasis>
+ <emphasis role="strong">incidence</emphasis>
<blockquote>
This option automatically switches on
<emphasis role="strong">printcobasis</emphasis> , so see below for
@@ -302,44 +237,12 @@ end
contain the vertex/ray that is about to be output. For a simplicial
face, there is no new output, since these indices are already
listed. Otherwise, the additional tight inequalities are listed
- after a colon. Eg:
- <emphasis role="strong">V#1 R#0 B#1 h=0 facets 12 14 15 16 : 9 10 11 13 I#8 det= 8</emphasis>
-
- <emphasis role="strong"> 1 0 0 0 1</emphasis>
- The vertex
- <emphasis role="strong">0 0 0 1</emphasis> satisfies 8 input
- inequalities as equations, as indicated by
- <emphasis role="strong">I#8</emphasis> : those with indices
- <emphasis role="strong">12,14,15,16</emphasis> are in the cobasis,
- and those with indices
- <emphasis role="strong">9, 10, 11, 13</emphasis>are in the basis.
- For a ray:
- <emphasis role="strong">V#1 R#5 B#1 h=0 facets 5 9* 10 11 12 13 : 2 3 4 I#8 det= 8</emphasis>
-
- <emphasis role="strong"> 0 1 1 0 0 1 1</emphasis>
- Here the ray
- <emphasis role="strong">1 1 0 0 1 1</emphasis>
- lies on 8 inequalities, with indices
- <emphasis role="strong">5 10 11 12 13</emphasis> in basis and
- <emphasis role="strong">2 3 4 i</emphasis>n cobasis. The starred
- index<emphasis role="strong">9*</emphasis> indicates that the ray
- is terminated by the input inequality 9. This inequality is in the
- cobasis and defines the vertex from which the ray starts.
+ after a colon.
</para>
<para>
For input V-representation, indices of all input vertices/rays that
- lie on the facet that is about to be output:
-
- <emphasis role="strong">F#5 B#3 h=2 vertices/rays 7 8* 11 13 15 : 1 3 5 9 I#8 det= 16</emphasis>
-
- <emphasis role="strong">1 -1 0 0 0</emphasis>
- The facet generated by inequality
- x<subscript>1</subscript> <= 1 contains 8 input vertices, as
- indicated by I#8: those with indices
- <emphasis role="strong">7,11,13,15</emphasis> are in the cobasis,
- and those with indices<emphasis role="strong">1 3 5 9</emphasis>are
- in the basis.The starred index<emphasis role="strong">8*</emphasis>
- indicates that this vertex is also in the cobasis, but is not
+ lie on the facet that is about to be output.
+ A starred indexindicates that this vertex is also in the cobasis, but is not
contained in the facet. It arises due to the lifting operation used
with input V-representations.
</para>
@@ -373,11 +276,11 @@ end
at depth k will not be reported.
</para>
<para>
- <emphasis role="strong">maximize </emphasis><emphasis role="strong">a<subscript>0</subscript> a<subscript>1</subscript>... a<subscript>n-1</subscript></emphasis> <emphasis role="strong"> </emphasis>
+ <emphasis role="strong">maximize </emphasis><emphasis role="strong">a<subscript>0</subscript> a<subscript>1</subscript>... a<subscript>n-1</subscript></emphasis> <emphasis role="strong"></emphasis>
// H-representation only //
</para>
<para>
- <emphasis role="strong">minimize </emphasis><emphasis role="strong">a<subscript>0</subscript> a<subscript>1</subscript>... a<subscript>n-1</subscript></emphasis>
+ <emphasis role="strong">minimize </emphasis><emphasis role="strong">a<subscript>0</subscript> a<subscript>1</subscript>... a<subscript>n-1</subscript></emphasis>
// H-representation only //
<subscript></subscript>
If used with lrs the starting vertex maximizes (or minimizes) the
@@ -389,8 +292,10 @@ end
degeneracy.See Nash Equilibria
and
<ulink url="#Linear%20Programming">Linear Programming</ulink>
- maxoutput n // from Version 4.2a
- //
+</para>
+
+<para><emphasis> maxoutput n</emphasis>
+
Limits number of output lines produced (either vertices+rays or
facets) to
n
@@ -401,12 +306,13 @@ end
non-negative integer. This can be used for running reverse search
on subtrees as separate processes, e.g. in a distributed computing
environment.
- <emphasis role="strong">nonnegative //modified in lrs 4.2 // </emphasis>
+</para>
+<para>
+ <emphasis role="strong">nonnegative</emphasis>
// This option must come before the begin statement//
-
+
//H-representation only //
- Bug: Can only be used if the
- origin is a vertex of the polyhedron
+ Bug: Can only be used if the origin is a vertex of the polyhedron
<blockquote>
For problems where the input is an H-representation of the form
b+Ax>=0, x>=0 (ie. all variables non-negative, all
@@ -421,10 +327,10 @@ end
4.1, the origin must be a vertex).
</blockquote>
</para>
+
<para>
- <emphasis role="strong">printcobasis k </emphasis>Modified
- in lrs4.0
- </para>
+ <emphasis role="strong">printcobasis k;</emphasis>Modified
+ in lrs 4.0
Every k'th cobasis is printed. If k is omitted, the cobasis is
printed for each vertex/ray/facet that is output. For a long run it
is useful to print the cobasis occasionally so that the program can
@@ -432,69 +338,28 @@ end
<emphasis role="strong">H-representation: </emphasis>If the
input is an H-representation the cobasis is a list the indices of
the inequalities from the input file that define the current vertex
- or ray. For example, with input cube.ine a typical output is:
-
- <emphasis role="strong">V#5 R#0 B#5 h=1 facets 3 4 5 I#3 det=1</emphasis>
-
- <emphasis role="strong">1 1 1 -1</emphasis>
- This indicates that the vertex
- (1,1,-1) is defined by the 3rd, 4th and 5th facet inequalities in
- the input file being satisfied as equations. It is the (B#)5th
- basis computed, and there have been (V#)5 vertices and (R#)0 rays
- output up to this point. I#3 means that this vertex is incident
- with 3 input inequalities, ie. it is non-degenerate. See
+ or ray. See
option <emphasis role="strong">incidence</emphasis> above for
more information. For rays, a
cobasis is also printed. In this case the cobasis is the cobasis of
the vertex from which the ray emanates. One of the indices is
starred, this indicates the inequality to be dropped from the
- cobasis to define the ray. For example the output:
-
- <emphasis role="strong">V#1 R#6 B#4 h=1 facets 2 4* 5 7 I#3 det=1</emphasis>
-
- <emphasis role="strong">0 1 1 2 1</emphasis>
- indicates that the ray (1,1,2,1)
- emanates from a vertex with cobasis defined by input inequalities 2
- 4 5 7 satisfied as equations. The ray is defined by dropping the
- equation with index 4. Note that there may not appear any vertex in
- the output with cobasis 2 4 5 7, since the corresponding vertex may
- be degenerate and printed with another (the lex-min) cobasis. To
- find out which vertices correspond to which rays, use also the
- <emphasis role="strong">geometric</emphasis> option. Now the
- output may appear:
- <emphasis role="strong">V#1 R#6 B#4 h=1 facets 2 4* 5 7 I#3 det=1</emphasis>
-
- <emphasis role="strong">0 1 1 2 1 * 1 0 0 0 0</emphasis>
- This indicates that the ray is
- incident to the origin. Alternatively, if the
+ cobasis to define the ray. Alternatively, if the
<emphasis role="strong">allbases</emphasis>option is used, all
cobases will be printed out.
<emphasis role="strong">V-representation</emphasis>: If the input
is a V-representation, the cobasis is a list of the input vertices
- /rays that define the current facet. For example, with input file
- cube.ext a typical output is:
- <emphasis role="strong">F#5 B#4 h=3 vertices/rays 2 3 4 5* I#3 det= 8</emphasis>
-
- <emphasis role="strong"> 1 0 0 -1</emphasis>
- There have been 5 facets output up
- to this point, and 4 bases have been computed. This facet is
- defined by the vertices in positions 2,3,4 in the input file. The
- additional cobasis index 5* appears because a V-representation is
- lifted to one higher dimension before processing, and this index
- fills out the cobasis. I#3 means that this facet is incident with 3
- input vertices/rays, ie. it is non-degenerate. See option
+ /rays that define the current facet. See option
<emphasis role="strong">incidence</emphasis> above for more
information. To initiate
<emphasis>lrs</emphasis> from this facet all 4 indices must be
- given in this order (omit the *), eg.
- startingcobasis 2 3 4 5
- Similarly, all 4 indices must be
- given in order to restart from this facet:
- restart 5 4 3 2 3 4
- 5
- <emphasis role="strong">printslack </emphasis>New
+ given in this order (omit the *).
+ </para>
+
+ <para>
+ <emphasis role="strong">printslack</emphasis> New
in Ver
- 4.2 //
+ 4.2 ; //
Use with H-representation
//
lrs prints a list of the indices of the input inequalities that are
@@ -506,7 +371,9 @@ end
<emphasis role="strong">project</emphasis>
Used by driver <ulink url="#fourier">fourier</ulink>
only.
- <emphasis role="strong"></emphasis><emphasis role="strong">restart V# R# B# depth {facet #s or vertex/ray #s</emphasis>}
+</para>
+<para>
+ <emphasis role="strong"></emphasis><emphasis role="strong">restart V# R# B# depth {facet #s or vertex/ray #s</emphasis>}
Modified in lrs4.0
<emphasis>lrs</emphasis> can be restarted from any known cobasis.
The calculation will proceed to normal termination. All of the
@@ -514,19 +381,7 @@ end
<emphasis role="strong">printcobasis</emphasis> option. The
<emphasis role="strong">order of the indices is very important,</emphasis>
enter them exactly as they appear in the output from the previously
- aborted run. To restart from cobasis:
- <emphasis role="strong">V#5 R#0 B#5 h=1 facets 3 4 5 det=1</emphasis>
- enter:
-
- <emphasis role="strong">restart 5 0 5 1 3 4 5</emphasis>
- <para>
- <emphasis role="strong">F#5 B#4 h=3 vertices/rays 2 3 4 5* det= 8</emphasis>
-
- <emphasis role="strong"> 1 0 0 -1</emphasis>
- enter
-
- <emphasis role="strong">restart 5 4 3 2 3 4 5</emphasis>
- </para>
+ aborted run.
<para>
Note that if some cobasic index is followed by a
"*", then the index only, without the
@@ -536,6 +391,8 @@ end
from the restart dictionary may be duplicated, and the final totals
of number of vertices/rays/facets may reflect this.
</para>
+</para>
+<para>
<emphasis role="strong">startingcobasis i<subscript>1</subscript>i<subscript>2</subscript>i ... i<subscript>n-1</subscript></emphasis>
This allows the user to specify a known cobasis for beginning the
reverse search.
@@ -543,33 +400,33 @@ end
is a list of the inequalities (for H-representation) or
vertices/rays (for V-representation) that define a cobasis. If it
is invalid, or this option is not specified,
- <emphasis>lrs</emphasis> will find its own starting cobasis. For
- example, with cube.ine, the user can start at vertex (-1,1,-1) by
- specifying:
- <emphasis role="strong">startingcobasis 1 3 4</emphasis>
- <emphasis role="strong">truncate </emphasis>
- // H-representation only
- //
- <emphasis role="strong"></emphasis>
+ <emphasis>lrs</emphasis> will find its own starting cobasis.
<blockquote>
The reverse search tree is truncated(pruned) whenever a new
vertex is encountered. Note: This does note necessarily produce the
set of all vertices adjacent to the optimum vertex in the
polyhedron, but just a subset of them.
</blockquote>
+ </para>
+ <para>
<emphasis role="strong">verbose</emphasis>
<blockquote>
Print slightly more detailed information about the run.
</blockquote>
- <emphasis role="strong">volume </emphasis>
+ </para>
+ <para>
+ <emphasis role="strong">volume</emphasis>
// V-representation only //
Compute volume - see section
<ulink url="#Volume%20Computation">Volume Computation.</ulink>
- <emphasis role="strong">voronoi </emphasis>
+ </para>
+ <para>
+ <emphasis role="strong">voronoi</emphasis>
// V-representation only - place immediately after end
statement //
Compute Voronoi diagram - see section
<ulink url="#Voronoi%20Diagrams">Voronoi Diagrams.</ulink>
+</para>
</refsect2>
</refsect1>
--
Debian packaging for the lrslib vertex enumeration package
More information about the debian-science-commits
mailing list