Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

8 Example on category of columns
 8.1 Constructors of objects
 8.2 Constructors of morphisms
 8.3 A few categorical constructions for category of columns

8 Example on category of columns

8.1 Constructors of objects

gap> S := HomalgRingOfIntegers();;
gap> cols := CategoryOfColumns( S );
Columns( Z )
gap> obj1 := CategoryOfColumnsObject( 2, cols );
<A column module over Z of rank 2>
gap> obj2 := CategoryOfColumnsObject( 8, cols );
<A column module over Z of rank 8>

8.2 Constructors of morphisms

gap> obj3 := CategoryOfColumnsObject( 1, cols );
<A column module over Z of rank 1>
gap> IsWellDefined( obj1 );
true
gap> obj4 := CategoryOfColumnsObject( 2, cols );
<A column module over Z of rank 2>
gap> mor := CategoryOfColumnsMorphism( obj3, HomalgMatrix( [[1],[2]], 2, 1, S ), obj4 );
<A morphism in Columns( Z )>
gap> IsWellDefined( mor );
true
gap> Display( Source( mor ) );
A column module over Z of rank 1
gap> Display( Range( mor ) );
A column module over Z of rank 2
gap> Display( UnderlyingMatrix( mor ) );
[ [  1 ],
  [  2 ] ]

8.3 A few categorical constructions for category of columns

gap> ZeroObject( cols );
<A column module over Z of rank 0>
gap> obj5 := CategoryOfColumnsObject( 2, cols );
<A column module over Z of rank 2>
gap> Display( ZeroMorphism( ZeroObject( cols ), obj5 ) );
A zero, split monomorphism in Columns( Z )

Source: 
A column module over Z of rank 0

Matrix: 
(an empty 2 x 0 matrix)

Range: 
A column module over Z of rank 2
gap> obj6 := CategoryOfColumnsObject( 1, cols );
<A column module over Z of rank 1>
gap> Display( IdentityMorphism( obj6 ) );
An identity morphism in Columns( Z )

Source: 
A column module over Z of rank 1

Matrix: 
[ [  1 ] ]

Range: 
A column module over Z of rank 1
gap> directSum := DirectSum( [ obj5, obj6 ] );
<A column module over Z of rank 3>
gap> Display( directSum );
A column module over Z of rank 3
gap> i1 := InjectionOfCofactorOfDirectSum( [ obj5, obj6 ], 1 );
<A morphism in Columns( Z )>
gap> Display( i1 );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 2

Matrix: 
[ [  1,  0 ],
  [  0,  1 ],
  [  0,  0 ] ]

Range: 
A column module over Z of rank 3
gap> i2 := InjectionOfCofactorOfDirectSum( [ obj5, obj6 ], 2 );
<A morphism in Columns( Z )>
gap> Display( i2 );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 1

Matrix: 
[ [  0 ],
  [  0 ],
  [  1 ] ]

Range: 
A column module over Z of rank 3
gap> proj1 := ProjectionInFactorOfDirectSum( [ obj5, obj6 ], 1 );
<A morphism in Columns( Z )>
gap> Display( proj1 );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 3

Matrix: 
[ [  1,  0,  0 ],
  [  0,  1,  0 ] ]

Range: 
A column module over Z of rank 2
gap> proj2 := ProjectionInFactorOfDirectSum( [ obj5, obj6 ], 2 );
<A morphism in Columns( Z )>
gap> Display( proj2 );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 3

Matrix: 
[ [  0,  0,  1 ] ]

Range: 
A column module over Z of rank 1
gap> k := WeakKernelEmbedding( proj1 );
<A morphism in Columns( Z )>
gap> Display( k );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 1

Matrix: 
[ [  0 ],
  [  0 ],
  [  1 ] ]

Range: 
A column module over Z of rank 3
gap> ck := WeakCokernelProjection( k );
<A morphism in Columns( Z )>
gap> Display( ck );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 3

Matrix: 
[ [   0,   1,   0 ],
  [  -1,   0,   0 ] ]

Range: 
A column module over Z of rank 2
gap> IsMonomorphism( k );
true
gap> IsEpimorphism( k );
false
gap> IsMonomorphism( ck );
false
gap> IsEpimorphism( ck );
true
gap> mor1 := CategoryOfColumnsMorphism( obj5, HomalgMatrix( [[ 1, 2 ]], 1, 2, S ), obj6 );
<A morphism in Columns( Z )>
gap> Display( mor1 );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 2

Matrix: 
[ [  1,  2 ] ]

Range: 
A column module over Z of rank 1
gap> mor2 := IdentityMorphism( obj6 );
<An identity morphism in Columns( Z )>
gap> Display( mor2 );
An identity morphism in Columns( Z )

Source: 
A column module over Z of rank 1

Matrix: 
[ [  1 ] ]

Range: 
A column module over Z of rank 1
gap> lift := Lift( mor1, mor2 );
<A morphism in Columns( Z )>
gap> Display( lift );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 2

Matrix: 
[ [  1,  2 ] ]

Range: 
A column module over Z of rank 1
gap> source := CategoryOfColumnsObject( 1, cols );
<A column module over Z of rank 1>
gap> range := CategoryOfColumnsObject( 2, cols );
<A column module over Z of rank 2>
gap> mor := CategoryOfColumnsMorphism( source, HomalgMatrix( [[ 2 ], [ 3 ]], 2, 1, S ), range );
<A morphism in Columns( Z )>
gap> colift := Colift( mor2, mor );
<A morphism in Columns( Z )>
gap> Display( colift );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 1

Matrix: 
[ [  2 ],
  [  3 ] ]

Range: 
A column module over Z of rank 2
gap> fp := WeakBiFiberProduct( mor1, mor2 );
<A column module over Z of rank 2>
gap> fp_proj := ProjectionOfBiasedWeakFiberProduct( mor1, mor2 );
<A morphism in Columns( Z )>
gap> Display( fp_proj );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 2

Matrix: 
[ [  -2,  -1 ],
  [   1,   0 ] ]

Range: 
A column module over Z of rank 2
gap> po := WeakBiPushout( mor, mor2 );
<A column module over Z of rank 2>
gap> inj_push := InjectionOfBiasedWeakPushout( mor, mor2 );
<A morphism in Columns( Z )>
gap> Display( inj_push );
A morphism in Columns( Z )

Source: 
A column module over Z of rank 2

Matrix: 
[ [  -3,   2 ],
  [   1,  -1 ] ]

Range: 
A column module over Z of rank 2
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Ind

generated by GAPDoc2HTML