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
generated by GAPDoc2HTML