Skip to content

Commit 181c74e

Browse files
author
Tom Kuhmichel
committed
Compile closed tensor structure
in ModulePresentationsForCAP
1 parent 97c7ffd commit 181c74e

12 files changed

+2397
-1076
lines changed

CompilerForCAP/examples/PrecompileModulePresentationsAsFreydCategoryOfCategoryOfRowsOrColumns.g

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,52 +19,52 @@ EEE := KoszulDualRing( QQxy * "a,b" );;
1919
operations_for_arbitrary_ring := [
2020
"AdditionForMorphisms",
2121
"AdditiveInverseForMorphisms",
22-
#"AssociatorLeftToRightWithGivenTensorProducts",
23-
#"AssociatorRightToLeftWithGivenTensorProducts",
24-
#"BraidingWithGivenTensorProducts",
25-
#"CoevaluationMorphismWithGivenRange",
2622
"CokernelColiftWithGivenCokernelObject",
2723
"CokernelProjection",
28-
#"Colift",
29-
#"ColiftOrFail",
3024
"DirectSum",
3125
"EpimorphismFromSomeProjectiveObject",
32-
#"EvaluationMorphismWithGivenSource",
3326
"IdentityMorphism",
3427
"InjectionOfCofactorOfDirectSumWithGivenDirectSum",
35-
#"InternalHomOnMorphismsWithGivenInternalHoms",
36-
#"InternalHomOnObjects",
37-
#"IsColiftable",
3828
"IsCongruentForMorphisms",
3929
"IsEqualForMorphisms",
40-
#"IsEqualForObjects",
41-
#"IsLiftable",
30+
"IsEqualForObjects",
4231
#"IsWellDefinedForMorphisms",
4332
#"IsWellDefinedForObjects",
4433
"IsZeroForMorphisms",
4534
#"KernelEmbedding",
46-
#"LeftUnitorWithGivenTensorProduct",
47-
#"Lift",
4835
#"LiftAlongMonomorphism",
49-
#"LiftOrFail",
50-
#"MultiplyWithElementOfCommutativeRingForMorphisms",
51-
#"PreCompose",
36+
"PreCompose",
5237
"ProjectionInFactorOfDirectSumWithGivenDirectSum",
53-
#"RightUnitorWithGivenTensorProduct",
54-
#"TensorProductOnMorphismsWithGivenTensorProducts",
55-
#"TensorProductOnObjects",
56-
#"TensorUnit",
5738
"UniversalMorphismFromDirectSumWithGivenDirectSum",
5839
"UniversalMorphismFromZeroObjectWithGivenZeroObject",
5940
"UniversalMorphismIntoDirectSumWithGivenDirectSum",
6041
"UniversalMorphismIntoZeroObjectWithGivenZeroObject",
6142
"ZeroMorphism",
62-
"ZeroObject"
43+
"ZeroObject",
6344
];;
6445

6546
operations_for_commutative_ring := Concatenation(
6647
operations_for_arbitrary_ring,
67-
[ "MultiplyWithElementOfCommutativeRingForMorphisms" ]
48+
[ "AssociatorLeftToRightWithGivenTensorProducts",
49+
"AssociatorRightToLeftWithGivenTensorProducts",
50+
"BraidingWithGivenTensorProducts",
51+
"CoevaluationMorphismWithGivenRange",
52+
#"Colift",
53+
#"ColiftOrFail",
54+
"EvaluationMorphismWithGivenSource",
55+
"InternalHomOnMorphismsWithGivenInternalHoms",
56+
"InternalHomOnObjects",
57+
#"IsColiftable",
58+
#"IsLiftable",
59+
"LeftUnitorWithGivenTensorProduct",
60+
#"Lift",
61+
#"LiftOrFail",
62+
"MultiplyWithElementOfCommutativeRingForMorphisms",
63+
"RightUnitorWithGivenTensorProduct",
64+
"TensorProductOnMorphismsWithGivenTensorProducts",
65+
"TensorProductOnObjects",
66+
"TensorUnit",
67+
]
6868
);;
6969

7070
precompile_LeftPresentations := function( ring, name, operations )

CompilerForCAP/gap/InferDataTypes.gi

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,10 +1492,18 @@ CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "CertainRows", [ "IsHomalgM
14921492
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "CertainColumns", [ "IsHomalgMatrix", "IsList" ], "IsHomalgMatrix" );
14931493
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "KroneckerMat", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
14941494
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "DualKroneckerMat", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1495-
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "SafeRightDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1495+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "LeftDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1496+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "LeftDivide", [ "IsHomalgMatrix", "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
14961497
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "SafeLeftDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1497-
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "UniqueRightDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
14981498
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "UniqueLeftDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1499+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "RightDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1500+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "RightDivide", [ "IsHomalgMatrix", "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1501+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "SafeRightDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1502+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "UniqueRightDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1503+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "BasisOfRowModule", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
1504+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "BasisOfColumnModule", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
1505+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "ReducedBasisOfRowModule", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
1506+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "ReducedBasisOfColumnModule", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
14991507
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "BasisOfRows", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
15001508
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "BasisOfColumns", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
15011509
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "SyzygiesOfRows", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );

FreydCategoriesForCAP/gap/FreydCategory.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ DeclareGlobalFunction( "IsValidInputForFreydCategory" );
275275
#! into $\mathrm{\underline{Hom}}(A, b)$ is the internal Hom-embedding. This method returns this very map.
276276
#! @Returns a (mono)morphism
277277
#! @Arguments cat, a, b
278-
DeclareOperationWithCache( "INTERNAL_HOM_EMBEDDING",
278+
DeclareOperation( "INTERNAL_HOM_EMBEDDING",
279279
[ IsFreydCategory, IsFreydCategoryObject, IsFreydCategoryObject ] );
280280

281281

FreydCategoriesForCAP/gap/FreydCategory.gi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ InstallOtherMethodForCompilerForCAP( MereExistenceOfWitnessForBeingCongruentToZe
310310

311311
end );
312312

313-
InstallMethodWithCacheFromObject( INTERNAL_HOM_EMBEDDING,
313+
InstallMethodForCompilerForCAP( INTERNAL_HOM_EMBEDDING,
314314
[ IsFreydCategory, IsFreydCategoryObject, IsFreydCategoryObject ],
315315
function( cat, a, b )
316316
local source, range, mor;

0 commit comments

Comments
 (0)