Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/gauss/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 3.11.2024 mit Größe 22 kB image not shown  

Quelle  chap4_mj.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/gauss/doc/chap4_mj.html


<?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>
<script type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (Gauss) - Chapter 4: Gaussian Algorithms</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" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap4"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chapA_mj.html">A</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap3_mj.html">[Previous Chapter]</a>    <a href="chapA_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap4.html">[MathJax off]</a></p>
<p><a id="X86443AB17C0AD00C" name="X86443AB17C0AD00C"></a></p>
<div class="ChapSects"><a href="chap4_mj.html#X86443AB17C0AD00C">4 <span class="Heading">Gaussian Algorithms</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4_mj.html#X863F68B2858CC146">4.1 <span class="Heading">A list of the available algorithms</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4_mj.html#X79093EFA828EF7D1">4.2 <span class="Heading">Methods and Functions for <strong class="pkg">Gauss</strong>ian algorithms</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X8499C9FD7AD9908F">4.2-1 EchelonMat</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X869107627EBA2177">4.2-2 EchelonMatTransformation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X811A3B547A27A895">4.2-3 ReduceMat</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X816CA6D37F0DB74F">4.2-4 ReduceMatTransformation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X78E97A0E7F1ED8AA">4.2-5 KernelMat</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4_mj.html#X827146F37E2AA841">4.2-6 Rank</a></span>
</div></div>
</div>

<h3>4 <span class="Heading">Gaussian Algorithms</span></h3>

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

<h4>4.1 <span class="Heading">A list of the available algorithms</span></h4>

<p>As decribed earlier, the main functions of <strong class="pkg">Gauss</strong> are <code class="func">EchelonMat</code> (<a href="chap4_mj.html#X8499C9FD7AD9908F"><span class="RefLink">4.2-1</span></a>) and <code class="func">EchelonMatTransformation</code> (<a href="chap4_mj.html#X869107627EBA2177"><span class="RefLink">4.2-2</span></a>), <code class="func">ReduceMat</code(<a href="chap4_mj.html#X811A3B547A27A895"><span class="RefLink">4.2-3</span></a>) and <code class="func">ReduceMatTransformation</code> (<a href="chap4_mj.html#X816CA6D37F0DB74F"><span class="RefLink">4.2-4</span></a>), <code class="func">KernelMat</code> (<a href="chap4_mj.html#X78E97A0E7F1ED8AA"><span class="RefLink">4.2-5</span></a>) and, additionally <code class="func">Rank</code> (<a href="chap4_mj.html#X827146F37E2AA841"><span class="RefLink">4.2-6</span></a>). These are all documented in the next section, but of course rely on specific algorithms depending on the base ring of the matrix. These are not fully documented but it should be very easy to find out how they work based on the documentation of the main functions.</p>

<div class="pcenter"><table class="GAPDocTablenoborder">
<tr>
<td class="tdleft">EchelonMat</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Field:</td>
<td class="tdleft"><code class="code">EchelonMatDestructive</code></td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Ring:</td>
<td class="tdleft"><code class="code">HermiteMatDestructive</code></td>
</tr>
<tr>
<td class="tdleft">EchelonMatTransformation</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Field:</td>
<td class="tdleft"><code class="code">EchelonMatTransformationDestructive</code></td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Ring:</td>
<td class="tdleft"><code class="code">HermiteMatTransformationDestructive</code></td>
</tr>
<tr>
<td class="tdleft">ReduceMat</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Field:</td>
<td class="tdleft"><code class="code">ReduceMatWithEchelonMat</code></td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Ring:</td>
<td class="tdleft"><code class="code">ReduceMatWithHermiteMat</code></td>
</tr>
<tr>
<td class="tdleft">ReduceMatTransformation</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Field:</td>
<td class="tdleft"><code class="code">ReduceMatWithEchelonMatTransformation</code></td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Ring:</td>
<td class="tdleft"><code class="code">ReduceMatWithHermiteMatTransformation</code></td>
</tr>
<tr>
<td class="tdleft">KernelMat</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Field:</td>
<td class="tdleft"><code class="code">KernelEchelonMatDestructive</code></td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Ring:</td>
<td class="tdleft"><code class="code">KernelHermiteMatDestructive</code></td>
</tr>
<tr>
<td class="tdleft">Rank</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Field (dense):</td>
<td class="tdleft"><code class="code">Rank</code> (<strong class="pkg">GAP</strong> method)</td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Field (sparse):</td>
<td class="tdleft"><code class="code">RankDestructive</code></td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">GF(2) (sparse):</td>
<td class="tdleft"><code class="code">RankOfIndicesListList</code></td>
</tr>
<tr>
<td class="tdleft"></td>
<td class="tdleft">Ring:</td>
<td class="tdleft">n.a.</td>
</tr>
</table><br />
</div>

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

<h4>4.2 <span class="Heading">Methods and Functions for <strong class="pkg">Gauss</strong>ian algorithms</span></h4>

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

<h5>4.2-1 EchelonMat</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ EchelonMat</code>( <var class="Arg">mat</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a record that contains information about an echelonized form of the matrix <var class="Arg">mat</var>.</p>

<p>The components of this record are</p>

<p>`vectors'



<p>the reduced row echelon / hermite form of the matrix <var class="Arg">mat</var> without zero rows.</p>

<p>`heads'



<p>list that contains at position <i>, if nonzero, the number of the row for that the pivot element is in column <i>.</p>

<p>computes the reduced row echelon form RREF of a dense or sparse matrix <var class="Arg">mat</varover a field, or the hermite form of a sparse matrix <var class="Arg">mat</var> over <span class="SimpleMath">\(ℤ / < p^n >\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := [[0,0,0,1,0],[0,1,1,1,1],[1,1,1,1,0]] * One( GF(2) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(M);</span>
 . . . 1 .
 . 1 1 1 1
 1 1 1 1 .
<span class="GAPprompt">gap></span> <span class="GAPinput">EchelonMat(M);</span>
rec( heads := [ 1, 2, 0, 3, 0 ],
  vectors := [ <an immutable GF2 vector of length 5>,
      <an immutable GF2 vector of length 5>,
      <an immutable GF2 vector of length 5> ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( last.vectors );</span>
 1 . . . 1
 . 1 1 . 1
 . . . 1 .
<span class="GAPprompt">gap></span> <span class="GAPinput">SM := SparseMatrix( M );</span>
<a 3 x 5 sparse matrix over GF(2)>
<span class="GAPprompt">gap></span> <span class="GAPinput">EchelonMat( SM );</span>
rec( heads := [ 1, 2, 0, 3, 0 ], vectors := <a 3 x 5 sparse matrix over GF(
    2)> )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.vectors);</span>
 1 . . . 1
 . 1 1 . 1
 . . . 1 .
<span class="GAPprompt">gap></span> <span class="GAPinput">SM := SparseMatrix( [[7,4,5],[0,0,6],[0,4,4]] * One( Integers mod 8 ) );</span>
<a 3 x 3 sparse matrix over (Integers mod 8)>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( SM );</span>
 7 4 5
 . . 6
 . 4 4
<span class="GAPprompt">gap></span> <span class="GAPinput">EchelonMat( SM );</span>
rec( heads := [ 1, 2, 3 ],
  vectors := <a 3 x 3 sparse matrix over (Integers mod 8)> )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( last.vectors );</span>
 1 . 1
 . 4 .
 . . 2      
</pre></div>

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

<h5>4.2-2 EchelonMatTransformation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ EchelonMatTransformation</code>( <var class="Arg">mat</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a record that contains information about an echelonized form of the matrix <var class="Arg">mat</var>.</p>

<p>The components of this record are</p>

<p>`vectors'



<p>the reduced row echelon / hermite form of the matrix <var class="Arg">mat</var> without zero rows.</p>

<p>`heads'



<p>list that contains at position <i>, if nonzero, the number of the row for that the pivot element is in column <i>.</p>

<p>`coeffs'



<p>the transformation matrix needed to obtain the RREF from <var class="Arg">mat</var>.</p>

<p>`relations'



<p>the kernel of the matrix <var class="Arg">mat</var> if RingOfDefinition(<var class="Arg">mat</var>) is a field. Otherwise these are only the obvious row relations of <var class="Arg">mat</var>, there might be more kernel vectors - --> <code class="func">KernelMat</code> (<a href="chap4_mj.html#X78E97A0E7F1ED8AA"><span class="RefLink">4.2-5</span></a>).</p>

<p>computes the reduced row echelon form RREF of a dense or sparse matrix <var class="Arg">mat</varover a field, or the hermite form of a sparse matrix <var class="Arg">mat</var> over <span class="SimpleMath">\(ℤ / < p^n >\)</span>. In either case, the transformation matrix <span class="SimpleMath">\(T\)</span> is calculated as the row union of `coeffs' and `relations'.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := [[1,0,1],[1,1,0],[1,0,1],[1,1,0],[1,1,1]] * One( GF(2) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">EchelonMatTransformation( M );</span>
rec( 
  coeffs := [ <an immutable GF2 vector of length 5>,
      <an immutable GF2 vector of length 5>, 
      <an immutable GF2 vector of length 5> ], heads := [ 1, 2, 3 ], 
  relations := 
    [ <an immutable GF2 vector of length 5>,
      <an immutable GF2 vector of length 5> ], 
  vectors := [ <an immutable GF2 vector of length 3>,
      <an immutable GF2 vector of length 3>,
      <an immutable GF2 vector of length 3> ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.vectors);</span>
 1 . .
 . 1 .
 . . 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.coeffs);</span>
 1 1 . . 1
 1 . . . 1
 . 1 . . 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.relations);</span>
 1 . 1 . .
 . 1 . 1 .
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Concatenation( last.coeffs, last.relations ) * M );</span>
 1 . .
 . 1 .
 . . 1
 . . .
 . . .
<span class="GAPprompt">gap></span> <span class="GAPinput">SM := SparseMatrix( M );</span>
<a 5 x 3 sparse matrix over GF(2)>
<span class="GAPprompt">gap></span> <span class="GAPinput">EchelonMatTransformation( SM );</span>
rec( coeffs := <a 3 x 5 sparse matrix over GF(2)>, 
  heads := [ 1, 2, 3 ], 
  relations := <a 2 x 5 sparse matrix over GF(2)>, 
  vectors := <a 3 x 3 sparse matrix over GF(2)> )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.vectors);</span>
 1 . .
 . 1 .
 . . 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.coeffs);</span>
 1 1 . . 1
 1 . . . 1
 . 1 . . 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.relations);</span>
 1 . 1 . .
 . 1 . 1 .
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( SparseUnionOfRows( [ last.coeffs, last.relations ] ) * SM );</span>
 1 . .
 . 1 .
 . . 1
 . . .
 . . .
</pre></div>

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

<h5>4.2-3 ReduceMat</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ReduceMat</code>( <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a record with a single component `reduced_matrix' := M. M is created by reducing A with B, where B must be in Echelon/Hermite form. M will have the same dimensions as A.




<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := [[0,0,0,1,0],[0,1,1,1,1],[1,1,1,1,0]] * One( GF(2) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(M);</span>
 . . . 1 .
 . 1 1 1 1
 1 1 1 1 .
<span class="GAPprompt">gap></span> <span class="GAPinput">N := [[1,1,0,0,0],[0,0,1,0,1]] * One( GF(2) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(N);</span>
 1 1 . . .
 . . 1 . 1
<span class="GAPprompt">gap></span> <span class="GAPinput">ReduceMat(M,N);</span>
rec(
  reduced_matrix := [ <a GF2 vector of length 5>, <a GF2 vector of length 5>,
      <a GF2 vector of length 5> ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.reduced_matrix);</span>
 . . . 1 .
 . 1 . 1 .
 . . . 1 1
<span class="GAPprompt">gap></span> <span class="GAPinput">SM := SparseMatrix(M); SN := SparseMatrix(N);</span>
<a 3 x 5 sparse matrix over GF(2)>
<a 2 x 5 sparse matrix over GF(2)>
<span class="GAPprompt">gap></span> <span class="GAPinput">ReduceMat(SM,SN);</span>
rec( reduced_matrix := <a 3 x 5 sparse matrix over GF(2)> )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.reduced_matrix);</span>
 . . . 1 .
 . 1 . 1 .
 . . . 1 1
</pre></div>

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

<h5>4.2-4 ReduceMatTransformation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ReduceMatTransformation</code>( <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a record with a component `reduced_matrix' := M. M is created by reducing A with B, where B must be in Echelon/Hermite form. M will have the same dimensions as A. In addition to the (identical) output as ReduceMat this record also includes the component `transformation', which stores the row operations that were needed to reduce <var class="Arg">A</var> with <var class="Arg">B</var>. This differs from "normal" transformation matrices because only rows of <var class="Arg">B</var> had to be moved. Therefore, the transformation matrix solves M = A + T * B.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := [[0,0,0,1,0],[0,1,1,1,1],[1,1,1,1,0]] * One( GF(2) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(M);</span>
 . . . 1 .
 . 1 1 1 1
 1 1 1 1 .
<span class="GAPprompt">gap></span> <span class="GAPinput">N := [[1,1,0,0,0],[0,0,1,0,1]] * One( GF(2) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(N);</span>
 1 1 . . .
 . . 1 . 1
<span class="GAPprompt">gap></span> <span class="GAPinput">ReduceMatTransformation(M,N);</span>
rec( 
  reduced_matrix := 
    [ <a GF2 vector of length 5>, <a GF2 vector of length 5>, 
      <a GF2 vector of length 5> ], 
  transformation := [ <a GF2 vector of length 2>,
      <a GF2 vector of length 2>, <a GF2 vector of length 2> ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.reduced_matrix);</span>
 . . . 1 .
 . 1 . 1 .
 . . . 1 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.transformation);</span>
 . .
 . 1
 1 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( M + last.transformation * N );</span>
 . . . 1 .
 . 1 . 1 .
 . . . 1 1 
<span class="GAPprompt">gap></span> <span class="GAPinput">SM := SparseMatrix(M); SN := SparseMatrix(N);</span>
<a 3 x 5 sparse matrix over GF(2)>
<a 2 x 5 sparse matrix over GF(2)>
<span class="GAPprompt">gap></span> <span class="GAPinput">ReduceMatTransformation(SM,SN);</span>
rec( reduced_matrix := <a 3 x 5 sparse matrix over GF(2)>,
  transformation := <a 3 x 2 sparse matrix over GF(2)> )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.reduced_matrix);</span>
 . . . 1 .
 . 1 . 1 .
 . . . 1 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.transformation);</span>
 . .
 . 1
 1 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( SM + last.transformation * SN );</span>
 . . . 1 .
 . 1 . 1 .
 . . . 1 1
</pre></div>

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

<h5>4.2-5 KernelMat</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ KernelMat</code>( <var class="Arg">M</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a record with a single component `relations'.



<p>If <var class="Arg">M</var> is a matrix over a field this is the same output as <code class="func">EchelonMatTransformation</code> (<a href="chap4_mj.html#X869107627EBA2177"><span class="RefLink">4.2-2</span></a>) provides in the `relations' component, but with less memory and CPU usage. If the base ring of M is a non-field, the Kernel might have additional generators, which are added to the output.




<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := [[2,1],[0,2]];</span>
[ [ 2, 1 ], [ 0, 2 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">SM := SparseMatrix( M * One( GF(3) ) );</span>
<a 2 x 2 sparse matrix over GF(3)>
<span class="GAPprompt">gap></span> <span class="GAPinput">KernelMat(SM);</span>
rec( relations := <a 0 x 2 sparse matrix over GF(3)> )
<span class="GAPprompt">gap></span> <span class="GAPinput">SN := SparseMatrix( M * One( Integers mod 4 ) );</span>
<a 2 x 2 sparse matrix over (Integers mod 4)>
<span class="GAPprompt">gap></span> <span class="GAPinput">KernelMat(SN);</span>
rec( relations := <a 1 x 2 sparse matrix over (Integers mod 4)> )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(last.relations);</span>
 2 1
</pre></div>

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

<h5>4.2-6 Rank</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Rank</code>( <var class="Arg">sm</var>[, <var class="Arg">boundary</var>] )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: the rank of the sparse matrix <var class="Arg">sm</var>. Only works for fields.</p>

<p>Computes the rank of a sparse matrix. If the optional argument <var class="Arg">boundary</var> is provided, some algorithms take into account the fact that Rank(<var class="Arg">sm</var>) <= <var class="Arg">boundary</var>, thus possibly terminating earlier.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := SparseDiagMat( ListWithIdenticalEntries( 10,</span>
<span class="GAPprompt">></span> <span class="GAPinput">        SparseMatrix( [[1,1],[1,1]] * One( GF(5) ) ) ) );</span>
<a 20 x 20 sparse matrix over GF(5)>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(M);</span>
 1 1 . . . . . . . . . . . . . . . . . .
 1 1 . . . . . . . . . . . . . . . . . .
 . . 1 1 . . . . . . . . . . . . . . . .
 . . 1 1 . . . . . . . . . . . . . . . .
 . . . . 1 1 . . . . . . . . . . . . . .
 . . . . 1 1 . . . . . . . . . . . . . .
 . . . . . . 1 1 . . . . . . . . . . . .
 . . . . . . 1 1 . . . . . . . . . . . .
 . . . . . . . . 1 1 . . . . . . . . . .
 . . . . . . . . 1 1 . . . . . . . . . .
 . . . . . . . . . . 1 1 . . . . . . . .
 . . . . . . . . . . 1 1 . . . . . . . .
 . . . . . . . . . . . . 1 1 . . . . . .
 . . . . . . . . . . . . 1 1 . . . . . .
 . . . . . . . . . . . . . . 1 1 . . . .
 . . . . . . . . . . . . . . 1 1 . . . .
 . . . . . . . . . . . . . . . . 1 1 . .
 . . . . . . . . . . . . . . . . 1 1 . .
 . . . . . . . . . . . . . . . . . . 1 1
 . . . . . . . . . . . . . . . . . . 1 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Rank(M);</span>
10
</pre></div>


<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap3_mj.html">[Previous Chapter]</a>    <a href="chapA_mj.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chapA_mj.html">A</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

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

Messung V0.5
C=96 H=100 G=97

¤ Dauer der Verarbeitung: 0.9 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.