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">
6 <!-- Generated by Doxygen 1.2.15 -->
8 <a class=
"qindex" href=
"main.html">Main Page
</a> <a class=
"qindex" href=
"annotated.html">Compound List
</a> <a class=
"qindex" href=
"files.html">File List
</a> <a class=
"qindex" href=
"functions.html">Compound Members
</a> <a class=
"qindex" href=
"globals.html">File Members
</a> </center>
9 <hr><h1>matrix.c File Reference
</h1><code>#include
<stdio.h
></code><br>
10 <code>#include
<stdlib.h
></code><br>
11 <code>#include
<string.h
></code><br>
12 <code>#include
<ctype.h
></code><br>
13 <code>#include
<polylib/polylib.h
></code><br>
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 *
</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
</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
</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
</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 *
</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
</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
</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
</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
</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
</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
</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
</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
</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
</td><td valign=bottom
><a class=
"el" href=
"matrix_8c.html#a13">Matrix_Inverse
</a> (Matrix *Mat, Matrix *MatInv)
</td></tr>
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">
38 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
40 <td class=
"md" nowrap
valign=
"top"> int hermite
</td>
41 <td class=
"md" valign=
"top">(
</td>
42 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
43 <td class=
"mdname" nowrap
> <em>H
</em>,
</td>
48 <td class=
"md" nowrap
>Matrix *
</td>
49 <td class=
"mdname" nowrap
> <em>U
</em>,
</td>
54 <td class=
"md" nowrap
>Matrix *
</td>
55 <td class=
"mdname" nowrap
> <em>Q
</em></td>
59 <td class=
"md">)
</td>
60 <td class=
"md" colspan=
"2"><code> [static]
</code></td>
67 <table cellspacing=
5 cellpadding=
0 border=
0>
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>.
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>
82 <a name=
"a7" doxytag=
"matrix.c::left_hermite"></a><p>
83 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
86 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
88 <td class=
"md" nowrap
valign=
"top"> void left_hermite
</td>
89 <td class=
"md" valign=
"top">(
</td>
90 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
91 <td class=
"mdname" nowrap
> <em>A
</em>,
</td>
96 <td class=
"md" nowrap
>Matrix **
</td>
97 <td class=
"mdname" nowrap
> <em>Hp
</em>,
</td>
102 <td class=
"md" nowrap
>Matrix **
</td>
103 <td class=
"mdname" nowrap
> <em>Qp
</em>,
</td>
108 <td class=
"md" nowrap
>Matrix **
</td>
109 <td class=
"mdname" nowrap
> <em>Up
</em></td>
113 <td class=
"md">)
</td>
114 <td class=
"md" colspan=
"2"></td>
121 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
138 <a name=
"a8" doxytag=
"matrix.c::MatInverse"></a><p>
139 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
142 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
144 <td class=
"md" nowrap
valign=
"top"> int MatInverse
</td>
145 <td class=
"md" valign=
"top">(
</td>
146 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
147 <td class=
"mdname" nowrap
> <em>Mat
</em>,
</td>
152 <td class=
"md" nowrap
>Matrix *
</td>
153 <td class=
"mdname" nowrap
> <em>MatInv
</em></td>
157 <td class=
"md">)
</td>
158 <td class=
"md" colspan=
"2"></td>
165 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
182 <a name=
"a0" doxytag=
"matrix.c::Matrix_Alloc"></a><p>
183 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
186 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
188 <td class=
"md" nowrap
valign=
"top"> Matrix* Matrix_Alloc
</td>
189 <td class=
"md" valign=
"top">(
</td>
190 <td class=
"md" nowrap
valign=
"top">unsigned
</td>
191 <td class=
"mdname" nowrap
> <em>NbRows
</em>,
</td>
196 <td class=
"md" nowrap
>unsigned
</td>
197 <td class=
"mdname" nowrap
> <em>NbColumns
</em></td>
201 <td class=
"md">)
</td>
202 <td class=
"md" colspan=
"2"></td>
209 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
226 <a name=
"a1" doxytag=
"matrix.c::Matrix_Free"></a><p>
227 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
230 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
232 <td class=
"md" nowrap
valign=
"top"> void Matrix_Free
</td>
233 <td class=
"md" valign=
"top">(
</td>
234 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
235 <td class=
"mdname1" valign=
"top" nowrap
> <em>Mat
</em> </td>
236 <td class=
"md" valign=
"top">)
</td>
237 <td class=
"md" nowrap
></td>
244 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
261 <a name=
"a13" doxytag=
"matrix.c::Matrix_Inverse"></a><p>
262 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
265 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
267 <td class=
"md" nowrap
valign=
"top"> int Matrix_Inverse
</td>
268 <td class=
"md" valign=
"top">(
</td>
269 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
270 <td class=
"mdname" nowrap
> <em>Mat
</em>,
</td>
275 <td class=
"md" nowrap
>Matrix *
</td>
276 <td class=
"mdname" nowrap
> <em>MatInv
</em></td>
280 <td class=
"md">)
</td>
281 <td class=
"md" colspan=
"2"></td>
288 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
305 <a name=
"a2" doxytag=
"matrix.c::Matrix_Print"></a><p>
306 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
309 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
311 <td class=
"md" nowrap
valign=
"top"> void Matrix_Print
</td>
312 <td class=
"md" valign=
"top">(
</td>
313 <td class=
"md" nowrap
valign=
"top">FILE *
</td>
314 <td class=
"mdname" nowrap
> <em>Dst
</em>,
</td>
319 <td class=
"md" nowrap
>char *
</td>
320 <td class=
"mdname" nowrap
> <em>Format
</em>,
</td>
325 <td class=
"md" nowrap
>Matrix *
</td>
326 <td class=
"mdname" nowrap
> <em>Mat
</em></td>
330 <td class=
"md">)
</td>
331 <td class=
"md" colspan=
"2"></td>
338 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
355 <a name=
"a12" doxytag=
"matrix.c::Matrix_Product"></a><p>
356 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
359 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
361 <td class=
"md" nowrap
valign=
"top"> void Matrix_Product
</td>
362 <td class=
"md" valign=
"top">(
</td>
363 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
364 <td class=
"mdname" nowrap
> <em>Mat1
</em>,
</td>
369 <td class=
"md" nowrap
>Matrix *
</td>
370 <td class=
"mdname" nowrap
> <em>Mat2
</em>,
</td>
375 <td class=
"md" nowrap
>Matrix *
</td>
376 <td class=
"mdname" nowrap
> <em>Mat3
</em></td>
380 <td class=
"md">)
</td>
381 <td class=
"md" colspan=
"2"></td>
388 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
405 <a name=
"a4" doxytag=
"matrix.c::Matrix_Read"></a><p>
406 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
409 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
411 <td class=
"md" nowrap
valign=
"top"> Matrix* Matrix_Read
</td>
412 <td class=
"md" valign=
"top">(
</td>
413 <td class=
"md" nowrap
valign=
"top">void
</td>
414 <td class=
"mdname1" valign=
"top" nowrap
> </td>
415 <td class=
"md" valign=
"top">)
</td>
416 <td class=
"md" nowrap
></td>
423 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
440 <a name=
"a3" doxytag=
"matrix.c::Matrix_Read_Input"></a><p>
441 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
444 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
446 <td class=
"md" nowrap
valign=
"top"> void Matrix_Read_Input
</td>
447 <td class=
"md" valign=
"top">(
</td>
448 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
449 <td class=
"mdname1" valign=
"top" nowrap
> <em>Mat
</em> </td>
450 <td class=
"md" valign=
"top">)
</td>
451 <td class=
"md" nowrap
></td>
458 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
475 <a name=
"a10" doxytag=
"matrix.c::Matrix_Vector_Product"></a><p>
476 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
479 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
481 <td class=
"md" nowrap
valign=
"top"> void Matrix_Vector_Product
</td>
482 <td class=
"md" valign=
"top">(
</td>
483 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
484 <td class=
"mdname" nowrap
> <em>Mat
</em>,
</td>
489 <td class=
"md" nowrap
><a class=
"el" href=
"arithmetique_8h.html#a93">Value
</a> *
</td>
490 <td class=
"mdname" nowrap
> <em>p1
</em>,
</td>
495 <td class=
"md" nowrap
><a class=
"el" href=
"arithmetique_8h.html#a93">Value
</a> *
</td>
496 <td class=
"mdname" nowrap
> <em>p2
</em></td>
500 <td class=
"md">)
</td>
501 <td class=
"md" colspan=
"2"></td>
508 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
523 <a name=
"a9" doxytag=
"matrix.c::rat_prodmat"></a><p>
524 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
527 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
529 <td class=
"md" nowrap
valign=
"top"> void rat_prodmat
</td>
530 <td class=
"md" valign=
"top">(
</td>
531 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
532 <td class=
"mdname" nowrap
> <em>S
</em>,
</td>
537 <td class=
"md" nowrap
>Matrix *
</td>
538 <td class=
"mdname" nowrap
> <em>X
</em>,
</td>
543 <td class=
"md" nowrap
>Matrix *
</td>
544 <td class=
"mdname" nowrap
> <em>P
</em></td>
548 <td class=
"md">)
</td>
549 <td class=
"md" colspan=
"2"></td>
556 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
573 <a name=
"a6" doxytag=
"matrix.c::right_hermite"></a><p>
574 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
577 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
579 <td class=
"md" nowrap
valign=
"top"> void right_hermite
</td>
580 <td class=
"md" valign=
"top">(
</td>
581 <td class=
"md" nowrap
valign=
"top">Matrix *
</td>
582 <td class=
"mdname" nowrap
> <em>A
</em>,
</td>
587 <td class=
"md" nowrap
>Matrix **
</td>
588 <td class=
"mdname" nowrap
> <em>Hp
</em>,
</td>
593 <td class=
"md" nowrap
>Matrix **
</td>
594 <td class=
"mdname" nowrap
> <em>Up
</em>,
</td>
599 <td class=
"md" nowrap
>Matrix **
</td>
600 <td class=
"mdname" nowrap
> <em>Qp
</em></td>
604 <td class=
"md">)
</td>
605 <td class=
"md" colspan=
"2"></td>
612 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
629 <a name=
"a11" doxytag=
"matrix.c::Vector_Matrix_Product"></a><p>
630 <table width=
"100%" cellpadding=
"2" cellspacing=
"0" border=
"0">
633 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
635 <td class=
"md" nowrap
valign=
"top"> void Vector_Matrix_Product
</td>
636 <td class=
"md" valign=
"top">(
</td>
637 <td class=
"md" nowrap
valign=
"top"><a class=
"el" href=
"arithmetique_8h.html#a93">Value
</a> *
</td>
638 <td class=
"mdname" nowrap
> <em>p1
</em>,
</td>
643 <td class=
"md" nowrap
>Matrix *
</td>
644 <td class=
"mdname" nowrap
> <em>Mat
</em>,
</td>
649 <td class=
"md" nowrap
><a class=
"el" href=
"arithmetique_8h.html#a93">Value
</a> *
</td>
650 <td class=
"mdname" nowrap
> <em>p2
</em></td>
654 <td class=
"md">)
</td>
655 <td class=
"md" colspan=
"2"></td>
662 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
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>