Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/pkg/gaussforhomalg/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 22.7.2024 mit Größe 6 kB image not shown  

Quelle  chap2.html   Sprache: HTML

 
 products/sources/formale Sprachen/GAP/pkg/gaussforhomalg/doc/chap2.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>
<title>GAP (GaussForHomalg) - Chapter 2: Usage</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="chap2"  onload="jscontent()">


<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="chapA.html">A</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap1.html">[Previous Chapter]</a>    <a href="chap3.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap2_mj.html">[MathJax on]</a></p>
<p><a id="X86A9B6F87E619FFF" name="X86A9B6F87E619FFF"></a></p>
<div class="ChapSects"><a href="chap2.html#X86A9B6F87E619FFF">2 <span class="Heading">Usage</span></a>
</div>

<h3>2 <span class="Heading">Usage</span></h3>

<p>If you are just interested in using the <strong class="pkg">Gauss</strong> package with <strong class="pkg">homalg</strong>, you do not need to know much about <strong class="pkg">GaussForHomalg</strong>, as it will work in the background, telling <strong class="pkg">homalg</strong> which functions to call.</p>

<p>However, you might be interested in writing your own <strong class="pkg">XyzForHomalg</strong>, enabling <strong class="pkg">homalg</strong> to assist you with your computations. For this purpose, I will provide an overview of the <strong class="pkg">GaussForHomalg</strongcode. Please note that <strong class="pkg">Gauss</strong> is a <strong class="pkg">GAP</strong> package, therefore this is not a reference guide for the package <strong class="pkg">RingsForHomalg</strong>, which utilizes the IO-stream functionality of <strong class="pkg">IO_ForHomalg</strong> to send commands to external computer algebra systems. If you wish to tie an external system to <strong class="pkg">homalg</strong>, <strong class="pkg">RingsForHomalg</strong> is the better reference package.</p>

<p>The file for all low-level operations is <code class="file">GaussTools.gi</code>. Like all "Tools" files it just includes one global variable <code class="code">CommonHomalgTableForGaussTools</code>, which is a record of functions with <strong class="pkg">homalg</strong> matrices as arguments. The return values of the <strong class="pkg">GaussForHomalg</strong> tools are documented in <a href="chap3.html#X789AFD2A804F2CD4"><span class="RefLink">3</span></a> and have to be the same for each tools table.</p>

<p>In this particular case, the file also includes the following code:</p>


<div class="example"><pre>if IsBound( HOMALG.OtherInternalMatrixTypes ) then
    Add( HOMALG.OtherInternalMatrixTypes, IsSparseMatrix );
else
    HOMALG.OtherInternalMatrixTypes := [ IsSparseMatrix ];
fi;</pre></div>

<p>This is a specialty to explain to <strong class="pkg">homalg</strong> that <strong class="pkg">Gauss</strong> introduces a new matrix type in <strong class="pkg">GAP</strong>. Usually, there should not be a need for this.</p>

<p>The next "general" file is <code class="file">GaussBasic.gi</code>. This includes the basic functions based on <a href="chapBib.html#biBBR">[BR08]</a>, again stored in the global record <code class="code">CommonHomalgTableForGaussBasic</code>. Preceding this record are some small methods to make sure <strong class="pkg">GaussForHomalg</strong> works with sparse as well as with dense matrices - just like above, these should not be neccessary in general.</p>

<p>In <code class="file">GaussForHomalg.gi</code> the methods for matrix entry manipulation are installed.</p>

<p>Finally, we come to the most important files, making sense of the basic functions and tools defined above. Depending on the functionality (especially concerning function names) of the system you will need different files for different rings. In this case, functionality for <span class="SimpleMath">ℤ / n ℤ</span> is stored in <code class="file">GaussFQI.gi</code> (Finite Quotients of the Integers), while the Rationals have their own file, <code class="file">GaussRationals.gi</code>. Note that both files include only one method, <code class="code">CreateHomalgTable</code>, using method selection to create the correct table. Depending on the properties of the ring, the basic functions are loaded and some more "specific" functions can be defined, in this case for example the function <code class="func">ReducedRowEchelonForm</code> (<a href="chap3.html#X791E6BF98311DE55"><span class="RefLink">3.3-1</span></a>), both in a one- and a two-argument version. The tools should be universal enough to be loaded for every possible ring. If it is neccessary to overwrite a tool, this is the place to do it. An example for this could be <code class="func">Involution</code> (<a href="chap3.html#X81EB2A0A8756372B"><span class="RefLink">3.2-5</span></a>), which is generally just a matrix transposition, but could be overwritten to be a true involution when creating the <strong class="pkg">homalg</strongtable for noncommutative rings.</p>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap1.html">[Previous Chapter]</a>    <a href="chap3.html">[Next Chapter]</a>   </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="chapA.html">A</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.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>

100%


¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ¤

*© 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 ist noch experimentell.