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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>polylib: SolveDio.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>SolveDio.c File Reference</h1><code>#include <stdlib.h></code><br/>
<code>#include <<a class="el" href="polylib_8h_source.html">polylib/polylib.h</a>></code><br/>
<p><a href="SolveDio_8c_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="SolveDio_8c.html#a43985b3ec6d9d36c531222181045b68f">RearrangeMatforSolveDio</a> (<a class="el" href="structmatrix.html">Matrix</a> *M)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="SolveDio_8c.html#a0f417a4dacdd52103cc96cbe93e038cb">SolveDiophantine</a> (<a class="el" href="structmatrix.html">Matrix</a> *M, <a class="el" href="structmatrix.html">Matrix</a> **U, <a class="el" href="structVector.html">Vector</a> **X)</td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a43985b3ec6d9d36c531222181045b68f"></a><!-- doxytag: member="SolveDio.c::RearrangeMatforSolveDio" ref="a43985b3ec6d9d36c531222181045b68f" args="(Matrix *M)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void RearrangeMatforSolveDio </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> * </td>
<td class="paramname"> <em>M</em></td>
<td> ) </td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="SolveDio_8c_source.html#l00248">248</a> of file <a class="el" href="SolveDio_8c_source.html">SolveDio.c</a>.</p>
<p>References <a class="el" href="Matop_8c_source.html#l00268">AddANullRow()</a>, <a class="el" href="Matop_8c_source.html#l00072">ExchangeRows()</a>, <a class="el" href="NormalForms_8c_source.html#l00670">Hermite()</a>, <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="verif__ehrhart_8c_source.html#l00060">min</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00554">value_notzero_p</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00553">value_zero_p</a>.</p>
<p>Referenced by <a class="el" href="SolveDio_8c_source.html#l00081">SolveDiophantine()</a>.</p>
</div>
</div>
<a class="anchor" id="a0f417a4dacdd52103cc96cbe93e038cb"></a><!-- doxytag: member="SolveDio.c::SolveDiophantine" ref="a0f417a4dacdd52103cc96cbe93e038cb" args="(Matrix *M, Matrix **U, Vector **X)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SolveDiophantine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> * </td>
<td class="paramname"> <em>M</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> ** </td>
<td class="paramname"> <em>U</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structVector.html">Vector</a> ** </td>
<td class="paramname"> <em>X</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p><p>Case when rank < Number of Columns;</p>
<p>Solved the equtions</p>
<p>When rank < hermi->NbRows; Verifying whether the solution agrees with the remaining n-rank rows as well. </p>
</p>
<p>Definition at line <a class="el" href="SolveDio_8c_source.html#l00081">81</a> of file <a class="el" href="SolveDio_8c_source.html">SolveDio.c</a>.</p>
<p>References <a class="el" href="NormalForms_8c_source.html#l00670">Hermite()</a>, <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="matrix_8c_source.html#l00889">Matrix_Inverse()</a>, <a class="el" href="verif__ehrhart_8c_source.html#l00060">min</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="vector_8c_source.html#l00760">p</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="SolveDio_8c_source.html#l00248">RearrangeMatforSolveDio()</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00516">value_addmul</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00462">value_clear</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00523">value_division</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00458">value_init</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00525">value_modulus</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00478">value_ne</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00554">value_notzero_p</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00528">value_oppose</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00460">value_set_si</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00520">value_subtract</a>, and <a class="el" href="vector_8c_source.html#l00154">Vector_Alloc()</a>.</p>
<p>Referenced by <a class="el" href="Matop_8c_source.html#l00361">findHermiteBasis()</a>, <a class="el" href="Lattice_8c_source.html#l00475">LatticeIntersection()</a>, <a class="el" href="Lattice_8c_source.html#l01165">LatticePreimage()</a>, and <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>.</p>
</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 25 17:45:27 2009 for polylib by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>
|