| products/Sources/formale Sprachen/GAP/pkg/modulepresentationsforcap/doc/chap2_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 (ModulePresentationsForCAP) - Chapter 2: Examples and Tests</ 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_mj.html">Top< /a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</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="chap1_mj.html">[Previous Chapter]</a> <a href="chapInd_mj.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap2.html">[MathJax off]</a></p>
<p><a id="X7967FE8E7BBDF485" name="X7967FE8E7BBDF485"></a></p>
<div class="ChapSects"><a href="chap2_mj.html#X7967FE8E7BBDF485">2 <span class="Heading">Examples and Tests</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X7FFB58F67850769C">2.1 <span class="Heading">Annihilator</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X86E8A9537A87B4EC">2.2 <span class="Heading">Intersection of Submodules</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X8296A25779A52244">2.3 <span class="Heading">Koszul Complex</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X808DC49C7ED99B52">2.4 <span class="Heading">Monoidal Categories</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X828DF9B1782D1AF6">2.5 <span class="Heading">Closed Monoidal Structure</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X7C3B1694803034A2">2.6 <span class="Heading">Projectivity test</span></a>
</span>
</div>
</div>
<h3>2 <span class="Heading">Examples and Tests</span></h3>
<p><a id="X7FFB58F67850769C" name="X7FFB58F67850769C"></a></p>
<h4>2.1 <span class="Heading">Annihilator</span></h4>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ZZZ := HomalgRingOfIntegersInSingular();;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">fpres := LeftPresentations( ZZZ );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M1 := AsLeftPresentation( fpres, HomalgMatrix( [ [ "2" ] ], ZZZ ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M2 := AsLeftPresentation( fpres, HomalgMatrix( [ [ "3" ] ], ZZZ ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M3 := AsLeftPresentation( fpres, HomalgMatrix( [ [ "4" ] ], ZZZ ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := DirectSum( M1, M2, M3 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Annihilator( M ) );</span>
12
A monomorphism in Category of left presentations of Z
<span class="GAPprompt">gap></span> <span class="GAPinput">fpres := RightPresentations( ZZZ );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M1 := AsRightPresentation( fpres, HomalgMatrix( [ [ "2" ] ], ZZZ ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M2 := AsRightPresentation( fpres, HomalgMatrix( [ [ "3" ] ], ZZZ ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M3 := AsRightPresentation( fpres, HomalgMatrix( [ [ "4" ] ], ZZZ ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := DirectSum( M1, M2, M3 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Annihilator( M ) );</span>
12
A monomorphism in Category of right presentations of Z
</pre></div>
<p><a id="X86E8A9537A87B4EC" name="X86E8A9537A87B4EC"></a></p>
<h4>2.2 <span class="Heading">Intersection of Submodules</span></h4>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Q := HomalgFieldOfRationalsInSingular();;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := Q * "x,y";</span>
Q[x,y]
<span class="GAPprompt">gap></span> <span class="GAPinput">fpres := LeftPresentations( R );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">F := AsLeftPresentation( fpres, HomalgMatrix( [ [ 0 ] ], R ) );</span>
<An object in Category of left presentations of Q[x,y]>
<span class="GAPprompt">gap></span> <span class="GAPinput">I1 := AsLeftPresentation( fpres, HomalgMatrix( [ [ "x" ] ], R ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">I2 := AsLeftPresentation( fpres, HomalgMatrix( [ [ "y" ] ], R ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( I1 );</span>
x
An object in Category of left presentations of Q[x,y]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( I2 );</span>
y
An object in Category of left presentations of Q[x,y]
<span class="GAPprompt">gap></span> <span class="GAPinput">eps1 := PresentationMorphism( F, HomalgMatrix( [ [ 1 ] ], R ), I1 );</span>
<A morphism in Category of left presentations of Q[x,y]>
<span class="GAPprompt">gap></span> <span class="GAPinput">eps2 := PresentationMorphism( F, HomalgMatrix( [ [ 1 ] ], R ), I2 );</span>
<A morphism in Category of left presentations of Q[x,y]>
<span class="GAPprompt">gap></span> <span class="GAPinput">kernelemb1 := KernelEmbedding( eps1 );</span>
<A monomorphism in Category of left presentations of Q[x,y]>
<span class="GAPprompt">gap></span> <span class="GAPinput">kernelemb2 := KernelEmbedding( eps2 );</span>
<A monomorphism in Category of left presentations of Q[x,y]>
<span class="GAPprompt">gap></span> <span class="GAPinput">P := FiberProduct( kernelemb1, kernelemb2 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( P );</span>
(an empty 0 x 1 matrix)
An object in Category of left presentations of Q[x,y]
<span class="GAPprompt">gap></span> <span class="GAPinput">pi1 := ProjectionInFactorOfFiberProduct( [ kernelemb1, kernelemb2 ], 1 );</span>
<A monomorphism in Category of left presentations of Q[x,y]>
<span class="GAPprompt">gap></span> <span class="GAPinput">composite := PreCompose( pi1, kernelemb1 );</span>
<A monomorphism in Category of left presentations of Q[x,y]>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( composite );</span>
x*y
A monomorphism in Category of left presentations of Q[x,y]
</pre></div>
<p><a id="X8296A25779A52244" name="X8296A25779A52244"></a></p>
<h4>2.3 <span class="Heading">Koszul Complex</span></h4>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Q := HomalgFieldOfRationalsInSingular();;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := Q * "x,y,z";;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">fpres := LeftPresentations( R );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := HomalgMatrix( [ [ "x" ], [ "y" ], [ "z" ] ], 3, 1, R );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Ml := AsLeftPresentation( fpres, M );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">eps := CoverByFreeModule( Ml );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">iota1 := KernelEmbedding( eps );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( iota1 );</span>
x,
y,
z
A monomorphism in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Source( iota1 ) );</span>
0, -z,y,
-z,0, x,
-y,x, 0
An object in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">pi1 := CoverByFreeModule( Source( iota1 ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">d1 := PreCompose( pi1, iota1 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( d1 );</span>
x,
y,
z
A morphism in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">iota2 := KernelEmbedding( d1 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( iota2 );</span>
0, -z,y,
-z,0, x,
-y,x, 0
A monomorphism in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Source( iota2 ) );;</span>
x,-y,z
An object in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">pi2 := CoverByFreeModule( Source( iota2 ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">d2 := PreCompose( pi2, iota2 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( d2 );</span>
0, -z,y,
-z,0, x,
-y,x, 0
A morphism in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">iota3 := KernelEmbedding( d2 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( iota3 );</span>
x,-y,z
A monomorphism in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Source( iota3 ) );</span>
(an empty 0 x 1 matrix)
An object in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">pi3 := CoverByFreeModule( Source( iota3 ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">d3 := PreCompose( pi3, iota3 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( d3 );</span>
x,-y,z
A morphism in Category of left presentations of Q[x,y,z]
<span class="GAPprompt">gap></span> <span class="GAPinput">N := HomalgMatrix( [ [ "x" ] ], 1, 1, R );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Nl := AsLeftPresentation( fpres, N );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">d2Nl := TensorProductOnMorphisms( d2, IdentityMorphism( Nl ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">d1Nl := TensorProductOnMorphisms( d1, IdentityMorphism( Nl ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsZero( PreCompose( d2Nl, d1Nl ) );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">cycles := KernelEmbedding( d1Nl );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">boundaries := ImageEmbedding( d2Nl );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">boundaries_in_cyles := LiftAlongMonomorphism( cycles, boundaries );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">homology := CokernelObject( boundaries_in_cyles );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LessGenFunctor := FunctorLessGeneratorsLeft( fpres );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">homology := ApplyFunctor( LessGenFunctor, homology );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StdBasisFunctor := FunctorStandardModuleLeft( fpres );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">homology := ApplyFunctor( StdBasisFunctor, homology );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( homology );</span>
z,
y,
x
An object in Category of left presentations of Q[x,y,z]
</pre></div>
<p><a id="X808DC49C7ED99B52" name="X808DC49C7ED99B52"></a></p>
<h4>2.4 <span class="Heading">Monoidal Categories</span></h4>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ZZZ := HomalgRingOfIntegers();;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">fpres := LeftPresentations( ZZZ );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Ml := AsLeftPresentation( fpres, HomalgMatrix( [ [ 2 ] ], 1, 1, ZZZ ) );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Nl := AsLeftPresentation( fpres, HomalgMatrix( [ [ 3 ] ], 1, 1, ZZZ ) );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Tl := TensorProductOnObjects( Ml, Nl );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( Tl ) );</span>
[ [ 3 ],
[ 2 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsZeroForObjects( Tl );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Bl := Braiding( DirectSum( Ml, Nl ), DirectSum( Ml, Ml ) );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( Bl ) );</span>
[ [ 1, 0, 0, 0 ],
[ 0, 0, 1, 0 ],
[ 0, 1, 0, 0 ],
[ 0, 0, 0, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsWellDefined( Bl );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Ul := TensorUnit( CapCategory( Ml ) );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">IntHoml := InternalHomOnObjects( DirectSum( Ml, Ul ), Nl );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( IntHoml ) );</span>
[ [ 1, 2 ],
[ 0, 3 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">generator_l1 := StandardGeneratorMorphism( IntHoml, 1 );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">morphism_l1 := LambdaElimination( DirectSum( Ml, Ul ), Nl, generator_l1 );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( morphism_l1 ) );</span>
[ [ -3 ],
[ 2 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">generator_l2 := StandardGeneratorMorphism( IntHoml, 2 );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">morphism_l2 := LambdaElimination( DirectSum( Ml, Ul ), Nl, generator_l2 );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( morphism_l2 ) );</span>
[ [ 0 ],
[ -1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsEqualForMorphisms( LambdaIntroduction( morphism_l1 ), generator_l1 );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCongruentForMorphisms( LambdaIntroduction( morphism_l1 ), generator_l1 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsEqualForMorphisms( LambdaIntroduction( morphism_l2 ), generator_l2 );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCongruentForMorphisms( LambdaIntroduction( morphism_l2 ), generator_l2 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">fpres := RightPresentations( ZZZ );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Mr := AsRightPresentation( fpres, HomalgMatrix( [ [ 2 ] ], 1, 1, ZZZ ) );</span>
<An object in Category of right presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Nr := AsRightPresentation( fpres, HomalgMatrix( [ [ 3 ] ], 1, 1, ZZZ ) );</span>
<An object in Category of right presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Tr := TensorProductOnObjects( Mr, Nr );</span>
<An object in Category of right presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( Tr ) );</span>
[ [ 3, 2 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsZeroForObjects( Tr );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Br := Braiding( DirectSum( Mr, Nr ), DirectSum( Mr, Mr ) );</span>
<A morphism in Category of right presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( Br ) );</span>
[ [ 1, 0, 0, 0 ],
[ 0, 0, 1, 0 ],
[ 0, 1, 0, 0 ],
[ 0, 0, 0, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsWellDefined( Br );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Ur := TensorUnit( CapCategory( Mr ) );</span>
<An object in Category of right presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">IntHomr := InternalHomOnObjects( DirectSum( Mr, Ur ), Nr );</span>
<An object in Category of right presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( IntHomr ) );</span>
[ [ 1, 0 ],
[ 2, 3 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">generator_r1 := StandardGeneratorMorphism( IntHomr, 1 );</span>
<A morphism in Category of right presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">morphism_r1 := LambdaElimination( DirectSum( Mr, Ur ), Nr, generator_r1 );</span>
<A morphism in Category of right presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( morphism_r1 ) );</span>
[ [ -3, 2 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">generator_r2 := StandardGeneratorMorphism( IntHoml, 2 );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">morphism_r2 := LambdaElimination( DirectSum( Ml, Ul ), Nl, generator_r2 );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( UnderlyingMatrix( morphism_r2 ) );</span>
[ [ 0 ],
[ -1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsEqualForMorphisms( LambdaIntroduction( morphism_r1 ), generator_r1 );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCongruentForMorphisms( LambdaIntroduction( morphism_r1 ), generator_r1 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsEqualForMorphisms( LambdaIntroduction( morphism_r2 ), generator_r2 );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCongruentForMorphisms( LambdaIntroduction( morphism_r2 ), generator_r2 );</span>
true
</pre></div>
<p><a id="X828DF9B1782D1AF6" name="X828DF9B1782D1AF6"></a></p>
<h4>2.5 <span class="Heading">Closed Monoidal Structure</span></h4>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := HomalgRingOfIntegers( );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">fpres := LeftPresentations( R );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := AsLeftPresentation( fpres, HomalgMatrix( [ [ 2 ] ], 1, 1, R ) );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">N := AsLeftPresentation( fpres, HomalgMatrix( [ [ 3 ] ], 1, 1, R ) );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">T := TensorProductOnObjects( M, N );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( T );</span>
[ [ 3 ],
[ 2 ] ]
An object in Category of left presentations of Z
<span class="GAPprompt">gap></span> <span class="GAPinput">IsZero( T );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">H := InternalHomOnObjects( DirectSum( M, M ), DirectSum( M, N ) );</span>
<An object in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( H );</span>
[ [ 0, 0, 0, -2 ],
[ 1, 2, 0, 0 ],
[ 0, 2, 2, 0 ],
[ 2, 3, 0, 2 ] ]
An object in Category of left presentations of Z
<span class="GAPprompt">gap></span> <span class="GAPinput">alpha := StandardGeneratorMorphism( H, 3 );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">l := LambdaElimination( DirectSum( M, M ), DirectSum( M, N ), alpha );</span>
<A morphism in Category of left presentations of Z>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsZero( l );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( l );</span>
[ [ -2, 6 ],
[ -1, -3 ] ]
A morphism in Category of left presentations of Z
</pre></div>
<p><a id="X7C3B1694803034A2" name="X7C3B1694803034A2"></a></p>
<h4>2.6 <span class="Heading">Projectivity test</span></h4>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Q := HomalgFieldOfRationalsInSingular();;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := Q * "x";;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">F := FreeLeftPresentation( 2, Q );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">HasIsProjective( F ) and IsProjective( F );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">G := FreeRightPresentation( 2, Q );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">HasIsProjective( G ) and IsProjective( G );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">M := AsLeftPresentation( HomalgMatrix( "[ x, x ]", 1, 2, R ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsProjective( M );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">N := AsLeftPresentation( HomalgMatrix( "[ 1, x ]", 1, 2, R ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsProjective( N );</span>
true
</pre></div>
<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a> <a href="chap0_mj.html#contents">[Contents]</a> <a href="chap1_mj.html">[Previous Chapter]</a> <a href="chapInd_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="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>
¤ Dauer der Verarbeitung: 0.12 Sekunden
¤
*© Formatika GbR, Deutschland
|
|