Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7ebd25ac536d248d499a3ce2acda963a > files > 1935

Macaulay2-1.3.1-8.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8" ?>  <!-- for emacs: -*- coding: utf-8 -*- -->
<!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"	 "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>fourierMotzkin -- interchange inequality/generator representation of a polyhedral cone</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div>next | <a href="___Finding_spthe_spfacets_spof_spthe_sppermutahedron.html">previous</a> | forward | <a href="___Finding_spthe_spfacets_spof_spthe_sppermutahedron.html">backward</a> | up | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div>

    </td>
  </tr>
</table>
<hr/>
<div><h1>fourierMotzkin -- interchange inequality/generator representation of a polyhedral cone</h1>
<div class="single"><h2>Synopsis</h2>
<ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>(A',B') = fourierMotzkin(A,B)</tt></div>
</dd></dl>
</div>
</li>
<li><div class="single">Inputs:<ul><li><span><tt>A</tt>, a <a href="../../Macaulay2Doc/html/___Matrix.html" title="the class of all matrices">Matrix</a> with entries in <a href="../../Macaulay2Doc/html/___Z__Z.html" title="the class of all integers">ZZ</a> or <a href="../../Macaulay2Doc/html/___Q__Q.html" title="the class of all rational numbers">QQ</a></span></li>
<li><span><tt>B</tt>, a <a href="../../Macaulay2Doc/html/___Matrix.html" title="the class of all matrices">Matrix</a> with entries in <a href="../../Macaulay2Doc/html/___Z__Z.html" title="the class of all integers">ZZ</a> or <a href="../../Macaulay2Doc/html/___Q__Q.html" title="the class of all rational numbers">QQ</a>(this input is optional)</span></li>
</ul>
</div>
</li>
<li><div class="single">Outputs:<ul><li><span><tt>A'</tt>, a <a href="../../Macaulay2Doc/html/___Matrix.html" title="the class of all matrices">Matrix</a> with entries in <a href="../../Macaulay2Doc/html/___Z__Z.html" title="the class of all integers">ZZ</a> or <a href="../../Macaulay2Doc/html/___Q__Q.html" title="the class of all rational numbers">QQ</a></span></li>
<li><span><tt>B'</tt>, a <a href="../../Macaulay2Doc/html/___Matrix.html" title="the class of all matrices">Matrix</a> with entries in <a href="../../Macaulay2Doc/html/___Z__Z.html" title="the class of all integers">ZZ</a> or <a href="../../Macaulay2Doc/html/___Q__Q.html" title="the class of all rational numbers">QQ</a></span></li>
</ul>
</div>
</li>
</ul>
</div>
<div class="single"><h2>Description</h2>
<div><p/>
The input pair <tt>(A,B)</tt> describes a rational polyhedral cone generated by nonnegative linear combinations of the column vectors of <tt>A</tt> and containing the linear space generated by the column vectors of <tt>B</tt>.  Dually, the pair <tt>(A,B)</tt> describes a rational polyhedral cone as the intersection of closed halfspaces; the set of vectors <tt>x</tt> satisfying <tt>(transpose A) * x &lt;= 0</tt> and <tt>(transpose B) * x == 0</tt>.  If the convex cone spans its ambient affine space, then the input <tt>B</tt> may be omitted.<p/>
The output pair <tt>(A',B')</tt> is the dual description of the same cone.  In particular, the output pair <tt>(A',B')</tt> is valid input.  If the convex cone spans its ambient affine space, then the output <tt>B'</tt> will be zero.<p/>
For example, consider the convex cone generated by the 26 columns of the following matrix.  Using Fourier-Motzkin elimination, we see that this cone is the intersection of 6 halfspaces and spans 3-space.<table class="examples"><tr><td><pre>i1 : rays = transpose matrix(QQ, {{1,1,6},{1,2,4},{1,2,5},
                    {1,2,6},{1,3,4},{1,3,5},{1,3,6},{1,4,4},{1,4,5},
                    {1,4,6},{1,5,4},{1,5,5},{1,5,6},{1,5,7},{1,6,3},
                    {1,6,4},{1,6,5},{1,6,6},{1,6,7},{1,7,4},{1,7,5},
                    {1,7,6},{1,7,8},{1,8,4},{1,8,5},{1,8,6}})

o1 = | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
     | 1 2 2 2 3 3 3 4 4 4 5 5 5 5 6 6 6 6 6 7 7 7 7 8 8 8 |
     | 6 4 5 6 4 5 6 4 5 6 4 5 6 7 3 4 5 6 7 4 5 6 8 4 5 6 |

              3        26
o1 : Matrix QQ  &lt;--- QQ</pre>
</td></tr>
<tr><td><pre>i2 : halfspaces = fourierMotzkin rays

o2 = (| -8 18 0  8  -22 -17 |, 0)
      | 1  -1 1  -2 2   -1  |
      | 0  -4 -2 -1 1   3   |

o2 : Sequence</pre>
</td></tr>
<tr><td><pre>i3 : numgens source halfspaces#0

o3 = 6</pre>
</td></tr>
<tr><td><pre>i4 : extremalRays = fourierMotzkin halfspaces

o4 = (| 1 1 1 1 1 1 |, 0)
      | 6 2 8 1 8 7 |
      | 3 4 4 6 6 8 |

o4 : Sequence</pre>
</td></tr>
<tr><td><pre>i5 : numgens source extremalRays#0

o5 = 6</pre>
</td></tr>
</table>
Using Fourier-Motzkin elimination a second time, we see that this cone is in fact generated by 6 vectors.<p/>
Here are some further examples illustrating fourierMotzkin elimination.<ul><li><a href="___Finding_spthe_spfacets_spof_spthe_spcyclic_sppolytope.html" title="">Finding the facets of the cyclic polytope</a></li>
<li><a href="___Finding_spthe_spfacets_spof_spthe_sppermutahedron.html" title="">Finding the facets of the permutahedron</a></li>
</ul>
</div>
</div>
<div class="waystouse"><h2>Ways to use <tt>fourierMotzkin</tt> :</h2>
<ul><li>fourierMotzkin(Matrix)</li>
<li>fourierMotzkin(Matrix,Matrix)</li>
</ul>
</div>
</div>
</body>
</html>