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

SSL chap3.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/modules/doc/chap3.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 (Modules) - Chapter 3: Quick Start</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="chap3"  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="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chapA.html">A</a>  <a href="chapB.html">B</a>  <a href="chapC.html">C</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="chap2.html">[Previous Chapter]</a>    <a href="chap4.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap3_mj.html">[MathJax on]</a></p>
<p><a id="X7EB860EC84DFC71E" name="X7EB860EC84DFC71E"></a></p>
<div class="ChapSects"><a href="chap3.html#X7EB860EC84DFC71E">3 <span class="Heading">Quick Start</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X8527706586389E29">3.1 <span class="Heading">Why are all examples in this manual over ℤ or <span class="SimpleMath">ℤ/mℤ</span>?</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X85872612814D30B4">3.2 <span class="Heading"><code class="code">gap> ExamplesForHomalg();</code></span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7BBB3E988435A713">3.3 <span class="Heading">A typical example</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X791E21F47805048A">3.3-1 <span class="Heading">HomHom</span></a>
</span>
</div></div>
</div>

<h3>3 <span class="Heading">Quick Start</span></h3>

<p>This chapter should give you a quick guide to create your first example in <strong class="pkg">homalg</strong>.</p>

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

<h4>3.1 <span class="Heading">Why are all examples in this manual over ℤ or <span class="SimpleMath">ℤ/mℤ</span>?</span></h4>

<p>As the reader might notice, all examples in this manual will be either over ℤ or over one of its residue class rings <span class="SimpleMath">ℤ/mℤ</span>. There are two reasons for this. The first reason is that <strong class="pkg">GAP</strong> does not natively support rings other than ℤ in a <em>sufficient</em> way (--> <a href="chap1.html#X84913827857A1F7B"><span class="RefLink">Rings supported in a sufficient way</span></a>).</p>

<p>The second and more important reason is to underline the fact the all effective homological constructions that are relevant for <strong class="pkg">Modules</strong> have only as much to do with the Gröbnerbasis algorithm as they do with the Hermite algorithm for the ring ℤ; both algorithms are used to effectively solve inhomogeneous linear systems over the respective ring. And <strong class="pkg">Modules</strong> is designed to use rings and matrices over these rings together with all their operations as a black box. In other words: Because <strong class="pkg">Modules</strong> works for <span class="SimpleMath">ℤ</span>, it works by its design for all other computable rings.</p>

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

<h4>3.2 <span class="Heading"><code class="code">gap> ExamplesForHomalg();</code></span></h4>

<p>To quickly create a ring for use with <strong class="pkg">Modules</strong> enter<br /> <br /> <code class="code">ExamplesForHomalg();</code><br /> <br /> which will load the package <strong class="pkg">ExamplesForHomalg</strong> (if installed) and provide a step by step guide to create the ring. For the full core functionality you need to install the packages <strong class="pkg">homalg</strong>, <strong class="pkg">HomalgToCAS</strong>, <strong class="pkg">IO_ForHomalg</strong>, <strong class="pkg">RingsForHomalg</strong>, <strong class="pkg">Gauss</strong>, and <strong class="pkg">GaussForHomalg</strong>. They are part of the <strong class="pkg">homalg</strong> project.</p>

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

<h4>3.3 <span class="Heading">A typical example</span></h4>

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

<h5>3.3-1 <span class="Heading">HomHom</span></h5>

<p>The following example is taken from Section 2 of <a href="chapBib.html#biBBREACA">[BR06]</a>. <br /> <br /> The computation takes place over the residue class ring <span class="SimpleMath">R=ℤ/2^8ℤ</span> using the generic support for residue class rings provided by the subpackage <strong class="pkg">ResidueClassRingForHomalg</strong> of the <strong class="pkg">MatricesForHomalg</strong> package. For a native support of the rings <span class="SimpleMath">R=ℤ/p^nℤ</span> use the <strong class="pkg">GaussForHomalg</strong> package.</p>

<p>Here we compute the (infinite) long exact homology sequence of the covariant functor <span class="SimpleMath">Hom(Hom(-,ℤ/2^7ℤ),ℤ/2^4ℤ)</span> (and its left derived functors) applied to the short exact sequence<br /> <br /> <span class="SimpleMath">0 -> M_=ℤ/2^2ℤ --alpha_1--> M=ℤ/2^5ℤ --alpha_2--> _M=ℤ/2^3ℤ -> 0</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">zz := HomalgRingOfIntegers( );</span>
Z
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( zz );</span>
<An internal ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := zz / 2^8;</span>
Z/( 256 )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( R );</span>
<A residue class ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := LeftPresentation( [ 2^5 ], R );</span>
<A cyclic left module presented by 1 relation for a cyclic generator>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( M );</span>
Z/( 256 )/< |[ 32 ]| >
<span class="GAPprompt">gap></span> <span class="GAPinput">_M := LeftPresentation( [ 2^3 ], R );</span>
<A cyclic left module presented by 1 relation for a cyclic generator>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( _M );</span>
Z/( 256 )/< |[ 8 ]| >
<span class="GAPprompt">gap></span> <span class="GAPinput">alpha2 := HomalgMap( [ 1 ], M, _M );</span>
<A "homomorphism" of left modules>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsMorphism( alpha2 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">alpha2;</span>
<A homomorphism of left modules>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( alpha2 );</span>
[ [  1 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
<span class="GAPprompt">gap></span> <span class="GAPinput">M_ := Kernel( alpha2 );</span>
<A cyclic left module presented by yet unknown relations for a cyclic generato\
r>
<span class="GAPprompt">gap></span> <span class="GAPinput">alpha1 := KernelEmb( alpha2 );</span>
<A monomorphism of left modules>
<span class="GAPprompt">gap></span> <span class="GAPinput">seq := HomalgComplex( alpha2 );</span>
<An acyclic complex containing a single morphism of left modules at degrees 
[ 0 .. 1 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">Add( seq, alpha1 );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">seq;</span>
<A sequence containing 2 morphisms of left modules at degrees [ 0 .. 2 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsShortExactSequence( seq );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">seq;</span>
<A short exact sequence containing 2 morphisms of left modules at degrees 
[ 0 .. 2 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( seq );</span>
-------------------------
at homology degree: 2
Z/( 256 )/< |[ 4 ]| > 
-------------------------
[ [  8 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 1
Z/( 256 )/< |[ 32 ]| > 
-------------------------
[ [  1 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 0
Z/( 256 )/< |[ 8 ]| > 
-------------------------
<span class="GAPprompt">gap></span> <span class="GAPinput">K := LeftPresentation( [ 2^7 ], R );</span>
<A cyclic left module presented by 1 relation for a cyclic generator>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := RightPresentation( [ 2^4 ], R );</span>
<A cyclic right module on a cyclic generator satisfying 1 relation>
<span class="GAPprompt">gap></span> <span class="GAPinput">triangle := LHomHom( 4, seq, K, L, "t" );</span>
<An exact triangle containing 3 morphisms of left complexes at degrees 
[ 1, 2, 3, 1 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">lehs := LongSequence( triangle );</span>
<A sequence containing 14 morphisms of left modules at degrees [ 0 .. 14 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">ByASmallerPresentation( lehs );</span>
<A non-zero sequence containing 14 morphisms of left modules at degrees 
[ 0 .. 14 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsExactSequence( lehs );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">lehs;</span>
<A non-zero left acyclic complex containing 
14 morphisms of left modules at degrees [ 0 .. 14 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">Assert( 0, IsLeftAcyclic( lehs ) );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( lehs );</span>
-------------------------
at homology degree: 14
Z/( 256 )/< |[ 4 ]| > 
-------------------------
[ [  4 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 13
Z/( 256 )/< |[ 8 ]| > 
-------------------------
[ [  2 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 12
Z/( 256 )/< |[ 8 ]| >
-------------------------
[ [  2 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 11
Z/( 256 )/< |[ 4 ]| >
-------------------------
[ [  4 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 10
Z/( 256 )/< |[ 8 ]| >
-------------------------
[ [  2 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 9
Z/( 256 )/< |[ 8 ]| >
-------------------------
[ [  2 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 8
Z/( 256 )/< |[ 4 ]| >
-------------------------
[ [  4 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 7
Z/( 256 )/< |[ 8 ]| >
-------------------------
[ [  2 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 6
Z/( 256 )/< |[ 8 ]| >
-------------------------
[ [  2 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 5
Z/( 256 )/< |[ 4 ]| >
-------------------------
[ [  4 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 4
Z/( 256 )/< |[ 8 ]| >
-------------------------
[ [  2 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 3
Z/( 256 )/< |[ 8 ]| >
-------------------------
[ [  2 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 2
Z/( 256 )/< |[ 4 ]| >
-------------------------
[ [  8 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 1
Z/( 256 )/< |[ 16 ]| >
-------------------------
[ [  1 ] ]

modulo [ 256 ]

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 0
Z/( 256 )/< |[ 8 ]| >
-------------------------
</pre></div>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap2.html">[Previous Chapter]</a>    <a href="chap4.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="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chapA.html">A</a>  <a href="chapB.html">B</a>  <a href="chapC.html">C</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>

98%


¤ Dauer der Verarbeitung: 0.18 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.