1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294
|
Content-type: text/html; charset=UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of redund|minrep</TITLE>
</HEAD><BODY>
<H1>redund|minrep</H1>
Section: lrslib 7.3 (1)<BR>Updated: 2024.1.10 <BR><A HREF="#index">Index</A>
<A HREF="../index.html">Return to Main Contents</A><HR>
<A NAME="lbAB"> </A>
<H3>Name</H3>
redund|minrep - Remove redundant inequalities from an H-representation or redundant
vertices (non-extreme points) from a V-representation. <B>minrep</B> also identifies hidden
linearities.
<A NAME="lbAC"> </A>
<H3>Synopsis</H3>
<DL COMPACT>
<DT>
<B>redund</B> <I>[input-file] [output-file]</I>
<DT>
<B>minrep</B> <I>[input-file] [output-file]</I>
<DT>
<B>mpirun</B> -np [procs] <B>mplrs -minrep</B> <I>[input-file] [output-file] [option...]</I>
</DL>
<A NAME="lbAD"> </A>
<H3>Description</H3>
<P>
<B>redund</B> and <B>minrep</B> are aliases to <B>lrs</B> which is part of
<DD>the C library <B><A HREF="../man5/lrslib.5.html">lrslib</A>(5)</B>.
This functionality can also be performed by
<B>lrs</B> directly by using the options described below.
All computations are done in exact arithmetic. For input file descriptions
see <B><A HREF="../man1/lrs.1.html">lrs</A>(1)</B>.
A parallel version of <B>minrep</B>
is given by <B>mplrs -minrep</B>.
The <B>-redund</B> option performs the same function and is retained for legacy.
(see <B><A HREF="../man1/mplrs.1.html">mplrs</A>(1)</B>)
<P>
<I>redund</I>
<BR>
<I>H-representation:</I>
redundant inequalities in an input H-representation are removed and
the remaining inequalities output.
Hidden linearities
are not detected unless the <B>testlin</B> option is included,
in which case the output is a minimum representation
and the dimension is reported.
<BR>
<I>V-representation:</I>
outputs all extreme points and extreme rays, often called the
<I>convex hull</I> problem.
The <B>testlin</B> option cause linearities to be detected and explicitly
output.
<BR>
Outputs can be piped directly into <I>lrs</I>.
<I>redund</I> is a link to <I>lrs</I> which can also perform these functions via
the <B>testlin</B>, <B>redund</B> and <B>redund_list</B> options.
<B>mplrs -redund</B> always sets the <B>testlin</B> option, so always produces
minimum representations.
<P>
<I>minrep</I>
<BR>
Equivalent to <B>redund</B> with the <B>testlin</B> option.
<P>
<P>
With no options minrep|redund will process the entire input file.
<P>
<B>redund start end </B>
<BR>
Check input lines with line numbers from start to end and remove any redundant lines.
<BR>
<B>redund 0 0</B> will check all input lines.
<P>
<B>redund_list k i_1 i_2 ... i_k</B>
<BR>
Check the k input line numbers with indices i_1 i_2 ... i_k
and remove any redundant lines.
<P>
<B>testlin</B> <B>(before the begin line only)</B> (new 7.3)
<BR>
An LP test will be made for hidden linearities at the beginning of the run and is reported.
If there are no hidden linearities
one LP per constraint tests for redundancy. (<I>mplrs</I> can be run with no verification step.)
If hidden linearities exist two LPs per constraint search for hidden linearities and remove redundancies.
In both cases
the run ends with a minimum set of linearities and inequalities (ie. no hidden inequalities or duplicates)
and the dimension is reported.
(<I>mplrs</I> will find all linearities but some non redundant inequalities may be eliminated, so a second run is required.)
<P>
<B>verbose</B>
<BR>
As each input line is checked a message is printed telling its status
<BR>
<BR> *nr :non-redundant
<BR> *re :redundant
<BR> *sr :strongly redundant
<BR>
For an H-representation strongly redundant means the feasible
region lies in its open half-space. For a V-representation it means that the point
lies in the (relative) interior of the convex hull.
<BR>
In addition <I>minrep</I> may report
<BR> *li :linearity
<A NAME="lbAE"> </A>
<H3>Examples</H3>
<P>
(1) Remove hidden linearities and minimum representation of an H-representation.
<BR> % cat cube.ine
<BR> H-representation
<BR> begin
<BR> 7 4 rational
<BR> 0 1 0 0
<BR> 0 0 1 0
<BR> 0 0 0 1
<BR> 1 -1 0 0
<BR> 1 0 -1 0
<BR> 1 0 0 -1
<BR> -1 0 0 1
<BR> end
<BR> verbose
<BR>
<BR> % minrep cube.ine
<BR> minrep:lrslib_v.7.3_2024.1.10(64bit,lrslong.h,hybrid_arithmetic)
<BR> *Input taken from cube.ine
<BR> *hidden linearities exist
<BR> *finding minimum representation
<BR> *nr 0 1 0 0
<BR> *nr 0 0 1 0
<BR> *sr 0 0 0 1
<BR> *nr 1 -1 0 0
<BR> *nr 1 0 -1 0
<BR> *li 1 0 0 -1
<BR> *li-1 0 0 1
<BR> *linearity in row=6 removed or in cobasis, independent
<BR> *linearity in row=7 dependent, made redundant
<BR> H-representation
<BR> linearity 1 1
<BR> begin
<BR> 5 4 rational
<BR> 1 0 0 -1
<BR> 0 1 0 0
<BR> 0 0 1 0
<BR> 1 -1 0 0
<BR> 1 0 -1 0
<BR> end
<BR>
<BR> *input had 7 rows and 4 columns
<BR> * 2 redundant row(s) found
<BR> 3 7
<BR> * 1 hidden linearity found
<BR>
<P>
(2) Compute the extreme points of a set of 10 points in R^3
<P>
<BR> % cat c.ext
<BR> V-representation
<BR> begin
<BR> 10 4 rational
<BR> 1 1 1 1
<BR> 1 0 1 1
<BR> 1 1/2 0 1/3
<BR> 1 1 1 0
<BR> 1 0 1 0
<BR> 1 1 0 0
<BR> 1 0 0 0
<BR> 1 0 1/3 1/4
<BR> 1 1 0 1
<BR> 1 0 0 1
<BR> end
<P>
<BR> % redund c.ext
<P>
<BR> *redund:lrslib v.7.2 2020.6.8(64bit,lrslong.h,hybrid arithmetic)
<BR> *Input taken from c.ext
<BR> V-representation
<BR> begin
<BR> 8 4 rational
<BR> 1 1 1 1
<BR> 1 0 1 1
<BR> 1 1 1 0
<BR> 1 0 1 0
<BR> 1 1 0 0
<BR> 1 0 0 0
<BR> 1 1 0 1
<BR> 1 0 0 1
<BR> end
<BR> *Input had 10 rows and 4 columns
<BR> * 2 redundant row(s) found:
<BR> 3 8
<P>
<A NAME="lbAF"> </A>
<H3>Notes</H3>
<DL COMPACT>
<DT> 1.<DD>
FAQ page
<DL COMPACT><DT><DD>
<A HREF="https://inf.ethz.ch/personal/fukudak/polyfaq/polyfaq.html">https://inf.ethz.ch/personal/fukudak/polyfaq/polyfaq.html</A>
</DL>
<DT>2.<DD>
redund: extreme point enumeration and eliminating redundant inequalities
<DL COMPACT><DT><DD>
<A HREF="http://cgm.cs.mcgill.ca/%7Eavis/C/lrslib/USERGUIDE.html#redund">http://cgm.cs.mcgill.ca/%7Eavis/C/lrslib/USERGUIDE.html#redund</A>
</DL>
<DT>3.<DD>
User's guide for lrslib
<DL COMPACT><DT><DD>
<A HREF="http://cgm.cs.mcgill.ca/%7Eavis/C/lrslib/USERGUIDE.html">http://cgm.cs.mcgill.ca/%7Eavis/C/lrslib/USERGUIDE.html</A>
</DL>
</DL>
<A NAME="lbAG"> </A>
<H3>Author</H3>
David Avis <avis at cs dot mcgill dot ca >
<A NAME="lbAH"> </A>
<H3>See also</H3>
<B><A HREF="../man1/lrs.1.html">lrs</A></B>(1),
<B><A HREF="../man1/mplrs.1.html">mplrs</A></B>(1),
<B><A HREF="../man5/lrslib.5.html">lrslib</A></B>(5),
<P>
<HR>
<A NAME="index"> </A><H2>Index</H2>
<DL>
<DL>
<DT><A HREF="#lbAB">Name</A><DD>
<DT><A HREF="#lbAC">Synopsis</A><DD>
<DT><A HREF="#lbAD">Description</A><DD>
<DT><A HREF="#lbAE">Examples</A><DD>
<DT><A HREF="#lbAF">Notes</A><DD>
<DT><A HREF="#lbAG">Author</A><DD>
<DT><A HREF="#lbAH">See also</A><DD>
</DL>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 07:33:14 GMT, January 31, 2024
</BODY>
</HTML>
|