Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 2202

gap-system-4.4.12-5mdv2010.0.i586.rpm

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GAP (LinBox) - Chapter 5: Internal Function Reference</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
</head>
<body>


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap4.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chapInd.html">Next Chapter</a>&nbsp;  </div>

<p><a id="X83FF48297FA959A6" name="X83FF48297FA959A6"></a></p>
<div class="ChapSects"><a href="chap5.html#X83FF48297FA959A6">5 <span class="Heading">Internal Function Reference</span></a>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap5.html#X8030CD7F85A6DFD3">5.1 <span class="Heading">Kernel Module Functions</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7ACB12B684D2F52F">5.1-1 LinBox.DETERMINANT</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X781B821B7E4D2CD4">5.1-2 LinBox.RANK</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7F68AD6A7A002514">5.1-3 LinBox.TRACE</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7D9B4F0B7DD171E4">5.1-4 LinBox.SOLVE</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X84DDF4BC78BAD45D">5.1-5 LinBox.TEST_INT_CONVERSION_INTERNAL</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X7D0EFDCE7EAE7514">5.1-6 LinBox.TEST_VECTOR_CONVERSION_INTERNAL</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X83600659799C64C1">5.1-7 LinBox.TEST_MATRIX_CONVERSION_INTERNAL</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X815FB6CC86C4E0D6">5.1-8 LinBox.MAX_GAP_SMALL_INT</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X79AC8181787ED080">5.1-9 LinBox.FIELD_DATA</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X87E78DE37C2AC349">5.1-10 LinBox.TEST_INT_CONVERSION</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X83AF4D387D8DA708">5.1-11 LinBox.TEST_VECTOR_CONVERSION</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap5.html#X8216DFE37ABFB6DD">5.1-12 LinBox.TEST_MATRIX_CONVERSION</a></span>
</div>
</div>

<h3>5 <span class="Heading">Internal Function Reference</span></h3>

<p>These are functions that are used internally in the <strong class="pkg">LinBox</strong> package. They should not be needed by users of the package, but may be useful to developers and are provided for completeness</p>

<p><a id="X8030CD7F85A6DFD3" name="X8030CD7F85A6DFD3"></a></p>

<h4>5.1 <span class="Heading">Kernel Module Functions</span></h4>

<p>These functions are implemented directly in C or C++ in the kernel module.</p>

<p><a id="X7ACB12B684D2F52F" name="X7ACB12B684D2F52F"></a></p>

<h5>5.1-1 LinBox.DETERMINANT</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.DETERMINANT</code>( <var class="Arg">M, field-id</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Kernel module function to calculate the determinant of a matrix. Called by the wrapper <code class="func">LinBox.DeterminantMat</code> (<a href="chap3.html#X7ACB12B684D2F52F"><b>3.1-1</b></a>). The <var class="Arg">field-id</var> parameter should be 0 for a matrix of integers, or the size of the field if the matrix is over a finite field.</p>

<p><a id="X781B821B7E4D2CD4" name="X781B821B7E4D2CD4"></a></p>

<h5>5.1-2 LinBox.RANK</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.RANK</code>( <var class="Arg">M, field-id</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Kernel module function to calculate the rank of a matrix. Called by the wrapper <code class="func">LinBox.RankMat</code> (<a href="chap3.html#X781B821B7E4D2CD4"><b>3.1-2</b></a>). The <var class="Arg">field-id</var> parameter should be 0 for a matrix of integers, or the size of the field if the matrix is over a finite field.</p>

<p><a id="X7F68AD6A7A002514" name="X7F68AD6A7A002514"></a></p>

<h5>5.1-3 LinBox.TRACE</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.TRACE</code>( <var class="Arg">M, field-id</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Kernel module function to calculate the determinant of a matrix. Called by the wrapper <code class="func">LinBox.TraceMat</code> (<a href="chap3.html#X7F68AD6A7A002514"><b>3.1-3</b></a>). The <var class="Arg">field-id</var> parameter should be 0 for a matrix of integers, or the size of the field if the matrix is over a finite field.</p>

<p><a id="X7D9B4F0B7DD171E4" name="X7D9B4F0B7DD171E4"></a></p>

<h5>5.1-4 LinBox.SOLVE</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.SOLVE</code>( <var class="Arg">M, b, field-id</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Kernel module function to calculate the solution of a matrix. Called by the wrapper <code class="func">LinBox.SolutionMat</code> (<a href="chap3.html#X7AE7EDC878216815"><b>3.1-4</b></a>). The <var class="Arg">field-id</var> parameter should be 0 when the matrix and vector contains integers, or the size of the field if the matrix and vector are over a finite field (which must naturally be the same for both).</p>

<p><a id="X84DDF4BC78BAD45D" name="X84DDF4BC78BAD45D"></a></p>

<h5>5.1-5 LinBox.TEST_INT_CONVERSION_INTERNAL</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.TEST_INT_CONVERSION_INTERNAL</code>( <var class="Arg">z</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Tests the GAP-LinBox and LinBox-GAP integer conversion. Returns the integer <var class="Arg">z</var> (which may be large) after it has been converted into LinBox format and then back.</p>

<p><a id="X7D0EFDCE7EAE7514" name="X7D0EFDCE7EAE7514"></a></p>

<h5>5.1-6 LinBox.TEST_VECTOR_CONVERSION_INTERNAL</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.TEST_VECTOR_CONVERSION_INTERNAL</code>( <var class="Arg">v, field-id</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Tests the GAP-LinBox and LinBox-GAP vector conversion. Returns the vector <var class="Arg">v</var> after it has been converted into LinBox format and then back. The <var class="Arg">field-id</var> parameter should be 0 for a vector of integers, or the size of the field if the vector is over a finite field. This function is called by <code class="func">LinBox.TEST_VECTOR_CONVERSION</code> (<a href="chap5.html#X83AF4D387D8DA708"><b>5.1-11</b></a>).</p>

<p><a id="X83600659799C64C1" name="X83600659799C64C1"></a></p>

<h5>5.1-7 LinBox.TEST_MATRIX_CONVERSION_INTERNAL</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.TEST_MATRIX_CONVERSION_INTERNAL</code>( <var class="Arg">M, field-id</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Tests the GAP-LinBox and LinBox-GAP matrix conversion. Returns the matrix <var class="Arg">v</var> after it has been converted into LinBox format and then back. The <var class="Arg">field-id</var> parameter should be 0 for a matrix of integers, or the size of the field if the matrix is over a finite field. This function is called by <code class="func">LinBox.TEST_MATRIX_CONVERSION</code> (<a href="chap5.html#X8216DFE37ABFB6DD"><b>5.1-12</b></a>).</p>

<p><a id="X815FB6CC86C4E0D6" name="X815FB6CC86C4E0D6"></a></p>

<h5>5.1-8 LinBox.MAX_GAP_SMALL_INT</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.MAX_GAP_SMALL_INT</code>( <var class="Arg"></var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Kernel module function which returns the size of the largest integer that the <strong class="pkg">LinBox</strong> kernel module thinks can be represented as a <strong class="pkg">GAP</strong> small integer. This number is different on 32- or 64-bit machines, but <strong class="pkg">LinBox</strong> tries to check with <strong class="pkg">GAP</strong> when it compiles to find out which value to use.</p>


<table class="example">
<tr><td><pre>
  gap&gt; z := LinBox.MAX_GAP_SMALL_INT();
  1152921504606846975
  gap&gt; IsSmallIntRep(z);
  true
  gap&gt; IsSmallIntRep(z+1);
  </pre></td></tr></table>

<p><a id="X79AC8181787ED080" name="X79AC8181787ED080"></a></p>

<h5>5.1-9 LinBox.FIELD_DATA</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.FIELD_DATA</code>( <var class="Arg">M</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Checks that the field of the matrix <var class="Arg">M</var> is one that is accepted by the kernel module, and if so returns data on the field for the kernel module to use. if the field is not compatible, then an error is thrown.</p>

<p>The field data is a plain record with three elements: <code class="code">.field</code> is the field of the matrix (using <code class="func">DefaultFieldOfMatrix</code> (<a href="../../../../gap4r4/doc/htm/ref/CHAP024.htm#SECT003"><b>Reference: DefaultFieldOfMatrix</b></a>)); <code class="code">id</code> is the field id read by the kernel module, which is zero for an integer (or rationals) matrix, or the fieldsize otherwise; the last element <code class="code">one</code> is the one of the field.</p>

<p>If the matrix is over the integers or the rationals, then zero is returned. It is assumed that the matrix is over the integers (since we can't cope with rationals), but we check that each element is an integer when we convert it in the kernel module and throw an error if it is not.</p>

<p><a id="X87E78DE37C2AC349" name="X87E78DE37C2AC349"></a></p>

<h5>5.1-10 LinBox.TEST_INT_CONVERSION</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.TEST_INT_CONVERSION</code>( <var class="Arg">z</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Convert the integer <var class="Arg">z</var> into the internal LinBox format and back again, returning the result.</p>

<p><a id="X83AF4D387D8DA708" name="X83AF4D387D8DA708"></a></p>

<h5>5.1-11 LinBox.TEST_VECTOR_CONVERSION</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.TEST_VECTOR_CONVERSION</code>( <var class="Arg">v</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Convert the vector <var class="Arg">v</var> into the internal LinBox format and back again, returning the result.</p>

<p><a id="X8216DFE37ABFB6DD" name="X8216DFE37ABFB6DD"></a></p>

<h5>5.1-12 LinBox.TEST_MATRIX_CONVERSION</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; LinBox.TEST_MATRIX_CONVERSION</code>( <var class="Arg">M</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Convert the matrix <var class="Arg">M</var> into the internal LinBox format and back again, returning the result.</p>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap4.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chapInd.html">Next Chapter</a>&nbsp;  </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>