gap> Q := HomalgFieldOfRationalsInSingular();; gap> S := GradedRing( Q * "x_1, x_2" );; gap> SetWeightsOfIndeterminates( S, [[1],[1]] );; gap> Module := AsFreydCategoryObject( GradedRow( [[[1],1]], S ) ); <A projective object in Category of f.p. graded left modules over Q[x_1,x_2] (with weights [ 1, 1 ])> gap> IsFpGradedLeftOrRightModulesObject( Module ); true gap> mor := AsFreydCategoryMorphism( IdentityMorphism( GradedRow( [[[1],1]], S ) ) ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2] (with weights [ 1, 1 ])> gap> IsFpGradedLeftOrRightModulesMorphism( mor ); true
gap> Q := HomalgFieldOfRationalsInSingular(); Q gap> S := GradedRing( Q * "x_1, x_2, x_3, x_4" ); Q[x_1,x_2,x_3,x_4] (weights: yet unset) gap> SetWeightsOfIndeterminates( S, [[1,0],[1,0],[0,1],[0,1]] ); gap> cat := CategoryOfGradedRows( S ); Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) gap> obj1 := GradedRow( [ [[1,1],1] ], S ); <A graded row of rank 1> gap> obj2 := GradedRow( [ [[1,1],2] ], S ); <A graded row of rank 2> gap> gamma := GradedRowOrColumnMorphism( obj2, > HomalgMatrix( [ [ 1, 1 ], [ 1, 1 ] ], 2, 2, S ), obj2 ); <A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> freyd := FreydCategory( cat ); Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) gap> IsAbelianCategory( freyd ); true gap> obj_gamma := FreydCategoryObject( gamma ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsFpGradedLeftOrRightModulesObject( obj_gamma ); true gap> f := FreydCategoryMorphism( obj_gamma, gamma, obj_gamma ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsFpGradedLeftOrRightModulesMorphism( f ); true gap> witness := MorphismWitness( f ); <A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( witness ); A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] Matrix: 2,0, 2,0 (over a graded ring) Range: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ]
gap> g := FreydCategoryMorphism( obj_gamma, > ZeroMorphism( obj2, obj2 ), obj_gamma ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsCongruentForMorphisms( f, g ); true gap> c := PreCompose( f, f ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( c ); A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) ) -------------------------------- Source: A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] Matrix: 1,1, 1,1 (over a graded ring) Range: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] -------------------------------- Morphism datum: A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] Matrix: 2,2, 2,2 (over a graded ring) Range: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] -------------------------------- Range: A morphism in Category of graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] Matrix: 1,1, 1,1 (over a graded ring) Range: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] --------------------------------
gap> s := g + g; <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> a := GradedRowOrColumnMorphism( obj1, > HomalgMatrix( [ [ 2 ] ], 1, 1, S ), obj1 ); <A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( a ); A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ] Matrix: 2 (over a graded ring) Range: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ]
gap> Z2 := FreydCategoryObject( a ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( Z2 ); An object in Freyd( Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) ) Relation morphism: A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ] Matrix: 2 (over a graded ring) Range: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ]
gap> id := IdentityMorphism( Z2 ); <An identity morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> z := id + id + id; <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> d := DirectSumFunctorial( [ z, z, z ] ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> pr2 := ProjectionInFactorOfDirectSum( [ Z2, Z2, Z2 ], 2 ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> pr3 := ProjectionInFactorOfDirectSum( [ Z2, Z2, Z2 ], 3 ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> uni := UniversalMorphismIntoDirectSum( [ pr3, pr2 ] ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> inj1 := InjectionOfCofactorOfDirectSum( [ Z2, Z2, Z2 ], 1 ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> inj2 := InjectionOfCofactorOfDirectSum( [ Z2, Z2, Z2 ], 2 ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> uni2 := UniversalMorphismFromDirectSum( [ inj2, inj1 ] ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> ZFree := AsFreydCategoryObject( obj1 ); <A projective object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( ZFree ); A projective object in Freyd( Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) ) Relation morphism: A morphism in Category of graded rows over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 0 and degrees: [ ] Matrix: (an empty 0 x 1 matrix) Range: A graded row over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ]
gap> id := IdentityMorphism( ZFree ); <An identity morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> z := id + id; <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> coker_proj := CokernelProjection( z ); <An epimorphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> cokernel_colift := CokernelColift( z, CokernelProjection( z ) ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> a := ZFree; <A projective object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> b := obj_gamma; <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> c := TensorProductOnObjects( ZFree, obj_gamma ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> KaxbKxc := TensorProductOnObjects( TensorProductOnObjects( a, b ), c ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEqualForObjects( KaxbKxc, ZeroObject( freyd ) ); false gap> tensor_product_morphism := TensorProductOnMorphisms( cokernel_colift, coker_proj ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEpimorphism( tensor_product_morphism ); true gap> IsEqualForObjects( Source( tensor_product_morphism ), Range( tensor_product_morphism ) ); false gap> unit := TensorUnit( freyd ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEqualForObjects( TensorProductOnObjects( a, unit ), a ); true gap> axKbxcK := TensorProductOnObjects( a, TensorProductOnObjects( b, c ) ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> ass_left_to_right := AssociatorLeftToRightWithGivenTensorProducts( KaxbKxc, a, b, c, axKbxcK ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsIsomorphism( ass_left_to_right ); true gap> ass_right_to_left := AssociatorLeftToRightWithGivenTensorProducts( axKbxcK, a, b, c, KaxbKxc ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsMonomorphism( ass_right_to_left ); true gap> IsEpimorphism( ass_right_to_left ); true gap> LeftUnitor( a ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> LeftUnitorInverse( axKbxcK ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> RightUnitor( b ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> RightUnitorInverse( TensorProductOnObjects( axKbxcK, axKbxcK ) ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> Braiding( axKbxcK, KaxbKxc ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> braiding := Braiding( a, b ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsWellDefined( braiding ); true gap> hom := InternalHomOnObjects( axKbxcK, axKbxcK ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsZero( hom ); false gap> free_mod1 := AsFreydCategoryObject( GradedRow( [ [[0,0],1] ], S ) ); <A projective object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> free_mod2 := AsFreydCategoryObject( GradedRow( [ [[1,1],1] ], S ) ); <A projective object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> hom2 := InternalHomOnObjects( free_mod1, free_mod2 ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsZero( hom2 ); false gap> IsZero( Source( RelationMorphism( hom2 ) ) ); true gap> Rank( Range( RelationMorphism( hom2 ) ) ); 1 gap> hom3 := InternalHomOnObjects( free_mod2, free_mod1 ); <An object in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsZero( hom3 ); false gap> InternalHomOnMorphisms( ass_left_to_right, ass_right_to_left ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> eval := ClosedMonoidalLeftEvaluationMorphism( a, b ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEpimorphism( eval ); true gap> IsMonomorphism( eval ); true gap> coeval := ClosedMonoidalLeftCoevaluationMorphism( a, b ); <A morphism in Category of f.p. graded left modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEpimorphism( coeval ); true gap> IsMonomorphism( coeval ); true
gap> Q := HomalgFieldOfRationalsInSingular(); Q gap> S := GradedRing( Q * "x_1, x_2, x_3, x_4" ); Q[x_1,x_2,x_3,x_4] (weights: yet unset) gap> SetWeightsOfIndeterminates( S, [[1,0],[1,0],[0,1],[0,1]] ); gap> cat := CategoryOfGradedColumns( S ); Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) gap> obj1 := GradedColumn( [ [[1,1],1] ], S ); <A graded column of rank 1> gap> obj2 := GradedColumn( [ [[1,1],2] ], S ); <A graded column of rank 2> gap> gamma := GradedRowOrColumnMorphism( obj2, > HomalgMatrix( [ [ 1, 1 ], [ 1, 1 ] ], 2, 2, S ), obj2 ); <A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> freyd := FreydCategory( cat ); Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) gap> IsAbelianCategory( freyd ); true gap> obj_gamma := FreydCategoryObject( gamma ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> f := FreydCategoryMorphism( obj_gamma, gamma, obj_gamma ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> witness := MorphismWitness( f ); <A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( witness ); A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] Matrix: 2,2, 0,0 (over a graded ring) Range: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ]
gap> g := FreydCategoryMorphism( obj_gamma, > ZeroMorphism( obj2, obj2 ), obj_gamma ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsCongruentForMorphisms( f, g ); true gap> c := PreCompose( f, f ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( c ); A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) ) -------------------------------- Source: A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] Matrix: 1,1, 1,1 (over a graded ring) Range: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] -------------------------------- Morphism datum: A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] Matrix: 2,2, 2,2 (over a graded ring) Range: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] -------------------------------- Range: A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] Matrix: 1,1, 1,1 (over a graded ring) Range: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 2 and degrees: [ [ ( 1, 1 ), 2 ] ] --------------------------------
gap> s := g + g; <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> a := GradedRowOrColumnMorphism( obj1, > HomalgMatrix( [ [ 2 ] ], 1, 1, S ), obj1 ); <A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( a ); A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ] Matrix: 2 (over a graded ring) Range: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ]
gap> Z2 := FreydCategoryObject( a ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( Z2 ); An object in Freyd( Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) ) Relation morphism: A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ] Matrix: 2 (over a graded ring) Range: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ]
gap> id := IdentityMorphism( Z2 ); <An identity morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> z := id + id + id; <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> d := DirectSumFunctorial( [ z, z, z ] ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> pr2 := ProjectionInFactorOfDirectSum( [ Z2, Z2, Z2 ], 2 ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> pr3 := ProjectionInFactorOfDirectSum( [ Z2, Z2, Z2 ], 3 ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> uni := UniversalMorphismIntoDirectSum( [ pr3, pr2 ] ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> inj1 := InjectionOfCofactorOfDirectSum( [ Z2, Z2, Z2 ], 1 ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> inj2 := InjectionOfCofactorOfDirectSum( [ Z2, Z2, Z2 ], 2 ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> uni2 := UniversalMorphismFromDirectSum( [ inj2, inj1 ] ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> ZFree := AsFreydCategoryObject( obj1 ); <A projective object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])>
gap> Display( ZFree ); A projective object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) ) Relation morphism: A morphism in Category of graded columns over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) Source: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 0 and degrees: [ ] Matrix: (an empty 1 x 0 matrix) Range: A graded column over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ]) of rank 1 and degrees: [ [ ( 1, 1 ), 1 ] ]
gap> id := IdentityMorphism( ZFree ); <An identity morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> z := id + id; <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> coker_proj := CokernelProjection( z ); <An epimorphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> cokernel_colift := CokernelColift( z, CokernelProjection( z ) ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> a := ZFree; <A projective object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> b := obj_gamma; <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> c := TensorProductOnObjects( a, b ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> KaxbKxc := TensorProductOnObjects( TensorProductOnObjects( a, b ), c ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEqualForObjects( KaxbKxc, ZeroObject( freyd ) ); false gap> tensor_product_morphism := TensorProductOnMorphisms( cokernel_colift, coker_proj ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEpimorphism( tensor_product_morphism ); true gap> IsEqualForObjects( Source( tensor_product_morphism ), Range( tensor_product_morphism ) ); false gap> unit := TensorUnit( freyd ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEqualForObjects( TensorProductOnObjects( a, unit ), a ); true gap> axKbxcK := TensorProductOnObjects( a, TensorProductOnObjects( b, c ) ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> ass_left_to_right := AssociatorLeftToRightWithGivenTensorProducts( KaxbKxc, a, b, c, axKbxcK ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsIsomorphism( ass_left_to_right ); true gap> ass_right_to_left := AssociatorLeftToRightWithGivenTensorProducts( axKbxcK, a, b, c, KaxbKxc ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsMonomorphism( ass_right_to_left ); true gap> IsEpimorphism( ass_right_to_left ); true gap> LeftUnitor( a ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> LeftUnitorInverse( axKbxcK ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> RightUnitor( b ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> RightUnitorInverse( TensorProductOnObjects( axKbxcK, axKbxcK ) ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> Braiding( axKbxcK, KaxbKxc ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> braiding := Braiding( a, b ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsWellDefined( braiding ); true gap> hom := InternalHomOnObjects( axKbxcK, axKbxcK ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsZero( hom ); false gap> free_mod1 := AsFreydCategoryObject( GradedColumn( [ [[0,0],1] ], S ) ); <A projective object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> free_mod2 := AsFreydCategoryObject( GradedColumn( [ [[1,1],1] ], S ) ); <A projective object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> hom2 := InternalHomOnObjects( free_mod1, free_mod2 ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsZero( hom2 ); false gap> IsZero( Source( RelationMorphism( hom2 ) ) ); true gap> Rank( Range( RelationMorphism( hom2 ) ) ); 1 gap> hom3 := InternalHomOnObjects( free_mod2, free_mod1 ); <An object in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsZero( hom3 ); false gap> InternalHomOnMorphisms( ass_left_to_right, ass_right_to_left ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> eval := ClosedMonoidalLeftEvaluationMorphism( a, b ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEpimorphism( eval ); true gap> IsMonomorphism( eval ); true gap> coeval := ClosedMonoidalLeftCoevaluationMorphism( a, b ); <A morphism in Category of f.p. graded right modules over Q[x_1,x_2,x_3,x_4] (with weights [ [ 1, 0 ], [ 1, 0 ], [ 0, 1 ], [ 0, 1 ] ])> gap> IsEpimorphism( coeval ); true gap> IsMonomorphism( coeval ); true
generated by GAPDoc2HTML