@@ -221,9 +221,6 @@ InstallGlobalFunction( ADD_FUNCTIONS_FOR_LEFT_PRESENTATION,
221
221
# has special cases
222
222
ADD_PRECOMPOSE_LEFT( category );
223
223
224
- # simpler than the compiled version
225
- ADD_EQUAL_FOR_OBJECTS( category );
226
-
227
224
# IsWellDefined* should not be compiled
228
225
ADD_IS_WELL_DEFINED_FOR_OBJECTS( category );
229
226
@@ -234,23 +231,12 @@ InstallGlobalFunction( ADD_FUNCTIONS_FOR_LEFT_PRESENTATION,
234
231
# differs from the compiled version
235
232
ADD_LIFT_AND_COLIFT_LEFT( category );
236
233
237
- # this tensor structure slightly differs from the tensor structure of FreydCategory
238
- ADD_ASSOCIATOR_LEFT( category );
239
-
240
- ADD_UNITOR( category );
241
-
242
234
ADD_TENSOR_PRODUCT_ON_OBJECTS_LEFT( category );
243
235
244
- ADD_TENSOR_PRODUCT_ON_MORPHISMS( category );
245
-
246
- ADD_TENSOR_UNIT_LEFT( category );
247
-
248
236
ADD_INTERNAL_HOM_ON_OBJECTS_LEFT( category );
249
237
250
238
ADD_INTERNAL_HOM_ON_MORPHISMS_LEFT( category );
251
239
252
- ADD_BRAIDING_LEFT( category );
253
-
254
240
ADD_EVALUATION_MORPHISM_LEFT( category );
255
241
256
242
ADD_COEVALUATION_MORPHISM_LEFT( category );
@@ -268,8 +254,6 @@ InstallGlobalFunction( ADD_FUNCTIONS_FOR_RIGHT_PRESENTATION,
268
254
269
255
ADD_PRECOMPOSE_RIGHT( category );
270
256
271
- ADD_EQUAL_FOR_OBJECTS( category );
272
-
273
257
ADD_IS_WELL_DEFINED_FOR_OBJECTS( category );
274
258
275
259
ADD_IS_WELL_DEFINED_FOR_MORPHISM_RIGHT( category );
@@ -278,22 +262,12 @@ InstallGlobalFunction( ADD_FUNCTIONS_FOR_RIGHT_PRESENTATION,
278
262
279
263
ADD_LIFT_AND_COLIFT_RIGHT( category );
280
264
281
- ADD_ASSOCIATOR_RIGHT( category );
282
-
283
- ADD_UNITOR( category );
284
-
285
265
ADD_TENSOR_PRODUCT_ON_OBJECTS_RIGHT( category );
286
266
287
- ADD_TENSOR_PRODUCT_ON_MORPHISMS( category );
288
-
289
- ADD_TENSOR_UNIT_RIGHT( category );
290
-
291
267
ADD_INTERNAL_HOM_ON_OBJECTS_RIGHT( category );
292
268
293
269
ADD_INTERNAL_HOM_ON_MORPHISMS_RIGHT( category );
294
270
295
- ADD_BRAIDING_RIGHT( category );
296
-
297
271
ADD_EVALUATION_MORPHISM_RIGHT( category );
298
272
299
273
ADD_COEVALUATION_MORPHISM_RIGHT( category );
@@ -388,21 +362,6 @@ InstallGlobalFunction( ADD_IS_WELL_DEFINED_FOR_MORPHISM_RIGHT,
388
362
389
363
end );
390
364
391
- # #
392
- InstallGlobalFunction( ADD_EQUAL_FOR_OBJECTS,
393
-
394
- function ( category )
395
-
396
- AddIsEqualForObjects( category,
397
-
398
- function ( cat, object1, object2 )
399
-
400
- return UnderlyingMatrix( object1 ) = UnderlyingMatrix( object2 );
401
-
402
- end );
403
-
404
- end );
405
-
406
365
# #
407
366
InstallGlobalFunction( ADD_KERNEL_LEFT,
408
367
@@ -517,12 +476,7 @@ InstallGlobalFunction( ADD_PRECOMPOSE_LEFT,
517
476
518
477
AddPreCompose( category,
519
478
520
- [
521
- [ function ( cat, left_morphism, right_morphism )
522
-
523
- return PresentationMorphism( Source( left_morphism ), UnderlyingMatrix( left_morphism ) * UnderlyingMatrix( right_morphism ), Range( right_morphism ) );
524
-
525
- end , [ ] ] ,
479
+ [
526
480
527
481
[ function ( cat, left_morphism, identity_morphism )
528
482
@@ -567,13 +521,7 @@ InstallGlobalFunction( ADD_PRECOMPOSE_RIGHT,
567
521
568
522
AddPreCompose( category,
569
523
570
- [
571
-
572
- [ function ( cat, left_morphism, right_morphism )
573
-
574
- return PresentationMorphism( Source( left_morphism ), UnderlyingMatrix( right_morphism ) * UnderlyingMatrix( left_morphism ), Range( right_morphism ) );
575
-
576
- end , [ ] ] ,
524
+ [
577
525
578
526
[ function ( cat, left_morphism, identity_morphism )
579
527
@@ -609,78 +557,6 @@ InstallGlobalFunction( ADD_PRECOMPOSE_RIGHT,
609
557
610
558
end );
611
559
612
- # #
613
- InstallGlobalFunction( ADD_ASSOCIATOR_LEFT,
614
-
615
- function ( category )
616
- local homalg_ring, associator_func;
617
-
618
- homalg_ring := category!. ring_for_representation_category;
619
-
620
- associator_func := function ( cat, source, A, B, C, range )
621
-
622
- return PresentationMorphism(
623
- source,
624
- HomalgIdentityMatrix( NrColumns( UnderlyingMatrix( source ) ), NrColumns( UnderlyingMatrix( range ) ), homalg_ring ),
625
- range
626
- );
627
-
628
- end ;
629
-
630
- AddAssociatorLeftToRightWithGivenTensorProducts( category,
631
- associator_func
632
- );
633
-
634
- AddAssociatorRightToLeftWithGivenTensorProducts( category,
635
- associator_func
636
- );
637
-
638
- end );
639
-
640
- # #
641
- InstallGlobalFunction( ADD_ASSOCIATOR_RIGHT,
642
-
643
- function ( category )
644
- local homalg_ring, associator_func;
645
-
646
- homalg_ring := category!. ring_for_representation_category;
647
-
648
- associator_func := function ( cat, source, A, B, C, range )
649
-
650
- return PresentationMorphism(
651
- source,
652
- HomalgIdentityMatrix( NrRows( UnderlyingMatrix( source ) ), NrRows( UnderlyingMatrix( range ) ), homalg_ring ),
653
- range
654
- );
655
-
656
- end ;
657
-
658
- AddAssociatorLeftToRightWithGivenTensorProducts( category,
659
- associator_func
660
- );
661
-
662
- AddAssociatorRightToLeftWithGivenTensorProducts( category,
663
- associator_func
664
- );
665
-
666
- end );
667
-
668
- # #
669
- InstallGlobalFunction( ADD_UNITOR,
670
-
671
- function ( category )
672
- local unitor_func;
673
-
674
- unitor_func := function ( cat, A, B )
675
- return IdentityMorphism( A );
676
- end ;
677
-
678
- AddLeftUnitorWithGivenTensorProduct( category, unitor_func );
679
-
680
- AddRightUnitorWithGivenTensorProduct( category, unitor_func );
681
-
682
- end );
683
-
684
560
# #
685
561
InstallGlobalFunction( ADD_TENSOR_PRODUCT_ON_OBJECTS_LEFT,
686
562
@@ -749,59 +625,6 @@ InstallGlobalFunction( ADD_TENSOR_PRODUCT_ON_OBJECTS_RIGHT,
749
625
750
626
end );
751
627
752
- # #
753
- InstallGlobalFunction( ADD_TENSOR_PRODUCT_ON_MORPHISMS,
754
-
755
- function ( category )
756
-
757
- AddTensorProductOnMorphismsWithGivenTensorProducts( category,
758
-
759
- function ( cat, new_source, morphism_1, morphism_2, new_range )
760
-
761
- return PresentationMorphism( new_source,
762
- KroneckerMat( UnderlyingMatrix( morphism_1 ), UnderlyingMatrix( morphism_2 ) ),
763
- new_range );
764
-
765
- end );
766
-
767
- end );
768
-
769
- # #
770
- InstallGlobalFunction( ADD_TENSOR_UNIT_LEFT,
771
-
772
- function ( category )
773
- local homalg_ring;
774
-
775
- homalg_ring := category!. ring_for_representation_category;
776
-
777
- AddTensorUnit( category,
778
-
779
- function ( cat )
780
-
781
- return AsLeftPresentation( HomalgZeroMatrix( 0 , 1 , homalg_ring ) );
782
-
783
- end );
784
-
785
- end );
786
-
787
- # #
788
- InstallGlobalFunction( ADD_TENSOR_UNIT_RIGHT,
789
-
790
- function ( category )
791
- local homalg_ring;
792
-
793
- homalg_ring := category!. ring_for_representation_category;
794
-
795
- AddTensorUnit( category,
796
-
797
- function ( cat )
798
-
799
- return AsRightPresentation( HomalgZeroMatrix( 1 , 0 , homalg_ring ) );
800
-
801
- end );
802
-
803
- end );
804
-
805
628
# #
806
629
InstallGlobalFunction( ADD_INTERNAL_HOM_ON_OBJECTS_LEFT,
807
630
@@ -896,68 +719,6 @@ InstallGlobalFunction( ADD_INTERNAL_HOM_ON_MORPHISMS_RIGHT,
896
719
897
720
end );
898
721
899
- # #
900
- InstallGlobalFunction( ADD_BRAIDING_LEFT,
901
-
902
- function ( category )
903
-
904
- AddBraidingWithGivenTensorProducts( category,
905
-
906
- function ( cat, object_1_tensored_object_2, object_1, object_2, object_2_tensored_object_1 )
907
- local homalg_ring, permutation_matrix, rank_1, rank_2, rank;
908
-
909
- homalg_ring := UnderlyingHomalgRing( object_1 );
910
-
911
- rank_1 := NrColumns( UnderlyingMatrix( object_1 ) );
912
-
913
- rank_2 := NrColumns( UnderlyingMatrix( object_2 ) );
914
-
915
- rank := NrColumns( UnderlyingMatrix( object_1_tensored_object_2 ) );
916
-
917
- permutation_matrix := PermutationMat(
918
- PermList( List( [ 1 .. rank ] , i -> ( RemInt( i - 1 , rank_2 ) * rank_1 + QuoInt( i - 1 , rank_2 ) + 1 ) ) ),
919
- rank
920
- );
921
-
922
- return PresentationMorphism( object_1_tensored_object_2,
923
- HomalgMatrix( permutation_matrix, rank, rank, homalg_ring ),
924
- object_2_tensored_object_1 );
925
-
926
- end );
927
-
928
- end );
929
-
930
- # #
931
- InstallGlobalFunction( ADD_BRAIDING_RIGHT,
932
-
933
- function ( category )
934
-
935
- AddBraidingWithGivenTensorProducts( category,
936
-
937
- function ( cat, object_1_tensored_object_2, object_1, object_2, object_2_tensored_object_1 )
938
- local homalg_ring, permutation_matrix, rank_1, rank_2, rank;
939
-
940
- homalg_ring := UnderlyingHomalgRing( object_1 );
941
-
942
- rank_1 := NrRows( UnderlyingMatrix( object_1 ) );
943
-
944
- rank_2 := NrRows( UnderlyingMatrix( object_2 ) );
945
-
946
- rank := NrRows( UnderlyingMatrix( object_1_tensored_object_2 ) );
947
-
948
- permutation_matrix := PermutationMat(
949
- PermList( List( [ 1 .. rank ] , i -> ( RemInt( i - 1 , rank_2 ) * rank_1 + QuoInt( i - 1 , rank_2 ) + 1 ) ) ),
950
- rank
951
- );
952
-
953
- return PresentationMorphism( object_1_tensored_object_2,
954
- TransposedMatrix( HomalgMatrix( permutation_matrix, rank, rank, homalg_ring ) ), # # transposed of the left case
955
- object_2_tensored_object_1 );
956
-
957
- end );
958
-
959
- end );
960
-
961
722
# #
962
723
InstallGlobalFunction( ADD_EVALUATION_MORPHISM_LEFT,
963
724
0 commit comments