fixed a small bug in eval ehrhart
[polylib.git] / doc / codeDoc / html / matrix_8c.html
blob8010d15713936069dd641d343df49712c119225f
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>matrix.c File Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.2.15 -->
7 <center>
8 <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
9 <hr><h1>matrix.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
10 <code>#include &lt;stdlib.h&gt;</code><br>
11 <code>#include &lt;string.h&gt;</code><br>
12 <code>#include &lt;ctype.h&gt;</code><br>
13 <code>#include &lt;polylib/polylib.h&gt;</code><br>
15 <p>
16 <a href="matrix_8c-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
17 <tr><td colspan=2><br><h2>Functions</h2></td></tr>
18 <tr><td nowrap align=right valign=top>Matrix *&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a0">Matrix_Alloc</a> (unsigned NbRows, unsigned NbColumns)</td></tr>
19 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a1">Matrix_Free</a> (Matrix *Mat)</td></tr>
20 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a2">Matrix_Print</a> (FILE *Dst, char *Format, Matrix *Mat)</td></tr>
21 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a3">Matrix_Read_Input</a> (Matrix *Mat)</td></tr>
22 <tr><td nowrap align=right valign=top>Matrix *&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a4">Matrix_Read</a> (void)</td></tr>
23 <tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a5">hermite</a> (Matrix *H, Matrix *U, Matrix *Q)</td></tr>
24 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a6">right_hermite</a> (Matrix *A, Matrix **Hp, Matrix **Up, Matrix **Qp)</td></tr>
25 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a7">left_hermite</a> (Matrix *A, Matrix **Hp, Matrix **Qp, Matrix **Up)</td></tr>
26 <tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a8">MatInverse</a> (Matrix *Mat, Matrix *MatInv)</td></tr>
27 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a9">rat_prodmat</a> (Matrix *S, Matrix *X, Matrix *P)</td></tr>
28 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a10">Matrix_Vector_Product</a> (Matrix *Mat, <a class="el" href="arithmetique_8h.html#a93">Value</a> *p1, <a class="el" href="arithmetique_8h.html#a93">Value</a> *p2)</td></tr>
29 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a11">Vector_Matrix_Product</a> (<a class="el" href="arithmetique_8h.html#a93">Value</a> *p1, Matrix *Mat, <a class="el" href="arithmetique_8h.html#a93">Value</a> *p2)</td></tr>
30 <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a12">Matrix_Product</a> (Matrix *Mat1, Matrix *Mat2, Matrix *Mat3)</td></tr>
31 <tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="matrix_8c.html#a13">Matrix_Inverse</a> (Matrix *Mat, Matrix *MatInv)</td></tr>
32 </table>
33 <hr><h2>Function Documentation</h2>
34 <a name="a5" doxytag="matrix.c::hermite"></a><p>
35 <table width="100%" cellpadding="2" cellspacing="0" border="0">
36 <tr>
37 <td class="md">
38 <table cellpadding="0" cellspacing="0" border="0">
39 <tr>
40 <td class="md" nowrap valign="top"> int hermite </td>
41 <td class="md" valign="top">(&nbsp;</td>
42 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
43 <td class="mdname" nowrap>&nbsp; <em>H</em>, </td>
44 </tr>
45 <tr>
46 <td></td>
47 <td></td>
48 <td class="md" nowrap>Matrix *&nbsp;</td>
49 <td class="mdname" nowrap>&nbsp; <em>U</em>, </td>
50 </tr>
51 <tr>
52 <td></td>
53 <td></td>
54 <td class="md" nowrap>Matrix *&nbsp;</td>
55 <td class="mdname" nowrap>&nbsp; <em>Q</em></td>
56 </tr>
57 <tr>
58 <td></td>
59 <td class="md">)&nbsp;</td>
60 <td class="md" colspan="2"><code> [static]</code></td>
61 </tr>
63 </table>
64 </td>
65 </tr>
66 </table>
67 <table cellspacing=5 cellpadding=0 border=0>
68 <tr>
69 <td>
70 &nbsp;
71 </td>
72 <td>
74 <p>
76 <p>
77 Definition at line <a class="el" href="matrix_8c-source.html#l00192">192</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
78 <p>
79 References <a class="el" href="errormsg_8c-source.html#l00028">errormsg1</a>(), <a class="el" href="matrix_8c-source.html#l00109">Matrix_Print</a>(), <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00379">value_absolute</a>, <a class="el" href="arithmetique_8h-source.html#l00367">value_addto</a>, <a class="el" href="arithmetique_8h-source.html#l00319">value_assign</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00374">value_decrement</a>, <a class="el" href="arithmetique_8h-source.html#l00375">value_division</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00341">value_lt</a>, <a class="el" href="arithmetique_8h-source.html#l00376">value_modulus</a>, <a class="el" href="arithmetique_8h-source.html#l00371">value_multiply</a>, <a class="el" href="arithmetique_8h-source.html#l00398">value_neg_p</a>, <a class="el" href="arithmetique_8h-source.html#l00402">value_notzero_p</a>, <a class="el" href="arithmetique_8h-source.html#l00378">value_oppose</a>, <a class="el" href="arithmetique_8h-source.html#l00372">value_substract</a>, <a class="el" href="arithmetique_8h-source.html#l00401">value_zero_p</a>, and <a class="el" href="vector_8c-source.html#l00239">Vector_Exchange</a>(). </td>
80 </tr>
81 </table>
82 <a name="a7" doxytag="matrix.c::left_hermite"></a><p>
83 <table width="100%" cellpadding="2" cellspacing="0" border="0">
84 <tr>
85 <td class="md">
86 <table cellpadding="0" cellspacing="0" border="0">
87 <tr>
88 <td class="md" nowrap valign="top"> void left_hermite </td>
89 <td class="md" valign="top">(&nbsp;</td>
90 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
91 <td class="mdname" nowrap>&nbsp; <em>A</em>, </td>
92 </tr>
93 <tr>
94 <td></td>
95 <td></td>
96 <td class="md" nowrap>Matrix **&nbsp;</td>
97 <td class="mdname" nowrap>&nbsp; <em>Hp</em>, </td>
98 </tr>
99 <tr>
100 <td></td>
101 <td></td>
102 <td class="md" nowrap>Matrix **&nbsp;</td>
103 <td class="mdname" nowrap>&nbsp; <em>Qp</em>, </td>
104 </tr>
105 <tr>
106 <td></td>
107 <td></td>
108 <td class="md" nowrap>Matrix **&nbsp;</td>
109 <td class="mdname" nowrap>&nbsp; <em>Up</em></td>
110 </tr>
111 <tr>
112 <td></td>
113 <td class="md">)&nbsp;</td>
114 <td class="md" colspan="2"></td>
115 </tr>
117 </table>
118 </td>
119 </tr>
120 </table>
121 <table cellspacing=5 cellpadding=0 border=0>
122 <tr>
123 <td>
124 &nbsp;
125 </td>
126 <td>
131 Definition at line <a class="el" href="matrix_8c-source.html#l00471">471</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
133 References <a class="el" href="errormsg_8c-source.html#l00028">errormsg1</a>(), <a class="el" href="NormalForms_8c-source.html#l00483">hermite</a>(), <a class="el" href="matrix_8c-source.html#l00028">Matrix_Alloc</a>(), <a class="el" href="matrix_8c-source.html#l00085">Matrix_Free</a>(), <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00319">value_assign</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00320">value_set_si</a>, and <a class="el" href="vector_8c-source.html#l00223">Vector_Set</a>().
135 Referenced by <a class="el" href="polytest_8c-source.html#l00008">main</a>(). </td>
136 </tr>
137 </table>
138 <a name="a8" doxytag="matrix.c::MatInverse"></a><p>
139 <table width="100%" cellpadding="2" cellspacing="0" border="0">
140 <tr>
141 <td class="md">
142 <table cellpadding="0" cellspacing="0" border="0">
143 <tr>
144 <td class="md" nowrap valign="top"> int MatInverse </td>
145 <td class="md" valign="top">(&nbsp;</td>
146 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
147 <td class="mdname" nowrap>&nbsp; <em>Mat</em>, </td>
148 </tr>
149 <tr>
150 <td></td>
151 <td></td>
152 <td class="md" nowrap>Matrix *&nbsp;</td>
153 <td class="mdname" nowrap>&nbsp; <em>MatInv</em></td>
154 </tr>
155 <tr>
156 <td></td>
157 <td class="md">)&nbsp;</td>
158 <td class="md" colspan="2"></td>
159 </tr>
161 </table>
162 </td>
163 </tr>
164 </table>
165 <table cellspacing=5 cellpadding=0 border=0>
166 <tr>
167 <td>
168 &nbsp;
169 </td>
170 <td>
175 Definition at line <a class="el" href="matrix_8c-source.html#l00556">556</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
177 References <a class="el" href="vector_8c-source.html#l00099">Gcd</a>(), <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00319">value_assign</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00375">value_division</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00371">value_multiply</a>, <a class="el" href="arithmetique_8h-source.html#l00404">value_notone_p</a>, <a class="el" href="arithmetique_8h-source.html#l00402">value_notzero_p</a>, <a class="el" href="arithmetique_8h-source.html#l00320">value_set_si</a>, <a class="el" href="arithmetique_8h-source.html#l00372">value_substract</a>, <a class="el" href="arithmetique_8h-source.html#l00401">value_zero_p</a>, <a class="el" href="vector_8c-source.html#l00513">Vector_Gcd</a>(), <a class="el" href="vector_8c-source.html#l00610">Vector_Normalize_Positive</a>(), and <a class="el" href="vector_8c-source.html#l00223">Vector_Set</a>().
179 Referenced by <a class="el" href="polyparam_8c-source.html#l00303">traite_m_face</a>(). </td>
180 </tr>
181 </table>
182 <a name="a0" doxytag="matrix.c::Matrix_Alloc"></a><p>
183 <table width="100%" cellpadding="2" cellspacing="0" border="0">
184 <tr>
185 <td class="md">
186 <table cellpadding="0" cellspacing="0" border="0">
187 <tr>
188 <td class="md" nowrap valign="top"> Matrix* Matrix_Alloc </td>
189 <td class="md" valign="top">(&nbsp;</td>
190 <td class="md" nowrap valign="top">unsigned&nbsp;</td>
191 <td class="mdname" nowrap>&nbsp; <em>NbRows</em>, </td>
192 </tr>
193 <tr>
194 <td></td>
195 <td></td>
196 <td class="md" nowrap>unsigned&nbsp;</td>
197 <td class="mdname" nowrap>&nbsp; <em>NbColumns</em></td>
198 </tr>
199 <tr>
200 <td></td>
201 <td class="md">)&nbsp;</td>
202 <td class="md" colspan="2"></td>
203 </tr>
205 </table>
206 </td>
207 </tr>
208 </table>
209 <table cellspacing=5 cellpadding=0 border=0>
210 <tr>
211 <td>
212 &nbsp;
213 </td>
214 <td>
219 Definition at line <a class="el" href="matrix_8c-source.html#l00028">28</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
221 References <a class="el" href="errormsg_8c-source.html#l00028">errormsg1</a>(), <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, and <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>.
223 Referenced by <a class="el" href="Matop_8c-source.html#l00297">AddANullColumn</a>(), <a class="el" href="Matop_8c-source.html#l00279">AddANullRow</a>(), <a class="el" href="polyhedron_8c-source.html#l02209">AddConstraints</a>(), <a class="el" href="polyhedron_8c-source.html#l02528">AddRays</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00149">AddZPolytoZDomain</a>(), <a class="el" href="Lattice_8c-source.html#l00204">AffineSmith</a>(), <a class="el" href="polyhedron_8c-source.html#l03498">align_context</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00741">CanonicalForm</a>(), <a class="el" href="Lattice_8c-source.html#l00393">ChangeLatticeDimension</a>(), <a class="el" href="polyhedron_8c-source.html#l01919">Constraints2Polyhedron</a>(), <a class="el" href="NormalForms_8c-source.html#l00595">ConvertDarMattoPolMat</a>(), <a class="el" href="polyhedron_8c-source.html#l03109">DomainSimplify</a>(), <a class="el" href="polyparam_8c-source.html#l00848">Elim_Columns</a>(), <a class="el" href="Lattice_8c-source.html#l00078">EmptyLattice</a>(), <a class="el" href="Lattice_8c-source.html#l00423">ExtractLinearPart</a>(), <a class="el" href="polyparam_8c-source.html#l00912">Find_m_faces</a>(), <a class="el" href="Matop_8c-source.html#l00353">findHermiteBasis</a>(), <a class="el" href="Lattice_8c-source.html#l00975">FindHermiteBasisofDomain</a>(), <a class="el" href="polyhedron_8c-source.html#l02753">FindSimple</a>(), <a class="el" href="polyparam_8c-source.html#l00707">GenParamPolyhedron</a>(), <a class="el" href="Matop_8c-source.html#l00024">Identity</a>(), <a class="el" href="Lattice_8c-source.html#l00658">Lattice2LatticeUnion</a>(), <a class="el" href="Lattice_8c-source.html#l01104">LatticeImage</a>(), <a class="el" href="Lattice_8c-source.html#l00459">LatticeIntersection</a>(), <a class="el" href="Lattice_8c-source.html#l01143">LatticePreimage</a>(), <a class="el" href="matrix_8c-source.html#l00471">left_hermite</a>(), <a class="el" href="polytest_8c-source.html#l00008">main</a>(), <a class="el" href="Lattice_8c-source.html#l00553">MakeDioEqforInter</a>(), <a class="el" href="Matop_8c-source.html#l00101">Matrix_Copy</a>(), <a class="el" href="matrix_8c-source.html#l00170">Matrix_Read</a>(), <a class="el" href="polyhedron_8c-source.html#l02015">Polyhedron2Constraints</a>(), <a class="el" href="polyhedron_8c-source.html#l02508">Polyhedron2Rays</a>(), <a class="el" href="polyhedron_8c-source.html#l03838">Polyhedron_Image</a>(), <a class="el" href="polyhedron_8c-source.html#l03733">Polyhedron_Preimage</a>(), <a class="el" href="polyhedron_8c-source.html#l03570">Polyhedron_Scan</a>(), <a class="el" href="alpha_8c-source.html#l00122">PolyhedronLTQ</a>(), <a class="el" href="polyparam_8c-source.html#l00775">PreElim_Columns</a>(), <a class="el" href="polyhedron_8c-source.html#l02036">Rays2Polyhedron</a>(), <a class="el" href="SolveDio_8c-source.html#l00233">RearrangeMatforSolveDio</a>(), <a class="el" href="Matop_8c-source.html#l00332">RemoveColumn</a>(), <a class="el" href="Matop_8c-source.html#l00314">RemoveRow</a>(), <a class="el" href="matrix_8c-source.html#l00401">right_hermite</a>(), <a class="el" href="polyhedron_8c-source.html#l02976">SimplifyConstraints</a>(), <a class="el" href="polyhedron_8c-source.html#l03056">SimplifyEqualities</a>(), <a class="el" href="NormalForms_8c-source.html#l00619">Smith</a>(), <a class="el" href="SolveDio_8c-source.html#l00064">SolveDiophantine</a>(), <a class="el" href="polyhedron_8c-source.html#l03215">Stras_DomainSimplify</a>(), <a class="el" href="polyhedron_8c-source.html#l02388">SubConstraint</a>(), <a class="el" href="polyparam_8c-source.html#l00303">traite_m_face</a>(), <a class="el" href="Matop_8c-source.html#l00086">Transpose</a>(), <a class="el" href="ehrhart__union_8c-source.html#l00008">Union_Read</a>(), and <a class="el" href="polyparam_8c-source.html#l01475">VertexCT</a>(). </td>
224 </tr>
225 </table>
226 <a name="a1" doxytag="matrix.c::Matrix_Free"></a><p>
227 <table width="100%" cellpadding="2" cellspacing="0" border="0">
228 <tr>
229 <td class="md">
230 <table cellpadding="0" cellspacing="0" border="0">
231 <tr>
232 <td class="md" nowrap valign="top"> void Matrix_Free </td>
233 <td class="md" valign="top">(&nbsp;</td>
234 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
235 <td class="mdname1" valign="top" nowrap>&nbsp; <em>Mat</em> </td>
236 <td class="md" valign="top">)&nbsp;</td>
237 <td class="md" nowrap></td>
238 </tr>
240 </table>
241 </td>
242 </tr>
243 </table>
244 <table cellspacing=5 cellpadding=0 border=0>
245 <tr>
246 <td>
247 &nbsp;
248 </td>
249 <td>
254 Definition at line <a class="el" href="matrix_8c-source.html#l00085">85</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
256 References <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, and <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>.
258 Referenced by <a class="el" href="polyhedron_8c-source.html#l02209">AddConstraints</a>(), <a class="el" href="Lattice_8c-source.html#l00912">AddLattice</a>(), <a class="el" href="polyhedron_8c-source.html#l02528">AddRays</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00149">AddZPolytoZDomain</a>(), <a class="el" href="Lattice_8c-source.html#l00159">AffineHermite</a>(), <a class="el" href="Lattice_8c-source.html#l00204">AffineSmith</a>(), <a class="el" href="polyhedron_8c-source.html#l03498">align_context</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00741">CanonicalForm</a>(), <a class="el" href="polyhedron_8c-source.html#l01919">Constraints2Polyhedron</a>(), <a class="el" href="polyhedron_8c-source.html#l03109">DomainSimplify</a>(), <a class="el" href="polyparam_8c-source.html#l00848">Elim_Columns</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00243">EmptyZPolyhedron</a>(), <a class="el" href="polyparam_8c-source.html#l00912">Find_m_faces</a>(), <a class="el" href="Matop_8c-source.html#l00353">findHermiteBasis</a>(), <a class="el" href="Lattice_8c-source.html#l00975">FindHermiteBasisofDomain</a>(), <a class="el" href="polyhedron_8c-source.html#l02753">FindSimple</a>(), <a class="el" href="NormalForms_8c-source.html#l00695">Hermite</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00832">IntegraliseLattice</a>(), <a class="el" href="Lattice_8c-source.html#l01245">isfulldim</a>(), <a class="el" href="Matop_8c-source.html#l00140">isinHnf</a>(), <a class="el" href="Lattice_8c-source.html#l00658">Lattice2LatticeUnion</a>(), <a class="el" href="Lattice_8c-source.html#l00798">LatticeDifference</a>(), <a class="el" href="Lattice_8c-source.html#l01104">LatticeImage</a>(), <a class="el" href="Lattice_8c-source.html#l00324">LatticeIncludes</a>(), <a class="el" href="Lattice_8c-source.html#l00459">LatticeIntersection</a>(), <a class="el" href="Lattice_8c-source.html#l01143">LatticePreimage</a>(), <a class="el" href="Lattice_8c-source.html#l00027">LatticeUnion_Free</a>(), <a class="el" href="matrix_8c-source.html#l00471">left_hermite</a>(), <a class="el" href="c2p_8c-source.html#l00005">main</a>(), <a class="el" href="polyparam_8c-source.html#l01386">Param_Vertices_Free</a>(), <a class="el" href="polyhedron_8c-source.html#l03838">Polyhedron_Image</a>(), <a class="el" href="polyhedron_8c-source.html#l03733">Polyhedron_Preimage</a>(), <a class="el" href="polyhedron_8c-source.html#l03570">Polyhedron_Scan</a>(), <a class="el" href="alpha_8c-source.html#l00122">PolyhedronLTQ</a>(), <a class="el" href="polyhedron_8c-source.html#l02036">Rays2Polyhedron</a>(), <a class="el" href="SolveDio_8c-source.html#l00233">RearrangeMatforSolveDio</a>(), <a class="el" href="Lattice_8c-source.html#l00355">sameLattice</a>(), <a class="el" href="Lattice_8c-source.html#l01284">Simplify</a>(), <a class="el" href="polyhedron_8c-source.html#l02976">SimplifyConstraints</a>(), <a class="el" href="polyhedron_8c-source.html#l03056">SimplifyEqualities</a>(), <a class="el" href="NormalForms_8c-source.html#l00619">Smith</a>(), <a class="el" href="SolveDio_8c-source.html#l00064">SolveDiophantine</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00949">SplitZpolyhedron</a>(), <a class="el" href="polyhedron_8c-source.html#l03215">Stras_DomainSimplify</a>(), <a class="el" href="polyhedron_8c-source.html#l02388">SubConstraint</a>(), <a class="el" href="ehrhart__union_8c-source.html#l00008">Union_Read</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00084">ZPolyhedron_Free</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00572">ZPolyhedronDifference</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00649">ZPolyhedronImage</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00527">ZPolyhedronIntersection</a>(), and <a class="el" href="Zpolyhedron_8c-source.html#l00699">ZPolyhedronPreimage</a>(). </td>
259 </tr>
260 </table>
261 <a name="a13" doxytag="matrix.c::Matrix_Inverse"></a><p>
262 <table width="100%" cellpadding="2" cellspacing="0" border="0">
263 <tr>
264 <td class="md">
265 <table cellpadding="0" cellspacing="0" border="0">
266 <tr>
267 <td class="md" nowrap valign="top"> int Matrix_Inverse </td>
268 <td class="md" valign="top">(&nbsp;</td>
269 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
270 <td class="mdname" nowrap>&nbsp; <em>Mat</em>, </td>
271 </tr>
272 <tr>
273 <td></td>
274 <td></td>
275 <td class="md" nowrap>Matrix *&nbsp;</td>
276 <td class="mdname" nowrap>&nbsp; <em>MatInv</em></td>
277 </tr>
278 <tr>
279 <td></td>
280 <td class="md">)&nbsp;</td>
281 <td class="md" colspan="2"></td>
282 </tr>
284 </table>
285 </td>
286 </tr>
287 </table>
288 <table cellspacing=5 cellpadding=0 border=0>
289 <tr>
290 <td>
291 &nbsp;
292 </td>
293 <td>
298 Definition at line <a class="el" href="matrix_8c-source.html#l00873">873</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
300 References <a class="el" href="vector_8c-source.html#l00099">Gcd</a>(), <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00319">value_assign</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00375">value_division</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00371">value_multiply</a>, <a class="el" href="arithmetique_8h-source.html#l00398">value_neg_p</a>, <a class="el" href="arithmetique_8h-source.html#l00404">value_notone_p</a>, <a class="el" href="arithmetique_8h-source.html#l00402">value_notzero_p</a>, <a class="el" href="arithmetique_8h-source.html#l00378">value_oppose</a>, <a class="el" href="arithmetique_8h-source.html#l00320">value_set_si</a>, <a class="el" href="arithmetique_8h-source.html#l00372">value_substract</a>, <a class="el" href="arithmetique_8h-source.html#l00401">value_zero_p</a>, <a class="el" href="vector_8c-source.html#l00513">Vector_Gcd</a>(), and <a class="el" href="vector_8c-source.html#l00223">Vector_Set</a>().
302 Referenced by <a class="el" href="Lattice_8c-source.html#l00204">AffineSmith</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00741">CanonicalForm</a>(), <a class="el" href="Lattice_8c-source.html#l00975">FindHermiteBasisofDomain</a>(), <a class="el" href="Lattice_8c-source.html#l00658">Lattice2LatticeUnion</a>(), <a class="el" href="Lattice_8c-source.html#l01104">LatticeImage</a>(), <a class="el" href="NormalForms_8c-source.html#l00619">Smith</a>(), and <a class="el" href="SolveDio_8c-source.html#l00064">SolveDiophantine</a>(). </td>
303 </tr>
304 </table>
305 <a name="a2" doxytag="matrix.c::Matrix_Print"></a><p>
306 <table width="100%" cellpadding="2" cellspacing="0" border="0">
307 <tr>
308 <td class="md">
309 <table cellpadding="0" cellspacing="0" border="0">
310 <tr>
311 <td class="md" nowrap valign="top"> void Matrix_Print </td>
312 <td class="md" valign="top">(&nbsp;</td>
313 <td class="md" nowrap valign="top">FILE *&nbsp;</td>
314 <td class="mdname" nowrap>&nbsp; <em>Dst</em>, </td>
315 </tr>
316 <tr>
317 <td></td>
318 <td></td>
319 <td class="md" nowrap>char *&nbsp;</td>
320 <td class="mdname" nowrap>&nbsp; <em>Format</em>, </td>
321 </tr>
322 <tr>
323 <td></td>
324 <td></td>
325 <td class="md" nowrap>Matrix *&nbsp;</td>
326 <td class="mdname" nowrap>&nbsp; <em>Mat</em></td>
327 </tr>
328 <tr>
329 <td></td>
330 <td class="md">)&nbsp;</td>
331 <td class="md" colspan="2"></td>
332 </tr>
334 </table>
335 </td>
336 </tr>
337 </table>
338 <table cellspacing=5 cellpadding=0 border=0>
339 <tr>
340 <td>
341 &nbsp;
342 </td>
343 <td>
348 Definition at line <a class="el" href="matrix_8c-source.html#l00109">109</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
350 References <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, and <a class="el" href="arithmetique_8h-source.html#l00324">value_print</a>.
352 Referenced by <a class="el" href="polyhedron_8c-source.html#l00340">Chernikova</a>(), <a class="el" href="polyhedron_8c-source.html#l01919">Constraints2Polyhedron</a>(), <a class="el" href="polyparam_8c-source.html#l00848">Elim_Columns</a>(), <a class="el" href="polyparam_8c-source.html#l00912">Find_m_faces</a>(), <a class="el" href="polyhedron_8c-source.html#l00699">Gauss</a>(), <a class="el" href="matrix_8c-source.html#l00192">hermite</a>(), <a class="el" href="c2p_8c-source.html#l00005">main</a>(), <a class="el" href="alpha_8c-source.html#l00122">PolyhedronLTQ</a>(), <a class="el" href="polyparam_8c-source.html#l00775">PreElim_Columns</a>(), <a class="el" href="Lattice_8c-source.html#l00015">PrintLatticeUnion</a>(), <a class="el" href="polyhedron_8c-source.html#l02036">Rays2Polyhedron</a>(), <a class="el" href="polyhedron_8c-source.html#l00824">Remove_Redundants</a>(), <a class="el" href="polyparam_8c-source.html#l00303">traite_m_face</a>(), and <a class="el" href="Zpolyhedron_8c-source.html#l00337">ZPolyhedronPrint</a>(). </td>
353 </tr>
354 </table>
355 <a name="a12" doxytag="matrix.c::Matrix_Product"></a><p>
356 <table width="100%" cellpadding="2" cellspacing="0" border="0">
357 <tr>
358 <td class="md">
359 <table cellpadding="0" cellspacing="0" border="0">
360 <tr>
361 <td class="md" nowrap valign="top"> void Matrix_Product </td>
362 <td class="md" valign="top">(&nbsp;</td>
363 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
364 <td class="mdname" nowrap>&nbsp; <em>Mat1</em>, </td>
365 </tr>
366 <tr>
367 <td></td>
368 <td></td>
369 <td class="md" nowrap>Matrix *&nbsp;</td>
370 <td class="mdname" nowrap>&nbsp; <em>Mat2</em>, </td>
371 </tr>
372 <tr>
373 <td></td>
374 <td></td>
375 <td class="md" nowrap>Matrix *&nbsp;</td>
376 <td class="mdname" nowrap>&nbsp; <em>Mat3</em></td>
377 </tr>
378 <tr>
379 <td></td>
380 <td class="md">)&nbsp;</td>
381 <td class="md" colspan="2"></td>
382 </tr>
384 </table>
385 </td>
386 </tr>
387 </table>
388 <table cellspacing=5 cellpadding=0 border=0>
389 <tr>
390 <td>
391 &nbsp;
392 </td>
393 <td>
398 Definition at line <a class="el" href="matrix_8c-source.html#l00825">825</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
400 References <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00367">value_addto</a>, <a class="el" href="arithmetique_8h-source.html#l00319">value_assign</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00371">value_multiply</a>, and <a class="el" href="arithmetique_8h-source.html#l00320">value_set_si</a>.
402 Referenced by <a class="el" href="Zpolyhedron_8c-source.html#l00149">AddZPolytoZDomain</a>(), <a class="el" href="Zpolyhedron_8c-source.html#l00741">CanonicalForm</a>(), <a class="el" href="Lattice_8c-source.html#l00975">FindHermiteBasisofDomain</a>(), <a class="el" href="Lattice_8c-source.html#l00658">Lattice2LatticeUnion</a>(), <a class="el" href="Lattice_8c-source.html#l01104">LatticeImage</a>(), and <a class="el" href="polytest_8c-source.html#l00008">main</a>(). </td>
403 </tr>
404 </table>
405 <a name="a4" doxytag="matrix.c::Matrix_Read"></a><p>
406 <table width="100%" cellpadding="2" cellspacing="0" border="0">
407 <tr>
408 <td class="md">
409 <table cellpadding="0" cellspacing="0" border="0">
410 <tr>
411 <td class="md" nowrap valign="top"> Matrix* Matrix_Read </td>
412 <td class="md" valign="top">(&nbsp;</td>
413 <td class="md" nowrap valign="top">void&nbsp;</td>
414 <td class="mdname1" valign="top" nowrap>&nbsp; </td>
415 <td class="md" valign="top">)&nbsp;</td>
416 <td class="md" nowrap></td>
417 </tr>
419 </table>
420 </td>
421 </tr>
422 </table>
423 <table cellspacing=5 cellpadding=0 border=0>
424 <tr>
425 <td>
426 &nbsp;
427 </td>
428 <td>
433 Definition at line <a class="el" href="matrix_8c-source.html#l00170">170</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
435 References <a class="el" href="errormsg_8c-source.html#l00028">errormsg1</a>(), <a class="el" href="matrix_8c-source.html#l00028">Matrix_Alloc</a>(), and <a class="el" href="matrix_8c-source.html#l00133">Matrix_Read_Input</a>().
437 Referenced by <a class="el" href="c2p_8c-source.html#l00005">main</a>(), and <a class="el" href="ehrhart__union_8c-source.html#l00008">Union_Read</a>(). </td>
438 </tr>
439 </table>
440 <a name="a3" doxytag="matrix.c::Matrix_Read_Input"></a><p>
441 <table width="100%" cellpadding="2" cellspacing="0" border="0">
442 <tr>
443 <td class="md">
444 <table cellpadding="0" cellspacing="0" border="0">
445 <tr>
446 <td class="md" nowrap valign="top"> void Matrix_Read_Input </td>
447 <td class="md" valign="top">(&nbsp;</td>
448 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
449 <td class="mdname1" valign="top" nowrap>&nbsp; <em>Mat</em> </td>
450 <td class="md" valign="top">)&nbsp;</td>
451 <td class="md" nowrap></td>
452 </tr>
454 </table>
455 </td>
456 </tr>
457 </table>
458 <table cellspacing=5 cellpadding=0 border=0>
459 <tr>
460 <td>
461 &nbsp;
462 </td>
463 <td>
468 Definition at line <a class="el" href="matrix_8c-source.html#l00133">133</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
470 References <a class="el" href="errormsg_8c-source.html#l00028">errormsg1</a>(), <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, and <a class="el" href="arithmetique_8h-source.html#l00323">value_read</a>.
472 Referenced by <a class="el" href="matrix_8c-source.html#l00170">Matrix_Read</a>(), and <a class="el" href="ehrhart__union_8c-source.html#l00008">Union_Read</a>(). </td>
473 </tr>
474 </table>
475 <a name="a10" doxytag="matrix.c::Matrix_Vector_Product"></a><p>
476 <table width="100%" cellpadding="2" cellspacing="0" border="0">
477 <tr>
478 <td class="md">
479 <table cellpadding="0" cellspacing="0" border="0">
480 <tr>
481 <td class="md" nowrap valign="top"> void Matrix_Vector_Product </td>
482 <td class="md" valign="top">(&nbsp;</td>
483 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
484 <td class="mdname" nowrap>&nbsp; <em>Mat</em>, </td>
485 </tr>
486 <tr>
487 <td></td>
488 <td></td>
489 <td class="md" nowrap><a class="el" href="arithmetique_8h.html#a93">Value</a> *&nbsp;</td>
490 <td class="mdname" nowrap>&nbsp; <em>p1</em>, </td>
491 </tr>
492 <tr>
493 <td></td>
494 <td></td>
495 <td class="md" nowrap><a class="el" href="arithmetique_8h.html#a93">Value</a> *&nbsp;</td>
496 <td class="mdname" nowrap>&nbsp; <em>p2</em></td>
497 </tr>
498 <tr>
499 <td></td>
500 <td class="md">)&nbsp;</td>
501 <td class="md" colspan="2"></td>
502 </tr>
504 </table>
505 </td>
506 </tr>
507 </table>
508 <table cellspacing=5 cellpadding=0 border=0>
509 <tr>
510 <td>
511 &nbsp;
512 </td>
513 <td>
518 Definition at line <a class="el" href="matrix_8c-source.html#l00753">753</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
520 References <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00367">value_addto</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00371">value_multiply</a>, and <a class="el" href="arithmetique_8h-source.html#l00320">value_set_si</a>. </td>
521 </tr>
522 </table>
523 <a name="a9" doxytag="matrix.c::rat_prodmat"></a><p>
524 <table width="100%" cellpadding="2" cellspacing="0" border="0">
525 <tr>
526 <td class="md">
527 <table cellpadding="0" cellspacing="0" border="0">
528 <tr>
529 <td class="md" nowrap valign="top"> void rat_prodmat </td>
530 <td class="md" valign="top">(&nbsp;</td>
531 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
532 <td class="mdname" nowrap>&nbsp; <em>S</em>, </td>
533 </tr>
534 <tr>
535 <td></td>
536 <td></td>
537 <td class="md" nowrap>Matrix *&nbsp;</td>
538 <td class="mdname" nowrap>&nbsp; <em>X</em>, </td>
539 </tr>
540 <tr>
541 <td></td>
542 <td></td>
543 <td class="md" nowrap>Matrix *&nbsp;</td>
544 <td class="mdname" nowrap>&nbsp; <em>P</em></td>
545 </tr>
546 <tr>
547 <td></td>
548 <td class="md">)&nbsp;</td>
549 <td class="md" colspan="2"></td>
550 </tr>
552 </table>
553 </td>
554 </tr>
555 </table>
556 <table cellspacing=5 cellpadding=0 border=0>
557 <tr>
558 <td>
559 &nbsp;
560 </td>
561 <td>
566 Definition at line <a class="el" href="matrix_8c-source.html#l00684">684</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
568 References <a class="el" href="vector_8c-source.html#l00099">Gcd</a>(), <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00367">value_addto</a>, <a class="el" href="arithmetique_8h-source.html#l00319">value_assign</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00375">value_division</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00371">value_multiply</a>, <a class="el" href="arithmetique_8h-source.html#l00403">value_one_p</a>, <a class="el" href="arithmetique_8h-source.html#l00320">value_set_si</a>, and <a class="el" href="vector_8c-source.html#l00610">Vector_Normalize_Positive</a>().
570 Referenced by <a class="el" href="polyparam_8c-source.html#l00303">traite_m_face</a>(). </td>
571 </tr>
572 </table>
573 <a name="a6" doxytag="matrix.c::right_hermite"></a><p>
574 <table width="100%" cellpadding="2" cellspacing="0" border="0">
575 <tr>
576 <td class="md">
577 <table cellpadding="0" cellspacing="0" border="0">
578 <tr>
579 <td class="md" nowrap valign="top"> void right_hermite </td>
580 <td class="md" valign="top">(&nbsp;</td>
581 <td class="md" nowrap valign="top">Matrix *&nbsp;</td>
582 <td class="mdname" nowrap>&nbsp; <em>A</em>, </td>
583 </tr>
584 <tr>
585 <td></td>
586 <td></td>
587 <td class="md" nowrap>Matrix **&nbsp;</td>
588 <td class="mdname" nowrap>&nbsp; <em>Hp</em>, </td>
589 </tr>
590 <tr>
591 <td></td>
592 <td></td>
593 <td class="md" nowrap>Matrix **&nbsp;</td>
594 <td class="mdname" nowrap>&nbsp; <em>Up</em>, </td>
595 </tr>
596 <tr>
597 <td></td>
598 <td></td>
599 <td class="md" nowrap>Matrix **&nbsp;</td>
600 <td class="mdname" nowrap>&nbsp; <em>Qp</em></td>
601 </tr>
602 <tr>
603 <td></td>
604 <td class="md">)&nbsp;</td>
605 <td class="md" colspan="2"></td>
606 </tr>
608 </table>
609 </td>
610 </tr>
611 </table>
612 <table cellspacing=5 cellpadding=0 border=0>
613 <tr>
614 <td>
615 &nbsp;
616 </td>
617 <td>
622 Definition at line <a class="el" href="matrix_8c-source.html#l00401">401</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
624 References <a class="el" href="errormsg_8c-source.html#l00028">errormsg1</a>(), <a class="el" href="NormalForms_8c-source.html#l00483">hermite</a>(), <a class="el" href="matrix_8c-source.html#l00028">Matrix_Alloc</a>(), <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00319">value_assign</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00320">value_set_si</a>, <a class="el" href="vector_8c-source.html#l00252">Vector_Copy</a>(), and <a class="el" href="vector_8c-source.html#l00223">Vector_Set</a>().
626 Referenced by <a class="el" href="polytest_8c-source.html#l00008">main</a>(). </td>
627 </tr>
628 </table>
629 <a name="a11" doxytag="matrix.c::Vector_Matrix_Product"></a><p>
630 <table width="100%" cellpadding="2" cellspacing="0" border="0">
631 <tr>
632 <td class="md">
633 <table cellpadding="0" cellspacing="0" border="0">
634 <tr>
635 <td class="md" nowrap valign="top"> void Vector_Matrix_Product </td>
636 <td class="md" valign="top">(&nbsp;</td>
637 <td class="md" nowrap valign="top"><a class="el" href="arithmetique_8h.html#a93">Value</a> *&nbsp;</td>
638 <td class="mdname" nowrap>&nbsp; <em>p1</em>, </td>
639 </tr>
640 <tr>
641 <td></td>
642 <td></td>
643 <td class="md" nowrap>Matrix *&nbsp;</td>
644 <td class="mdname" nowrap>&nbsp; <em>Mat</em>, </td>
645 </tr>
646 <tr>
647 <td></td>
648 <td></td>
649 <td class="md" nowrap><a class="el" href="arithmetique_8h.html#a93">Value</a> *&nbsp;</td>
650 <td class="mdname" nowrap>&nbsp; <em>p2</em></td>
651 </tr>
652 <tr>
653 <td></td>
654 <td class="md">)&nbsp;</td>
655 <td class="md" colspan="2"></td>
656 </tr>
658 </table>
659 </td>
660 </tr>
661 </table>
662 <table cellspacing=5 cellpadding=0 border=0>
663 <tr>
664 <td>
665 &nbsp;
666 </td>
667 <td>
672 Definition at line <a class="el" href="matrix_8c-source.html#l00791">791</a> of file <a class="el" href="matrix_8c-source.html">matrix.c</a>.
674 References <a class="el" href="arithmetique_8h-source.html#l00229">Value</a>, <a class="el" href="arithmetique_8h-source.html#l00367">value_addto</a>, <a class="el" href="arithmetique_8h-source.html#l00322">value_clear</a>, <a class="el" href="arithmetique_8h-source.html#l00318">value_init</a>, <a class="el" href="arithmetique_8h-source.html#l00371">value_multiply</a>, and <a class="el" href="arithmetique_8h-source.html#l00320">value_set_si</a>. </td>
675 </tr>
676 </table>
677 <hr><address align="right"><small>Generated on Fri Nov 8 12:10:07 2002 for Polylib by
678 <a href="http://www.doxygen.org/index.html">
679 <img src="doxygen.png" alt="doxygen" align="middle" border=0
680 width=110 height=53></a>1.2.15 </small></address>
681 </body>
682 </html>