Skip to content

Commit 1788a93

Browse files
author
Tom Kuhmichel
committed
Compile closed tensor structure
in ModulePresentationsForCAP
1 parent 09eaba2 commit 1788a93

12 files changed

+2477
-1076
lines changed

CompilerForCAP/examples/PrecompileModulePresentationsAsFreydCategoryOfCategoryOfRowsOrColumns.g

Lines changed: 25 additions & 25 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",
45-
#"KernelEmbedding",
46-
#"LeftUnitorWithGivenTensorProduct",
47-
#"Lift",
48-
#"LiftAlongMonomorphism",
49-
#"LiftOrFail",
50-
#"MultiplyWithElementOfCommutativeRingForMorphisms",
51-
#"PreCompose",
34+
"KernelEmbedding",
35+
"LiftAlongMonomorphism",
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: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,8 +1461,14 @@ CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "CertainRows", [ "IsHomalgM
14611461
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "CertainColumns", [ "IsHomalgMatrix", "IsList" ], "IsHomalgMatrix" );
14621462
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "KroneckerMat", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
14631463
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "DualKroneckerMat", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1464+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "BasisOfRowModule", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
1465+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "BasisOfColumnModule", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
1466+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "ReducedBasisOfRowModule", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
1467+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "ReducedBasisOfColumnModule", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
14641468
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "LeftDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1469+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "LeftDivide", [ "IsHomalgMatrix", "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
14651470
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "RightDivide", [ "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
1471+
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "RightDivide", [ "IsHomalgMatrix", "IsHomalgMatrix", "IsHomalgMatrix" ], "IsHomalgMatrix" );
14661472
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "BasisOfRows", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
14671473
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "BasisOfColumns", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );
14681474
CapJitAddTypeSignatureDeferred( "MatricesForHomalg", "SyzygiesOfRows", [ "IsHomalgMatrix" ], "IsHomalgMatrix" );

FreydCategoriesForCAP/gap/FreydCategory.gd

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

243243

FreydCategoriesForCAP/gap/FreydCategory.gi

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

338338
end );
339339

340-
InstallMethodWithCacheFromObject( INTERNAL_HOM_EMBEDDING,
340+
InstallMethodForCompilerForCAP( INTERNAL_HOM_EMBEDDING,
341341
[ IsFreydCategory, IsFreydCategoryObject, IsFreydCategoryObject ],
342342
function( cat, a, b )
343343
local source, range, mor;

0 commit comments

Comments
 (0)