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] 

17 Category of rows and columns over a field
 17.1 Abelian operations for rows

17 Category of rows and columns over a field

17.1 Abelian operations for rows

Category of rows over a field

gap> Q := HomalgFieldOfRationals();;
gap> RowsQ := CategoryOfRows( Q );;
gap> a := 3/RowsQ;;
gap> b := 4/RowsQ;;
gap> IsProjective( a );
true
gap> homalg_matrix := HomalgMatrix( [ [ 1, 0, 0, 0 ],
>                                   [ 0, 1, 0, -1 ],
>                                   [ -1, 0, 2, 1 ] ], 3, 4, Q );;
gap> alpha := homalg_matrix/RowsQ;;
gap> homalg_matrix := HomalgMatrix( [ [ 1, 1, 0, 0 ],
>                                   [ 0, 1, 0, -1 ],
>                                   [ -1, 0, 2, 1 ] ], 3, 4, Q );;
gap> beta := homalg_matrix/RowsQ;;
gap> IsWellDefined( CokernelObject( alpha ) );
true
gap> c := CokernelProjection( alpha );;
gap> gamma := UniversalMorphismIntoDirectSum( [ c, c ] );;
gap> colift := CokernelColift( alpha, gamma );;
gap> IsEqualForMorphisms( PreCompose( c, colift ), gamma );
true
gap> FiberProduct( alpha, beta );;
gap> F := FiberProduct( alpha, beta );;
gap> IsWellDefined( F );
true
gap> IsWellDefined( ProjectionInFactorOfFiberProduct( [ alpha, beta ], 1 ) );
true
gap> IsWellDefined( Pushout( alpha, beta ) );
true
gap> i1 := InjectionOfCofactorOfPushout( [ alpha, beta ], 1 );;
gap> i2 := InjectionOfCofactorOfPushout( [ alpha, beta ], 2 );;
gap> u := UniversalMorphismFromDirectSum( [ b, b ], [ i1, i2 ] );;
gap> KernelObjectFunctorial( u, IdentityMorphism( Source( u ) ), u ) = IdentityMorphism( 3/RowsQ );
true
gap> IsZeroForMorphisms( CokernelObjectFunctorial( u, IdentityMorphism( Range( u ) ), u ) );
true
gap> DirectProductFunctorial( [ u, u ] ) = DirectSumFunctorial( [ u, u ] );
true
gap> CoproductFunctorial( [ u, u ] ) = DirectSumFunctorial( [ u, u ] );
true
gap> IsCongruentForMorphisms(
>     FiberProductFunctorial( [ u, u ], [ IdentityMorphism( Source( u ) ), IdentityMorphism( Source( u ) ) ], [ u, u ] ),
>     IdentityMorphism( FiberProduct( [ u, u ] ) )
> );
true
gap> IsCongruentForMorphisms(
>     PushoutFunctorial( [ u, u ], [ IdentityMorphism( Range( u ) ), IdentityMorphism( Range( u ) ) ], [ u, u ] ),
>     IdentityMorphism( Pushout( [ u, u ] ) )
> );
true
gap> IsCongruentForMorphisms( ((1/2) / Q) * alpha, alpha * ((1/2) / Q) );
true
gap> RankOfObject( HomomorphismStructureOnObjects( a, b ) ) = RankOfObject( a ) * RankOfObject( b );
true
gap> IsCongruentForMorphisms(
>     PreCompose( [ u, DualOnMorphisms( i1 ), DualOnMorphisms( alpha ) ] ),
>     InterpretMorphismFromDistinguishedObjectToHomomorphismStructureAsMorphism( Source( u ), Source( alpha ),
>          PreCompose(
>              InterpretMorphismAsMorphismFromDistinguishedObjectToHomomorphismStructure( DualOnMorphisms( i1 ) ),
>              HomomorphismStructureOnMorphisms( u, DualOnMorphisms( alpha ) )
>          )
>     )
> );
true

Category of columns over a field

gap> Q := HomalgFieldOfRationals();;
gap> ColsQ := CategoryOfColumns( Q );;
gap> a := 3/ColsQ;;
gap> b := 4/ColsQ;;
gap> IsProjective( a );
true
gap> homalg_matrix := HomalgMatrix( [ [ 1, 0, 0, 0 ],
>                                   [ 0, 1, 0, -1 ],
>                                   [ -1, 0, 2, 1 ] ], 3, 4, Q );;
gap> homalg_matrix := TransposedMatrix( homalg_matrix );;
gap> alpha := homalg_matrix/ColsQ;;
gap> homalg_matrix := HomalgMatrix( [ [ 1, 1, 0, 0 ],
>                                   [ 0, 1, 0, -1 ],
>                                   [ -1, 0, 2, 1 ] ], 3, 4, Q );;
gap> homalg_matrix := TransposedMatrix( homalg_matrix );;
gap> beta := homalg_matrix/ColsQ;;
gap> IsWellDefined( CokernelObject( alpha ) );
true
gap> c := CokernelProjection( alpha );;
gap> gamma := UniversalMorphismIntoDirectSum( [ c, c ] );;
gap> colift := CokernelColift( alpha, gamma );;
gap> IsEqualForMorphisms( PreCompose( c, colift ), gamma );
true
gap> FiberProduct( alpha, beta );;
gap> F := FiberProduct( alpha, beta );;
gap> IsWellDefined( F );
true
gap> IsWellDefined( ProjectionInFactorOfFiberProduct( [ alpha, beta ], 1 ) );
true
gap> IsWellDefined( Pushout( alpha, beta ) );
true
gap> i1 := InjectionOfCofactorOfPushout( [ alpha, beta ], 1 );;
gap> i2 := InjectionOfCofactorOfPushout( [ alpha, beta ], 2 );;
gap> u := UniversalMorphismFromDirectSum( [ b, b ], [ i1, i2 ] );;
gap> KernelObjectFunctorial( u, IdentityMorphism( Source( u ) ), u ) = IdentityMorphism( 3/ColsQ );
true
gap> IsZeroForMorphisms( CokernelObjectFunctorial( u, IdentityMorphism( Range( u ) ), u ) );
true
gap> DirectProductFunctorial( [ u, u ] ) = DirectSumFunctorial( [ u, u ] );
true
gap> CoproductFunctorial( [ u, u ] ) = DirectSumFunctorial( [ u, u ] );
true
gap> IsCongruentForMorphisms(
>     FiberProductFunctorial( [ u, u ], [ IdentityMorphism( Source( u ) ), IdentityMorphism( Source( u ) ) ], [ u, u ] ),
>     IdentityMorphism( FiberProduct( [ u, u ] ) )
> );
true
gap> IsCongruentForMorphisms(
>     PushoutFunctorial( [ u, u ], [ IdentityMorphism( Range( u ) ), IdentityMorphism( Range( u ) ) ], [ u, u ] ),
>     IdentityMorphism( Pushout( [ u, u ] ) )
> );
true
gap> IsCongruentForMorphisms( ((1/2) / Q) * alpha, alpha * ((1/2) / Q) );
true
gap> RankOfObject( HomomorphismStructureOnObjects( a, b ) ) = RankOfObject( a ) * RankOfObject( b );
true
gap> IsCongruentForMorphisms(
>     PreCompose( [ u, DualOnMorphisms( i1 ), DualOnMorphisms( alpha ) ] ),
>     InterpretMorphismFromDistinguishedObjectToHomomorphismStructureAsMorphism( Source( u ), Source( alpha ),
>          PreCompose(
>              InterpretMorphismAsMorphismFromDistinguishedObjectToHomomorphismStructure( DualOnMorphisms( i1 ) ),
>              HomomorphismStructureOnMorphisms( u, DualOnMorphisms( alpha ) )
>          )
>     )
> );
true
 [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