Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gap-linearalgebraforcap for
openSUSE:Factory checked in at 2026-06-17 16:26:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gap-linearalgebraforcap (Old)
and /work/SRC/openSUSE:Factory/.gap-linearalgebraforcap.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-linearalgebraforcap"
Wed Jun 17 16:26:55 2026 rev:6 rq:1359995 version:2026.05.04
Changes:
--------
---
/work/SRC/openSUSE:Factory/gap-linearalgebraforcap/gap-linearalgebraforcap.changes
2026-06-16 14:01:27.453343128 +0200
+++
/work/SRC/openSUSE:Factory/.gap-linearalgebraforcap.new.1981/gap-linearalgebraforcap.changes
2026-06-17 16:28:31.752656093 +0200
@@ -1,0 +2,6 @@
+Wed Jun 17 09:07:56 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 2026.05.04
+ * No changelog was provided
+
+-------------------------------------------------------------------
Old:
----
LinearAlgebraForCAP-2026.04-01.tar.gz
New:
----
LinearAlgebraForCAP-2026.05-04.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gap-linearalgebraforcap.spec ++++++
--- /var/tmp/diff_new_pack.bT5PDu/_old 2026-06-17 16:28:33.792741027 +0200
+++ /var/tmp/diff_new_pack.bT5PDu/_new 2026-06-17 16:28:33.792741027 +0200
@@ -17,8 +17,8 @@
Name: gap-linearalgebraforcap
-Version: 2026.04.01
-%define sillyver 2026.04-01
+Version: 2026.05.04
+%define sillyver 2026.05-04
Release: 0
Summary: GAP: Category of Matrices over a Field for CAP
License: GPL-2.0-or-later
@@ -28,11 +28,11 @@
Source:
https://github.com/homalg-project/CAP_project/releases/download/LinearAlgebraForCAP-%sillyver/LinearAlgebraForCAP-%sillyver.tar.gz
BuildRequires: gap-devel >= 4.13.0
BuildRequires: gap-rpm-devel
-Requires: gap-cap >= 2026.04.01
+Requires: gap-cap >= 2026.05.02
Requires: gap-core >= 4.13.0
Requires: gap-gaussforhomalg >= 2026.04.01
Requires: gap-matricesforhomalg >= 2026.04.01
-Requires: gap-monoidalcategories >= 2025.08.01
+Requires: gap-monoidalcategories >= 2026.05.02
Requires: gap-toolsforhomalg >= 2026.04.01
%description
++++++ LinearAlgebraForCAP-2026.04-01.tar.gz ->
LinearAlgebraForCAP-2026.05-04.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/PackageInfo.g
new/LinearAlgebraForCAP-2026.05-04/PackageInfo.g
--- old/LinearAlgebraForCAP-2026.04-01/PackageInfo.g 2026-04-10
19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/PackageInfo.g 2026-05-22
21:38:04.000000000 +0200
@@ -10,8 +10,8 @@
PackageName := "LinearAlgebraForCAP",
Subtitle := "Category of Matrices over a Field for CAP",
-Version := "2026.04-01",
-Date := "2026-04-10",
+Version := "2026.05-04",
+Date := "2026-05-22",
License := "GPL-2.0-or-later",
Persons := [
@@ -103,15 +103,15 @@
NeededOtherPackages := [ [ "ToolsForHomalg", ">= 2026.04-01" ],
[ "MatricesForHomalg", ">= 2026.04-01" ],
[ "GaussForHomalg", ">= 2026.04-01" ],
- [ "CAP", ">= 2026.04-01" ],
- [ "MonoidalCategories", ">= 2025.08-01" ],
+ [ "CAP", ">= 2026.05-02" ],
+ [ "MonoidalCategories", ">= 2026.05-02" ],
],
ExternalConditions := [ ],
),
Extensions := [
rec(
- needed := [ [ "AdditiveClosuresForCAP", ">= 2025.06-01" ] ],
+ needed := [ [ "AdditiveClosuresForCAP", ">= 2026.05-01" ] ],
filename := "gap/MatrixCategory_as_CategoryOfRows.gi",
),
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/doc/_Chapter_Examples_and_Tests.xml
new/LinearAlgebraForCAP-2026.05-04/doc/_Chapter_Examples_and_Tests.xml
--- old/LinearAlgebraForCAP-2026.04-01/doc/_Chapter_Examples_and_Tests.xml
2026-04-10 19:42:33.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/_Chapter_Examples_and_Tests.xml
2026-05-22 21:38:03.000000000 +0200
@@ -633,8 +633,10 @@
IsAdditiveMonoidalCategory
IsBraidedMonoidalCategory
IsCategoryWithCoequalizers
+IsCategoryWithCoequalizersOfIdentityAndAutomorphisms
IsCategoryWithCokernels
IsCategoryWithEqualizers
+IsCategoryWithEqualizersOfIdentityAndAutomorphisms
IsCategoryWithInitialObject
IsCategoryWithKernels
IsCategoryWithTerminalObject
@@ -645,6 +647,8 @@
IsEquippedWithHomomorphismStructure
IsLinearCategoryOverCommutativeRing
IsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms
+IsLinearCategoryOverCommutativeSemiring
+IsLinearCategoryOverCommutativeSemiringWithFinitelyGeneratedFreeExternalHoms
IsMonoidalCategory
IsPreAbelianCategory
IsRigidSymmetricClosedMonoidalCategory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/_entities.xml
new/LinearAlgebraForCAP-2026.05-04/doc/_entities.xml
--- old/LinearAlgebraForCAP-2026.04-01/doc/_entities.xml 2026-04-10
19:42:33.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/_entities.xml 2026-05-22
21:38:03.000000000 +0200
@@ -1,6 +1,6 @@
<!ENTITY CAP 'CAP'>
<!ENTITY LinearAlgebraForCAP '<Package>LinearAlgebraForCAP</Package>'>
-<!ENTITY RELEASEDATE '10 April 2026'>
+<!ENTITY RELEASEDATE '22 May 2026'>
<!ENTITY RELEASEYEAR '2026'>
-<!ENTITY VERSION '2026.04-01'>
+<!ENTITY VERSION '2026.05-04'>
<!ENTITY homalg 'homalg'>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/chap0.html
new/LinearAlgebraForCAP-2026.05-04/doc/chap0.html
--- old/LinearAlgebraForCAP-2026.04-01/doc/chap0.html 2026-04-10
19:42:36.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/chap0.html 2026-05-22
21:38:05.000000000 +0200
@@ -29,10 +29,10 @@
<h2>Category of Matrices over a Field for CAP</h2>
<p>
- 2026.04-01</p>
+ 2026.05-04</p>
<p>
- 10 April 2026
+ 22 May 2026
</p>
</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/chap0.txt
new/LinearAlgebraForCAP-2026.05-04/doc/chap0.txt
--- old/LinearAlgebraForCAP-2026.04-01/doc/chap0.txt 2026-04-10
19:42:33.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/chap0.txt 2026-05-22
21:38:03.000000000 +0200
@@ -6,10 +6,10 @@
[1X Category of Matrices over a Field for CAP [101X
- 2026.04-01
+ 2026.05-04
- 10 April 2026
+ 22 May 2026
Sebastian Gutsche
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/chap0_mj.html
new/LinearAlgebraForCAP-2026.05-04/doc/chap0_mj.html
--- old/LinearAlgebraForCAP-2026.04-01/doc/chap0_mj.html 2026-04-10
19:42:36.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/chap0_mj.html 2026-05-22
21:38:05.000000000 +0200
@@ -32,10 +32,10 @@
<h2>Category of Matrices over a Field for CAP</h2>
<p>
- 2026.04-01</p>
+ 2026.05-04</p>
<p>
- 10 April 2026
+ 22 May 2026
</p>
</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/chap2.html
new/LinearAlgebraForCAP-2026.05-04/doc/chap2.html
--- old/LinearAlgebraForCAP-2026.04-01/doc/chap2.html 2026-04-10
19:42:36.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/chap2.html 2026-05-22
21:38:05.000000000 +0200
@@ -701,8 +701,10 @@
IsAdditiveMonoidalCategory
IsBraidedMonoidalCategory
IsCategoryWithCoequalizers
+IsCategoryWithCoequalizersOfIdentityAndAutomorphisms
IsCategoryWithCokernels
IsCategoryWithEqualizers
+IsCategoryWithEqualizersOfIdentityAndAutomorphisms
IsCategoryWithInitialObject
IsCategoryWithKernels
IsCategoryWithTerminalObject
@@ -713,6 +715,8 @@
IsEquippedWithHomomorphismStructure
IsLinearCategoryOverCommutativeRing
IsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms
+IsLinearCategoryOverCommutativeSemiring
+IsLinearCategoryOverCommutativeSemiringWithFinitelyGeneratedFreeExternalHoms
IsMonoidalCategory
IsPreAbelianCategory
IsRigidSymmetricClosedMonoidalCategory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/chap2.txt
new/LinearAlgebraForCAP-2026.05-04/doc/chap2.txt
--- old/LinearAlgebraForCAP-2026.04-01/doc/chap2.txt 2026-04-10
19:42:33.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/chap2.txt 2026-05-22
21:38:03.000000000 +0200
@@ -616,8 +616,10 @@
[4X[28XIsAdditiveMonoidalCategory[128X[104X
[4X[28XIsBraidedMonoidalCategory[128X[104X
[4X[28XIsCategoryWithCoequalizers[128X[104X
+ [4X[28XIsCategoryWithCoequalizersOfIdentityAndAutomorphisms[128X[104X
[4X[28XIsCategoryWithCokernels[128X[104X
[4X[28XIsCategoryWithEqualizers[128X[104X
+ [4X[28XIsCategoryWithEqualizersOfIdentityAndAutomorphisms[128X[104X
[4X[28XIsCategoryWithInitialObject[128X[104X
[4X[28XIsCategoryWithKernels[128X[104X
[4X[28XIsCategoryWithTerminalObject[128X[104X
@@ -628,6 +630,8 @@
[4X[28XIsEquippedWithHomomorphismStructure[128X[104X
[4X[28XIsLinearCategoryOverCommutativeRing[128X[104X
[4X[28XIsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms[128X[104X
+ [4X[28XIsLinearCategoryOverCommutativeSemiring[128X[104X
+
[4X[28XIsLinearCategoryOverCommutativeSemiringWithFinitelyGeneratedFreeExternalHoms[128X[104X
[4X[28XIsMonoidalCategory[128X[104X
[4X[28XIsPreAbelianCategory[128X[104X
[4X[28XIsRigidSymmetricClosedMonoidalCategory[128X[104X
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/chap2_mj.html
new/LinearAlgebraForCAP-2026.05-04/doc/chap2_mj.html
--- old/LinearAlgebraForCAP-2026.04-01/doc/chap2_mj.html 2026-04-10
19:42:36.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/chap2_mj.html 2026-05-22
21:38:05.000000000 +0200
@@ -704,8 +704,10 @@
IsAdditiveMonoidalCategory
IsBraidedMonoidalCategory
IsCategoryWithCoequalizers
+IsCategoryWithCoequalizersOfIdentityAndAutomorphisms
IsCategoryWithCokernels
IsCategoryWithEqualizers
+IsCategoryWithEqualizersOfIdentityAndAutomorphisms
IsCategoryWithInitialObject
IsCategoryWithKernels
IsCategoryWithTerminalObject
@@ -716,6 +718,8 @@
IsEquippedWithHomomorphismStructure
IsLinearCategoryOverCommutativeRing
IsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms
+IsLinearCategoryOverCommutativeSemiring
+IsLinearCategoryOverCommutativeSemiringWithFinitelyGeneratedFreeExternalHoms
IsMonoidalCategory
IsPreAbelianCategory
IsRigidSymmetricClosedMonoidalCategory
Binary files old/LinearAlgebraForCAP-2026.04-01/doc/manual.pdf and
new/LinearAlgebraForCAP-2026.05-04/doc/manual.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/manual.six
new/LinearAlgebraForCAP-2026.05-04/doc/manual.six
--- old/LinearAlgebraForCAP-2026.04-01/doc/manual.six 2026-04-10
19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/manual.six 2026-05-22
21:38:04.000000000 +0200
@@ -40,16 +40,16 @@
[ 2, 8, 0 ], 601, 17, "opposite category", "X84410C637B3C1D0E" ],
[
"\033[1X\033[33X\033[0;-2YPreComposeList and
PostComposeList\033[133X\033[1\
-01X", "2.9", [ 2, 9, 0 ], 671, 18, "precomposelist and postcomposelist",
+01X", "2.9", [ 2, 9, 0 ], 675, 18, "precomposelist and postcomposelist",
"X7F34E29281DF3FCE" ],
[ "\033[1X\033[33X\033[0;-2YSplit epi summand\033[133X\033[101X", "2.10",
- [ 2, 10, 0 ], 698, 19, "split epi summand", "X87F5609A7B33C58C" ],
+ [ 2, 10, 0 ], 702, 19, "split epi summand", "X87F5609A7B33C58C" ],
[ "\033[1X\033[33X\033[0;-2YKernel\033[133X\033[101X", "2.11",
- [ 2, 11, 0 ], 731, 19, "kernel", "X7DCD99628504B810" ],
+ [ 2, 11, 0 ], 735, 19, "kernel", "X7DCD99628504B810" ],
[ "\033[1X\033[33X\033[0;-2YFiberProduct\033[133X\033[101X", "2.12",
- [ 2, 12, 0 ], 805, 21, "fiberproduct", "X7DE20941803BFBD9" ],
+ [ 2, 12, 0 ], 809, 21, "fiberproduct", "X7DE20941803BFBD9" ],
[ "\033[1X\033[33X\033[0;-2YWrapperCategory\033[133X\033[101X", "2.13",
- [ 2, 13, 0 ], 829, 21, "wrappercategory", "X8245BF297DF9A3E7" ],
+ [ 2, 13, 0 ], 833, 21, "wrappercategory", "X8245BF297DF9A3E7" ],
[ "Index", "ind", [ "Ind", 0, 0 ], 1, 22, "index", "X83A0356F839C696F" ],
[ "\033[2XMatrixCategory\033[102X for IsFieldForHomalg", "1.1-1",
[ 1, 1, 1 ], 7, 3, "matrixcategory for isfieldforhomalg",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/LinearAlgebraForCAP-2026.04-01/doc/title.xml
new/LinearAlgebraForCAP-2026.05-04/doc/title.xml
--- old/LinearAlgebraForCAP-2026.04-01/doc/title.xml 2026-04-10
19:42:33.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/doc/title.xml 2026-05-22
21:38:03.000000000 +0200
@@ -9,7 +9,7 @@
Category of Matrices over a Field for CAP
</Subtitle>
<Version>
- 2026.04-01
+ 2026.05-04
</Version>
<Author>
Sebastian Gutsche
@@ -46,6 +46,6 @@
<Homepage>https://github.com/zickgraf/</Homepage>
</Author>
<Date>
- 10 April 2026
+ 22 May 2026
</Date>
</TitlePage>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/examples/OppositeCategory.g
new/LinearAlgebraForCAP-2026.05-04/examples/OppositeCategory.g
--- old/LinearAlgebraForCAP-2026.04-01/examples/OppositeCategory.g
2026-04-10 19:25:59.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/examples/OppositeCategory.g
2026-05-22 21:05:16.000000000 +0200
@@ -17,8 +17,10 @@
#! IsAdditiveMonoidalCategory
#! IsBraidedMonoidalCategory
#! IsCategoryWithCoequalizers
+#! IsCategoryWithCoequalizersOfIdentityAndAutomorphisms
#! IsCategoryWithCokernels
#! IsCategoryWithEqualizers
+#! IsCategoryWithEqualizersOfIdentityAndAutomorphisms
#! IsCategoryWithInitialObject
#! IsCategoryWithKernels
#! IsCategoryWithTerminalObject
@@ -29,6 +31,8 @@
#! IsEquippedWithHomomorphismStructure
#! IsLinearCategoryOverCommutativeRing
#! IsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms
+#! IsLinearCategoryOverCommutativeSemiring
+#! IsLinearCategoryOverCommutativeSemiringWithFinitelyGeneratedFreeExternalHoms
#! IsMonoidalCategory
#! IsPreAbelianCategory
#! IsRigidSymmetricClosedMonoidalCategory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/gap/precompiled_categories/MatrixCategory_precompiled.gi
new/LinearAlgebraForCAP-2026.05-04/gap/precompiled_categories/MatrixCategory_precompiled.gi
---
old/LinearAlgebraForCAP-2026.04-01/gap/precompiled_categories/MatrixCategory_precompiled.gi
2026-04-10 19:25:59.000000000 +0200
+++
new/LinearAlgebraForCAP-2026.05-04/gap/precompiled_categories/MatrixCategory_precompiled.gi
2026-05-22 21:05:16.000000000 +0200
@@ -1668,6 +1668,104 @@
;
##
+ AddCoequalizerOfIdentityAndAutomorphisms( cat,
+
+########
+function ( cat_1, Y_1, automorphisms_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1;
+ deduped_4_1 := UnderlyingRing( cat_1 );
+ deduped_3_1 := AsInteger( Y_1 );
+ deduped_2_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_1_1 := Concatenation( [ HomalgIdentityMatrix( deduped_3_1,
deduped_4_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ return AsCapCategoryObject( cat_1, deduped_3_1 - RowRankOfMatrix(
UnionOfRows( deduped_4_1, deduped_3_1, deduped_1_1{[ 1 .. deduped_2_1 - 1 ]} )
- UnionOfRows( deduped_4_1, deduped_3_1, deduped_1_1{[ 2 .. deduped_2_1 ]} ) )
);
+end
+########
+
+ , 2925 : IsPrecompiledDerivation := true );
+
+ ##
+ AddCoequalizerOfIdentityAndAutomorphismsFunctorial( cat,
+
+########
+function ( cat_1, automorphisms_1, mu_1, automorphismsp_1 )
+ local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1,
deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1;
+ deduped_8_1 := UnderlyingRing( cat_1 );
+ deduped_7_1 := AsInteger( Range( mu_1 ) );
+ deduped_6_1 := AsInteger( Source( mu_1 ) );
+ deduped_5_1 := Sum( [ 1, Length( automorphismsp_1 ) ] );
+ deduped_4_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_3_1 := Concatenation( [ HomalgIdentityMatrix( deduped_7_1,
deduped_8_1 ) ], List( automorphismsp_1, AsHomalgMatrix ) );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_6_1,
deduped_8_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ morphism_attr_1_1 := UniqueLeftDivide( SyzygiesOfColumns( UnionOfRows(
deduped_8_1, deduped_6_1, deduped_2_1{[ 1 .. deduped_4_1 - 1 ]} ) -
UnionOfRows( deduped_8_1, deduped_6_1, deduped_2_1{[ 2 .. deduped_4_1 ]} ) ),
AsHomalgMatrix( mu_1 ) * SyzygiesOfColumns( UnionOfRows( deduped_8_1,
deduped_7_1, deduped_3_1{[ 1 .. deduped_5_1 - 1 ]} ) - UnionOfRows(
deduped_8_1, deduped_7_1, deduped_3_1{[ 2 .. deduped_5_1 ]} ) ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+end
+########
+
+ , 11903 : IsPrecompiledDerivation := true );
+
+ ##
+
cat!.cached_precompiled_functions.CoequalizerOfIdentityAndAutomorphismsFunctorial
:=
+
+########
+function ( cat_1, automorphisms_1, mu_1, automorphismsp_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1, deduped_5_1,
deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1;
+ deduped_9_1 := UnderlyingRing( cat_1 );
+ deduped_8_1 := AsInteger( Range( mu_1 ) );
+ deduped_7_1 := AsInteger( Source( mu_1 ) );
+ deduped_6_1 := Sum( [ 1, Length( automorphismsp_1 ) ] );
+ deduped_5_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_4_1 := Concatenation( [ HomalgIdentityMatrix( deduped_8_1,
deduped_9_1 ) ], List( automorphismsp_1, AsHomalgMatrix ) );
+ deduped_3_1 := Concatenation( [ HomalgIdentityMatrix( deduped_7_1,
deduped_9_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ deduped_2_1 := UnionOfRows( deduped_9_1, deduped_8_1, deduped_4_1{[ 1 ..
deduped_6_1 - 1 ]} ) - UnionOfRows( deduped_9_1, deduped_8_1, deduped_4_1{[ 2
.. deduped_6_1 ]} );
+ deduped_1_1 := UnionOfRows( deduped_9_1, deduped_7_1, deduped_3_1{[ 1 ..
deduped_5_1 - 1 ]} ) - UnionOfRows( deduped_9_1, deduped_7_1, deduped_3_1{[ 2
.. deduped_5_1 ]} );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
deduped_7_1 - RowRankOfMatrix( deduped_1_1 ) ), UniqueLeftDivide(
SyzygiesOfColumns( deduped_1_1 ), AsHomalgMatrix( mu_1 ) * SyzygiesOfColumns(
deduped_2_1 ) ), AsCapCategoryObject( cat_1, deduped_8_1 - RowRankOfMatrix(
deduped_2_1 ) ) );
+end
+########
+
+ ;
+
+ ##
+ AddCoequalizerOfIdentityAndAutomorphismsFunctorialWithGivenCoequalizers(
cat,
+
+########
+function ( cat_1, P_1, automorphisms_1, mu_1, automorphismsp_1, Pp_1 )
+ local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1,
deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1;
+ deduped_8_1 := UnderlyingRing( cat_1 );
+ deduped_7_1 := AsInteger( Range( mu_1 ) );
+ deduped_6_1 := AsInteger( Source( mu_1 ) );
+ deduped_5_1 := Sum( [ 1, Length( automorphismsp_1 ) ] );
+ deduped_4_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_3_1 := Concatenation( [ HomalgIdentityMatrix( deduped_7_1,
deduped_8_1 ) ], List( automorphismsp_1, AsHomalgMatrix ) );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_6_1,
deduped_8_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ morphism_attr_1_1 := UniqueLeftDivide( SyzygiesOfColumns( UnionOfRows(
deduped_8_1, deduped_6_1, deduped_2_1{[ 1 .. deduped_4_1 - 1 ]} ) -
UnionOfRows( deduped_8_1, deduped_6_1, deduped_2_1{[ 2 .. deduped_4_1 ]} ) ),
AsHomalgMatrix( mu_1 ) * SyzygiesOfColumns( UnionOfRows( deduped_8_1,
deduped_7_1, deduped_3_1{[ 1 .. deduped_5_1 - 1 ]} ) - UnionOfRows(
deduped_8_1, deduped_7_1, deduped_3_1{[ 2 .. deduped_5_1 ]} ) ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+end
+########
+
+ , 6052 : IsPrecompiledDerivation := true );
+
+ ##
+
cat!.cached_precompiled_functions.CoequalizerOfIdentityAndAutomorphismsFunctorialWithGivenCoequalizers
:=
+
+########
+function ( cat_1, P_1, automorphisms_1, mu_1, automorphismsp_1, Pp_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1, deduped_5_1,
deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1;
+ deduped_9_1 := UnderlyingRing( cat_1 );
+ deduped_8_1 := AsInteger( Range( mu_1 ) );
+ deduped_7_1 := AsInteger( Source( mu_1 ) );
+ deduped_6_1 := Sum( [ 1, Length( automorphismsp_1 ) ] );
+ deduped_5_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_4_1 := Concatenation( [ HomalgIdentityMatrix( deduped_8_1,
deduped_9_1 ) ], List( automorphismsp_1, AsHomalgMatrix ) );
+ deduped_3_1 := Concatenation( [ HomalgIdentityMatrix( deduped_7_1,
deduped_9_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ deduped_2_1 := UnionOfRows( deduped_9_1, deduped_8_1, deduped_4_1{[ 1 ..
deduped_6_1 - 1 ]} ) - UnionOfRows( deduped_9_1, deduped_8_1, deduped_4_1{[ 2
.. deduped_6_1 ]} );
+ deduped_1_1 := UnionOfRows( deduped_9_1, deduped_7_1, deduped_3_1{[ 1 ..
deduped_5_1 - 1 ]} ) - UnionOfRows( deduped_9_1, deduped_7_1, deduped_3_1{[ 2
.. deduped_5_1 ]} );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
deduped_7_1 - RowRankOfMatrix( deduped_1_1 ) ), UniqueLeftDivide(
SyzygiesOfColumns( deduped_1_1 ), AsHomalgMatrix( mu_1 ) * SyzygiesOfColumns(
deduped_2_1 ) ), AsCapCategoryObject( cat_1, deduped_8_1 - RowRankOfMatrix(
deduped_2_1 ) ) );
+end
+########
+
+ ;
+
+ ##
AddCoevaluationForDual( cat,
########
@@ -4721,6 +4819,76 @@
;
##
+ AddIsomorphismFromCoequalizerOfIdentityAndAutomorphismsToCoequalizer( cat,
+
+########
+function ( cat_1, Y_1, automorphisms_1 )
+ local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1,
deduped_5_1;
+ deduped_5_1 := UnderlyingRing( cat_1 );
+ deduped_4_1 := AsInteger( Y_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_4_1,
deduped_5_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ morphism_attr_1_1 := HomalgIdentityMatrix( deduped_4_1 - RowRankOfMatrix(
UnionOfRows( deduped_5_1, deduped_4_1, deduped_2_1{[ 1 .. deduped_3_1 - 1 ]} )
- UnionOfRows( deduped_5_1, deduped_4_1, deduped_2_1{[ 2 .. deduped_3_1 ]} ) ),
deduped_5_1 );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+end
+########
+
+ , 3025 : IsPrecompiledDerivation := true );
+
+ ##
+
cat!.cached_precompiled_functions.IsomorphismFromCoequalizerOfIdentityAndAutomorphismsToCoequalizer
:=
+
+########
+function ( cat_1, Y_1, automorphisms_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1, deduped_5_1,
deduped_6_1;
+ deduped_6_1 := UnderlyingRing( cat_1 );
+ deduped_5_1 := AsInteger( Y_1 );
+ deduped_4_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_3_1 := Concatenation( [ HomalgIdentityMatrix( deduped_5_1,
deduped_6_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ deduped_2_1 := deduped_5_1 - RowRankOfMatrix( UnionOfRows( deduped_6_1,
deduped_5_1, deduped_3_1{[ 1 .. deduped_4_1 - 1 ]} ) - UnionOfRows(
deduped_6_1, deduped_5_1, deduped_3_1{[ 2 .. deduped_4_1 ]} ) );
+ deduped_1_1 := AsCapCategoryObject( cat_1, deduped_2_1 );
+ return AsCapCategoryMorphism( cat_1, deduped_1_1, HomalgIdentityMatrix(
deduped_2_1, deduped_6_1 ), deduped_1_1 );
+end
+########
+
+ ;
+
+ ##
+ AddIsomorphismFromCoequalizerToCoequalizerOfIdentityAndAutomorphisms( cat,
+
+########
+function ( cat_1, Y_1, automorphisms_1 )
+ local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1,
deduped_5_1;
+ deduped_5_1 := UnderlyingRing( cat_1 );
+ deduped_4_1 := AsInteger( Y_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_4_1,
deduped_5_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ morphism_attr_1_1 := HomalgIdentityMatrix( deduped_4_1 - RowRankOfMatrix(
UnionOfRows( deduped_5_1, deduped_4_1, deduped_2_1{[ 1 .. deduped_3_1 - 1 ]} )
- UnionOfRows( deduped_5_1, deduped_4_1, deduped_2_1{[ 2 .. deduped_3_1 ]} ) ),
deduped_5_1 );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+end
+########
+
+ , 3025 : IsPrecompiledDerivation := true );
+
+ ##
+
cat!.cached_precompiled_functions.IsomorphismFromCoequalizerToCoequalizerOfIdentityAndAutomorphisms
:=
+
+########
+function ( cat_1, Y_1, automorphisms_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1, deduped_5_1,
deduped_6_1;
+ deduped_6_1 := UnderlyingRing( cat_1 );
+ deduped_5_1 := AsInteger( Y_1 );
+ deduped_4_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_3_1 := Concatenation( [ HomalgIdentityMatrix( deduped_5_1,
deduped_6_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ deduped_2_1 := deduped_5_1 - RowRankOfMatrix( UnionOfRows( deduped_6_1,
deduped_5_1, deduped_3_1{[ 1 .. deduped_4_1 - 1 ]} ) - UnionOfRows(
deduped_6_1, deduped_5_1, deduped_3_1{[ 2 .. deduped_4_1 ]} ) );
+ deduped_1_1 := AsCapCategoryObject( cat_1, deduped_2_1 );
+ return AsCapCategoryMorphism( cat_1, deduped_1_1, HomalgIdentityMatrix(
deduped_2_1, deduped_6_1 ), deduped_1_1 );
+end
+########
+
+ ;
+
+ ##
AddIsomorphismFromCoequalizerToCokernelOfJointPairwiseDifferencesOfMorphismsFromCoproduct(
cat,
########
@@ -5850,42 +6018,46 @@
########
function ( cat_1, a_1, L_1 )
- local morphism_attr_1_1, hoisted_5_1, deduped_6_1, deduped_7_1,
deduped_8_1, deduped_9_1;
+ local hoisted_4_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1,
deduped_9_1;
deduped_9_1 := Length( L_1 );
deduped_8_1 := List( L_1, AsInteger );
deduped_7_1 := AsInteger( a_1 );
deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( deduped_7_1, deduped_6_1 );
- morphism_attr_1_1 := UnionOfColumns( deduped_6_1, deduped_7_1 * Sum(
deduped_8_1 ), List( [ 1 .. deduped_9_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_8_1[i_2];
- return KroneckerMat( hoisted_5_1, UnionOfRows( deduped_6_1,
deduped_1_2, [ HomalgZeroMatrix( Sum( deduped_8_1{[ 1 .. i_2 - 1 ]} ),
deduped_1_2, deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( Sum( deduped_8_1{[ i_2 + 1 .. deduped_9_1 ]} ), deduped_1_2,
deduped_6_1 ) ] ) );
+ hoisted_4_1 := HomalgIdentityMatrix( deduped_7_1, deduped_6_1 );
+ deduped_5_1 := UnionOfColumns( deduped_6_1, deduped_7_1 * Sum( deduped_8_1
), List( [ 1 .. deduped_9_1 ], function ( i_2 )
+ local deduped_1_2, deduped_2_2;
+ deduped_2_2 := CAP_JIT_INCOMPLETE_LOGIC( i_2 );
+ deduped_1_2 := deduped_8_1[deduped_2_2];
+ return KroneckerMat( hoisted_4_1, CAP_JIT_INCOMPLETE_LOGIC(
UnionOfRows( deduped_6_1, deduped_1_2, [ HomalgZeroMatrix( Sum( deduped_8_1{[ 1
.. deduped_2_2 - 1 ]} ), deduped_1_2, deduped_6_1 ), HomalgIdentityMatrix(
deduped_1_2, deduped_6_1 ), HomalgZeroMatrix( Sum( deduped_8_1{[ deduped_2_2 +
1 .. deduped_9_1 ]} ), deduped_1_2, deduped_6_1 ) ] ) ) );
end ) );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( deduped_5_1 ) ), deduped_5_1, AsCapCategoryObject( cat_1,
NumberColumns( deduped_5_1 ) ) );
end
########
- , 1707 : IsPrecompiledDerivation := true );
+ , 1102 : IsPrecompiledDerivation := true );
##
cat!.cached_precompiled_functions.LeftDistributivityExpanding :=
########
function ( cat_1, a_1, L_1 )
- local hoisted_4_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1,
deduped_10_1;
- deduped_10_1 := Length( L_1 );
- deduped_9_1 := UnderlyingRing( cat_1 );
- deduped_8_1 := List( L_1, AsInteger );
- deduped_7_1 := AsInteger( a_1 );
- deduped_6_1 := deduped_7_1 * Sum( deduped_8_1 );
- hoisted_4_1 := HomalgIdentityMatrix( deduped_7_1, deduped_9_1 );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
deduped_6_1 ), UnionOfColumns( deduped_9_1, deduped_6_1, List( [ 1 ..
deduped_10_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_8_1[i_2];
- return KroneckerMat( hoisted_4_1, UnionOfRows( deduped_9_1,
deduped_1_2, [ HomalgZeroMatrix( Sum( deduped_8_1{[ 1 .. i_2 - 1 ]} ),
deduped_1_2, deduped_9_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_9_1 ),
HomalgZeroMatrix( Sum( deduped_8_1{[ i_2 + 1 .. deduped_10_1 ]} ), deduped_1_2,
deduped_9_1 ) ] ) );
- end ) ), AsCapCategoryObject( cat_1, Sum( List( L_1, function (
summand_2 )
- return deduped_7_1 * AsInteger( summand_2 );
- end ) ) ) );
+ local hoisted_4_1, hoisted_5_1, deduped_6_1, deduped_7_1, deduped_8_1,
deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1;
+ deduped_12_1 := Length( L_1 );
+ deduped_11_1 := UnderlyingRing( cat_1 );
+ deduped_10_1 := List( L_1, AsInteger );
+ deduped_9_1 := AsInteger( a_1 );
+ deduped_8_1 := [ 1 .. deduped_12_1 ];
+ deduped_7_1 := deduped_9_1 * Sum( deduped_10_1 );
+ deduped_6_1 := AsCapCategoryObject( cat_1, deduped_7_1 );
+ hoisted_5_1 := HomalgIdentityMatrix( deduped_9_1, deduped_11_1 );
+ hoisted_4_1 := List( deduped_8_1, function ( i_2 )
+ local deduped_1_2;
+ deduped_1_2 := deduped_10_1[i_2];
+ return UnionOfRows( deduped_11_1, deduped_1_2, [ HomalgZeroMatrix(
Sum( deduped_10_1{[ 1 .. i_2 - 1 ]} ), deduped_1_2, deduped_11_1 ),
HomalgIdentityMatrix( deduped_1_2, deduped_11_1 ), HomalgZeroMatrix( Sum(
deduped_10_1{[ i_2 + 1 .. deduped_12_1 ]} ), deduped_1_2, deduped_11_1 ) ] );
+ end );
+ return AsCapCategoryMorphism( cat_1, deduped_6_1, UnionOfColumns(
deduped_11_1, deduped_7_1, List( deduped_8_1, function ( i_2 )
+ return KroneckerMat( hoisted_5_1, hoisted_4_1[i_2] );
+ end ) ), deduped_6_1 );
end
########
@@ -5896,40 +6068,41 @@
########
function ( cat_1, s_1, a_1, L_1, r_1 )
- local morphism_attr_1_1, deduped_2_1, hoisted_5_1, deduped_6_1,
deduped_7_1;
- deduped_7_1 := Length( L_1 );
- deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_6_1 );
- deduped_2_1 := List( L_1, AsInteger );
- morphism_attr_1_1 := UnionOfColumns( deduped_6_1, AsInteger( s_1 ), List(
[ 1 .. deduped_7_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_2_1[i_2];
- return KroneckerMat( hoisted_5_1, UnionOfRows( deduped_6_1,
deduped_1_2, [ HomalgZeroMatrix( Sum( deduped_2_1{[ 1 .. i_2 - 1 ]} ),
deduped_1_2, deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( Sum( deduped_2_1{[ i_2 + 1 .. deduped_7_1 ]} ), deduped_1_2,
deduped_6_1 ) ] ) );
- end ) );
- return AsCapCategoryMorphism( cat_1, s_1, morphism_attr_1_1,
AsCapCategoryObject( cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+ local deduped_1_1, hoisted_4_1, deduped_5_1, deduped_6_1;
+ deduped_6_1 := Length( L_1 );
+ deduped_5_1 := UnderlyingRing( cat_1 );
+ hoisted_4_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_5_1 );
+ deduped_1_1 := List( L_1, AsInteger );
+ return AsCapCategoryMorphism( cat_1, s_1, UnionOfColumns( deduped_5_1,
AsInteger( s_1 ), List( [ 1 .. deduped_6_1 ], function ( i_2 )
+ local deduped_1_2, deduped_2_2;
+ deduped_2_2 := CAP_JIT_INCOMPLETE_LOGIC( i_2 );
+ deduped_1_2 := deduped_1_1[deduped_2_2];
+ return KroneckerMat( hoisted_4_1, CAP_JIT_INCOMPLETE_LOGIC(
UnionOfRows( deduped_5_1, deduped_1_2, [ HomalgZeroMatrix( Sum( deduped_1_1{[ 1
.. deduped_2_2 - 1 ]} ), deduped_1_2, deduped_5_1 ), HomalgIdentityMatrix(
deduped_1_2, deduped_5_1 ), HomalgZeroMatrix( Sum( deduped_1_1{[ deduped_2_2 +
1 .. deduped_6_1 ]} ), deduped_1_2, deduped_5_1 ) ] ) ) );
+ end ) ), r_1 );
end
########
- , 1506 : IsPrecompiledDerivation := true );
+ , 901 : IsPrecompiledDerivation := true );
##
cat!.cached_precompiled_functions.LeftDistributivityExpandingWithGivenObjects :=
########
function ( cat_1, s_1, a_1, L_1, r_1 )
- local deduped_1_1, hoisted_4_1, deduped_6_1, deduped_7_1, deduped_8_1;
- deduped_8_1 := AsInteger( a_1 );
- deduped_7_1 := Length( L_1 );
- deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_6_1 );
+ local deduped_1_1, hoisted_4_1, hoisted_5_1, deduped_6_1, deduped_7_1,
deduped_8_1;
+ deduped_8_1 := Length( L_1 );
+ deduped_7_1 := UnderlyingRing( cat_1 );
+ deduped_6_1 := [ 1 .. deduped_8_1 ];
+ hoisted_5_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_7_1 );
deduped_1_1 := List( L_1, AsInteger );
- return AsCapCategoryMorphism( cat_1, s_1, UnionOfColumns( deduped_6_1,
AsInteger( s_1 ), List( [ 1 .. deduped_7_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_1_1[i_2];
- return KroneckerMat( hoisted_4_1, UnionOfRows( deduped_6_1,
deduped_1_2, [ HomalgZeroMatrix( Sum( deduped_1_1{[ 1 .. i_2 - 1 ]} ),
deduped_1_2, deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( Sum( deduped_1_1{[ i_2 + 1 .. deduped_7_1 ]} ), deduped_1_2,
deduped_6_1 ) ] ) );
- end ) ), AsCapCategoryObject( cat_1, Sum( List( L_1, function (
summand_2 )
- return deduped_8_1 * AsInteger( summand_2 );
- end ) ) ) );
+ hoisted_4_1 := List( deduped_6_1, function ( i_2 )
+ local deduped_1_2;
+ deduped_1_2 := deduped_1_1[i_2];
+ return UnionOfRows( deduped_7_1, deduped_1_2, [ HomalgZeroMatrix(
Sum( deduped_1_1{[ 1 .. i_2 - 1 ]} ), deduped_1_2, deduped_7_1 ),
HomalgIdentityMatrix( deduped_1_2, deduped_7_1 ), HomalgZeroMatrix( Sum(
deduped_1_1{[ i_2 + 1 .. deduped_8_1 ]} ), deduped_1_2, deduped_7_1 ) ] );
+ end );
+ return AsCapCategoryMorphism( cat_1, s_1, UnionOfColumns( deduped_7_1,
AsInteger( s_1 ), List( deduped_6_1, function ( i_2 )
+ return KroneckerMat( hoisted_5_1, hoisted_4_1[i_2] );
+ end ) ), r_1 );
end
########
@@ -5940,42 +6113,46 @@
########
function ( cat_1, a_1, L_1 )
- local morphism_attr_1_1, hoisted_5_1, deduped_6_1, deduped_7_1,
deduped_8_1, deduped_9_1;
+ local hoisted_4_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1,
deduped_9_1;
deduped_9_1 := Length( L_1 );
deduped_8_1 := List( L_1, AsInteger );
deduped_7_1 := AsInteger( a_1 );
deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( deduped_7_1, deduped_6_1 );
- morphism_attr_1_1 := UnionOfRows( deduped_6_1, deduped_7_1 * Sum(
deduped_8_1 ), List( [ 1 .. deduped_9_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_8_1[i_2];
- return KroneckerMat( hoisted_5_1, UnionOfColumns( deduped_6_1,
deduped_1_2, [ HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[ 1 .. i_2 - 1
]} ), deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[ i_2 + 1 .. deduped_9_1 ]} ),
deduped_6_1 ) ] ) );
+ hoisted_4_1 := HomalgIdentityMatrix( deduped_7_1, deduped_6_1 );
+ deduped_5_1 := UnionOfRows( deduped_6_1, deduped_7_1 * Sum( deduped_8_1 ),
List( [ 1 .. deduped_9_1 ], function ( i_2 )
+ local deduped_1_2, deduped_2_2;
+ deduped_2_2 := CAP_JIT_INCOMPLETE_LOGIC( i_2 );
+ deduped_1_2 := deduped_8_1[deduped_2_2];
+ return KroneckerMat( hoisted_4_1, CAP_JIT_INCOMPLETE_LOGIC(
UnionOfColumns( deduped_6_1, deduped_1_2, [ HomalgZeroMatrix( deduped_1_2, Sum(
deduped_8_1{[ 1 .. deduped_2_2 - 1 ]} ), deduped_6_1 ), HomalgIdentityMatrix(
deduped_1_2, deduped_6_1 ), HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[
deduped_2_2 + 1 .. deduped_9_1 ]} ), deduped_6_1 ) ] ) ) );
end ) );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( deduped_5_1 ) ), deduped_5_1, AsCapCategoryObject( cat_1,
NumberColumns( deduped_5_1 ) ) );
end
########
- , 1707 : IsPrecompiledDerivation := true );
+ , 1102 : IsPrecompiledDerivation := true );
##
cat!.cached_precompiled_functions.LeftDistributivityFactoring :=
########
function ( cat_1, a_1, L_1 )
- local hoisted_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1,
deduped_10_1;
- deduped_10_1 := Length( L_1 );
- deduped_9_1 := List( L_1, AsInteger );
- deduped_8_1 := AsInteger( a_1 );
- deduped_7_1 := UnderlyingRing( cat_1 );
- deduped_6_1 := deduped_8_1 * Sum( deduped_9_1 );
- hoisted_5_1 := HomalgIdentityMatrix( deduped_8_1, deduped_7_1 );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, Sum(
List( L_1, function ( summand_2 )
- return deduped_8_1 * AsInteger( summand_2 );
- end ) ) ), UnionOfRows( deduped_7_1, deduped_6_1, List( [ 1 ..
deduped_10_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_9_1[i_2];
- return KroneckerMat( hoisted_5_1, UnionOfColumns( deduped_7_1,
deduped_1_2, [ HomalgZeroMatrix( deduped_1_2, Sum( deduped_9_1{[ 1 .. i_2 - 1
]} ), deduped_7_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_7_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_9_1{[ i_2 + 1 .. deduped_10_1 ]} ),
deduped_7_1 ) ] ) );
- end ) ), AsCapCategoryObject( cat_1, deduped_6_1 ) );
+ local hoisted_4_1, hoisted_5_1, deduped_6_1, deduped_7_1, deduped_8_1,
deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1;
+ deduped_12_1 := Length( L_1 );
+ deduped_11_1 := UnderlyingRing( cat_1 );
+ deduped_10_1 := List( L_1, AsInteger );
+ deduped_9_1 := AsInteger( a_1 );
+ deduped_8_1 := [ 1 .. deduped_12_1 ];
+ deduped_7_1 := deduped_9_1 * Sum( deduped_10_1 );
+ deduped_6_1 := AsCapCategoryObject( cat_1, deduped_7_1 );
+ hoisted_5_1 := HomalgIdentityMatrix( deduped_9_1, deduped_11_1 );
+ hoisted_4_1 := List( deduped_8_1, function ( i_2 )
+ local deduped_1_2;
+ deduped_1_2 := deduped_10_1[i_2];
+ return UnionOfColumns( deduped_11_1, deduped_1_2, [
HomalgZeroMatrix( deduped_1_2, Sum( deduped_10_1{[ 1 .. i_2 - 1 ]} ),
deduped_11_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_11_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_10_1{[ i_2 + 1 .. deduped_12_1 ]}
), deduped_11_1 ) ] );
+ end );
+ return AsCapCategoryMorphism( cat_1, deduped_6_1, UnionOfRows(
deduped_11_1, deduped_7_1, List( deduped_8_1, function ( i_2 )
+ return KroneckerMat( hoisted_5_1, hoisted_4_1[i_2] );
+ end ) ), deduped_6_1 );
end
########
@@ -5986,39 +6163,40 @@
########
function ( cat_1, s_1, a_1, L_1, r_1 )
- local morphism_attr_1_1, deduped_2_1, hoisted_5_1, deduped_6_1,
deduped_7_1;
- deduped_7_1 := Length( L_1 );
- deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_6_1 );
- deduped_2_1 := List( L_1, AsInteger );
- morphism_attr_1_1 := UnionOfRows( deduped_6_1, AsInteger( r_1 ), List( [ 1
.. deduped_7_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_2_1[i_2];
- return KroneckerMat( hoisted_5_1, UnionOfColumns( deduped_6_1,
deduped_1_2, [ HomalgZeroMatrix( deduped_1_2, Sum( deduped_2_1{[ 1 .. i_2 - 1
]} ), deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_2_1{[ i_2 + 1 .. deduped_7_1 ]} ),
deduped_6_1 ) ] ) );
- end ) );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, r_1 );
+ local deduped_1_1, hoisted_4_1, deduped_5_1, deduped_6_1;
+ deduped_6_1 := Length( L_1 );
+ deduped_5_1 := UnderlyingRing( cat_1 );
+ hoisted_4_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_5_1 );
+ deduped_1_1 := List( L_1, AsInteger );
+ return AsCapCategoryMorphism( cat_1, s_1, UnionOfRows( deduped_5_1,
AsInteger( r_1 ), List( [ 1 .. deduped_6_1 ], function ( i_2 )
+ local deduped_1_2, deduped_2_2;
+ deduped_2_2 := CAP_JIT_INCOMPLETE_LOGIC( i_2 );
+ deduped_1_2 := deduped_1_1[deduped_2_2];
+ return KroneckerMat( hoisted_4_1, CAP_JIT_INCOMPLETE_LOGIC(
UnionOfColumns( deduped_5_1, deduped_1_2, [ HomalgZeroMatrix( deduped_1_2, Sum(
deduped_1_1{[ 1 .. deduped_2_2 - 1 ]} ), deduped_5_1 ), HomalgIdentityMatrix(
deduped_1_2, deduped_5_1 ), HomalgZeroMatrix( deduped_1_2, Sum( deduped_1_1{[
deduped_2_2 + 1 .. deduped_6_1 ]} ), deduped_5_1 ) ] ) ) );
+ end ) ), r_1 );
end
########
- , 1506 : IsPrecompiledDerivation := true );
+ , 901 : IsPrecompiledDerivation := true );
##
cat!.cached_precompiled_functions.LeftDistributivityFactoringWithGivenObjects :=
########
function ( cat_1, s_1, a_1, L_1, r_1 )
- local deduped_2_1, hoisted_5_1, deduped_6_1, deduped_7_1, deduped_8_1;
- deduped_8_1 := AsInteger( a_1 );
- deduped_7_1 := Length( L_1 );
- deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( deduped_8_1, deduped_6_1 );
- deduped_2_1 := List( L_1, AsInteger );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, Sum(
List( L_1, function ( summand_2 )
- return deduped_8_1 * AsInteger( summand_2 );
- end ) ) ), UnionOfRows( deduped_6_1, AsInteger( r_1 ), List( [ 1
.. deduped_7_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_2_1[i_2];
- return KroneckerMat( hoisted_5_1, UnionOfColumns( deduped_6_1,
deduped_1_2, [ HomalgZeroMatrix( deduped_1_2, Sum( deduped_2_1{[ 1 .. i_2 - 1
]} ), deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_2_1{[ i_2 + 1 .. deduped_7_1 ]} ),
deduped_6_1 ) ] ) );
+ local deduped_1_1, hoisted_4_1, hoisted_5_1, deduped_6_1, deduped_7_1,
deduped_8_1;
+ deduped_8_1 := Length( L_1 );
+ deduped_7_1 := UnderlyingRing( cat_1 );
+ deduped_6_1 := [ 1 .. deduped_8_1 ];
+ hoisted_5_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_7_1 );
+ deduped_1_1 := List( L_1, AsInteger );
+ hoisted_4_1 := List( deduped_6_1, function ( i_2 )
+ local deduped_1_2;
+ deduped_1_2 := deduped_1_1[i_2];
+ return UnionOfColumns( deduped_7_1, deduped_1_2, [
HomalgZeroMatrix( deduped_1_2, Sum( deduped_1_1{[ 1 .. i_2 - 1 ]} ),
deduped_7_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_7_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_1_1{[ i_2 + 1 .. deduped_8_1 ]} ),
deduped_7_1 ) ] );
+ end );
+ return AsCapCategoryMorphism( cat_1, s_1, UnionOfRows( deduped_7_1,
AsInteger( r_1 ), List( deduped_6_1, function ( i_2 )
+ return KroneckerMat( hoisted_5_1, hoisted_4_1[i_2] );
end ) ), r_1 );
end
########
@@ -8234,6 +8412,74 @@
;
##
+ AddProjectionOntoCoequalizerOfIdentityAndAutomorphisms( cat,
+
+########
+function ( cat_1, Y_1, automorphisms_1 )
+ local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1,
deduped_5_1;
+ deduped_5_1 := AsInteger( Y_1 );
+ deduped_4_1 := UnderlyingRing( cat_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_5_1,
deduped_4_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ morphism_attr_1_1 := SyzygiesOfColumns( UnionOfRows( deduped_4_1,
deduped_5_1, deduped_2_1{[ 1 .. deduped_3_1 - 1 ]} ) - UnionOfRows(
deduped_4_1, deduped_5_1, deduped_2_1{[ 2 .. deduped_3_1 ]} ) );
+ return AsCapCategoryMorphism( cat_1, Y_1, morphism_attr_1_1,
AsCapCategoryObject( cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+end
+########
+
+ , 5750 : IsPrecompiledDerivation := true );
+
+ ##
+
cat!.cached_precompiled_functions.ProjectionOntoCoequalizerOfIdentityAndAutomorphisms
:=
+
+########
+function ( cat_1, Y_1, automorphisms_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1, deduped_5_1;
+ deduped_5_1 := AsInteger( Y_1 );
+ deduped_4_1 := UnderlyingRing( cat_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_5_1,
deduped_4_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ deduped_1_1 := UnionOfRows( deduped_4_1, deduped_5_1, deduped_2_1{[ 1 ..
deduped_3_1 - 1 ]} ) - UnionOfRows( deduped_4_1, deduped_5_1, deduped_2_1{[ 2
.. deduped_3_1 ]} );
+ return AsCapCategoryMorphism( cat_1, Y_1, SyzygiesOfColumns( deduped_1_1
), AsCapCategoryObject( cat_1, deduped_5_1 - RowRankOfMatrix( deduped_1_1 ) ) );
+end
+########
+
+ ;
+
+ ##
+
AddProjectionOntoCoequalizerOfIdentityAndAutomorphismsWithGivenCoequalizer( cat,
+
+########
+function ( cat_1, Y_1, automorphisms_1, P_1 )
+ local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1,
deduped_5_1;
+ deduped_5_1 := AsInteger( Y_1 );
+ deduped_4_1 := UnderlyingRing( cat_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_5_1,
deduped_4_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ morphism_attr_1_1 := SyzygiesOfColumns( UnionOfRows( deduped_4_1,
deduped_5_1, deduped_2_1{[ 1 .. deduped_3_1 - 1 ]} ) - UnionOfRows(
deduped_4_1, deduped_5_1, deduped_2_1{[ 2 .. deduped_3_1 ]} ) );
+ return AsCapCategoryMorphism( cat_1, Y_1, morphism_attr_1_1,
AsCapCategoryObject( cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+end
+########
+
+ , 2925 : IsPrecompiledDerivation := true );
+
+ ##
+
cat!.cached_precompiled_functions.ProjectionOntoCoequalizerOfIdentityAndAutomorphismsWithGivenCoequalizer
:=
+
+########
+function ( cat_1, Y_1, automorphisms_1, P_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1, deduped_5_1;
+ deduped_5_1 := AsInteger( Y_1 );
+ deduped_4_1 := UnderlyingRing( cat_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_5_1,
deduped_4_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ deduped_1_1 := UnionOfRows( deduped_4_1, deduped_5_1, deduped_2_1{[ 1 ..
deduped_3_1 - 1 ]} ) - UnionOfRows( deduped_4_1, deduped_5_1, deduped_2_1{[ 2
.. deduped_3_1 ]} );
+ return AsCapCategoryMorphism( cat_1, Y_1, SyzygiesOfColumns( deduped_1_1
), AsCapCategoryObject( cat_1, deduped_5_1 - RowRankOfMatrix( deduped_1_1 ) ) );
+end
+########
+
+ ;
+
+ ##
AddProjectionOntoCoequalizerWithGivenCoequalizer( cat,
########
@@ -8516,42 +8762,46 @@
########
function ( cat_1, L_1, a_1 )
- local morphism_attr_1_1, hoisted_5_1, deduped_6_1, deduped_7_1,
deduped_8_1, deduped_9_1;
+ local hoisted_4_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1,
deduped_9_1;
deduped_9_1 := Length( L_1 );
deduped_8_1 := AsInteger( a_1 );
deduped_7_1 := List( L_1, AsInteger );
deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( deduped_8_1, deduped_6_1 );
- morphism_attr_1_1 := UnionOfColumns( deduped_6_1, Sum( deduped_7_1 ) *
deduped_8_1, List( [ 1 .. deduped_9_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_7_1[i_2];
- return KroneckerMat( UnionOfRows( deduped_6_1, deduped_1_2, [
HomalgZeroMatrix( Sum( deduped_7_1{[ 1 .. i_2 - 1 ]} ), deduped_1_2,
deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( Sum( deduped_7_1{[ i_2 + 1 .. deduped_9_1 ]} ), deduped_1_2,
deduped_6_1 ) ] ), hoisted_5_1 );
+ hoisted_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_6_1 );
+ deduped_5_1 := UnionOfColumns( deduped_6_1, Sum( deduped_7_1 ) *
deduped_8_1, List( [ 1 .. deduped_9_1 ], function ( i_2 )
+ local deduped_1_2, deduped_2_2;
+ deduped_2_2 := CAP_JIT_INCOMPLETE_LOGIC( i_2 );
+ deduped_1_2 := deduped_7_1[deduped_2_2];
+ return KroneckerMat( CAP_JIT_INCOMPLETE_LOGIC( UnionOfRows(
deduped_6_1, deduped_1_2, [ HomalgZeroMatrix( Sum( deduped_7_1{[ 1 ..
deduped_2_2 - 1 ]} ), deduped_1_2, deduped_6_1 ), HomalgIdentityMatrix(
deduped_1_2, deduped_6_1 ), HomalgZeroMatrix( Sum( deduped_7_1{[ deduped_2_2 +
1 .. deduped_9_1 ]} ), deduped_1_2, deduped_6_1 ) ] ) ), hoisted_4_1 );
end ) );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( deduped_5_1 ) ), deduped_5_1, AsCapCategoryObject( cat_1,
NumberColumns( deduped_5_1 ) ) );
end
########
- , 1707 : IsPrecompiledDerivation := true );
+ , 1102 : IsPrecompiledDerivation := true );
##
cat!.cached_precompiled_functions.RightDistributivityExpanding :=
########
function ( cat_1, L_1, a_1 )
- local hoisted_4_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1,
deduped_10_1;
- deduped_10_1 := Length( L_1 );
- deduped_9_1 := UnderlyingRing( cat_1 );
- deduped_8_1 := AsInteger( a_1 );
- deduped_7_1 := List( L_1, AsInteger );
- deduped_6_1 := Sum( deduped_7_1 ) * deduped_8_1;
- hoisted_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_9_1 );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
deduped_6_1 ), UnionOfColumns( deduped_9_1, deduped_6_1, List( [ 1 ..
deduped_10_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_7_1[i_2];
- return KroneckerMat( UnionOfRows( deduped_9_1, deduped_1_2, [
HomalgZeroMatrix( Sum( deduped_7_1{[ 1 .. i_2 - 1 ]} ), deduped_1_2,
deduped_9_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_9_1 ),
HomalgZeroMatrix( Sum( deduped_7_1{[ i_2 + 1 .. deduped_10_1 ]} ), deduped_1_2,
deduped_9_1 ) ] ), hoisted_4_1 );
- end ) ), AsCapCategoryObject( cat_1, Sum( List( L_1, function (
summand_2 )
- return AsInteger( summand_2 ) * deduped_8_1;
- end ) ) ) );
+ local hoisted_4_1, hoisted_5_1, deduped_6_1, deduped_7_1, deduped_8_1,
deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1;
+ deduped_12_1 := Length( L_1 );
+ deduped_11_1 := UnderlyingRing( cat_1 );
+ deduped_10_1 := AsInteger( a_1 );
+ deduped_9_1 := List( L_1, AsInteger );
+ deduped_8_1 := [ 1 .. deduped_12_1 ];
+ deduped_7_1 := Sum( deduped_9_1 ) * deduped_10_1;
+ deduped_6_1 := AsCapCategoryObject( cat_1, deduped_7_1 );
+ hoisted_5_1 := HomalgIdentityMatrix( deduped_10_1, deduped_11_1 );
+ hoisted_4_1 := List( deduped_8_1, function ( i_2 )
+ local deduped_1_2;
+ deduped_1_2 := deduped_9_1[i_2];
+ return UnionOfRows( deduped_11_1, deduped_1_2, [ HomalgZeroMatrix(
Sum( deduped_9_1{[ 1 .. i_2 - 1 ]} ), deduped_1_2, deduped_11_1 ),
HomalgIdentityMatrix( deduped_1_2, deduped_11_1 ), HomalgZeroMatrix( Sum(
deduped_9_1{[ i_2 + 1 .. deduped_12_1 ]} ), deduped_1_2, deduped_11_1 ) ] );
+ end );
+ return AsCapCategoryMorphism( cat_1, deduped_6_1, UnionOfColumns(
deduped_11_1, deduped_7_1, List( deduped_8_1, function ( i_2 )
+ return KroneckerMat( hoisted_4_1[i_2], hoisted_5_1 );
+ end ) ), deduped_6_1 );
end
########
@@ -8562,40 +8812,41 @@
########
function ( cat_1, s_1, L_1, a_1, r_1 )
- local morphism_attr_1_1, deduped_2_1, hoisted_5_1, deduped_6_1,
deduped_7_1;
- deduped_7_1 := Length( L_1 );
- deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_6_1 );
- deduped_2_1 := List( L_1, AsInteger );
- morphism_attr_1_1 := UnionOfColumns( deduped_6_1, AsInteger( s_1 ), List(
[ 1 .. deduped_7_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_2_1[i_2];
- return KroneckerMat( UnionOfRows( deduped_6_1, deduped_1_2, [
HomalgZeroMatrix( Sum( deduped_2_1{[ 1 .. i_2 - 1 ]} ), deduped_1_2,
deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( Sum( deduped_2_1{[ i_2 + 1 .. deduped_7_1 ]} ), deduped_1_2,
deduped_6_1 ) ] ), hoisted_5_1 );
- end ) );
- return AsCapCategoryMorphism( cat_1, s_1, morphism_attr_1_1,
AsCapCategoryObject( cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+ local deduped_1_1, hoisted_4_1, deduped_5_1, deduped_6_1;
+ deduped_6_1 := Length( L_1 );
+ deduped_5_1 := UnderlyingRing( cat_1 );
+ hoisted_4_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_5_1 );
+ deduped_1_1 := List( L_1, AsInteger );
+ return AsCapCategoryMorphism( cat_1, s_1, UnionOfColumns( deduped_5_1,
AsInteger( s_1 ), List( [ 1 .. deduped_6_1 ], function ( i_2 )
+ local deduped_1_2, deduped_2_2;
+ deduped_2_2 := CAP_JIT_INCOMPLETE_LOGIC( i_2 );
+ deduped_1_2 := deduped_1_1[deduped_2_2];
+ return KroneckerMat( CAP_JIT_INCOMPLETE_LOGIC( UnionOfRows(
deduped_5_1, deduped_1_2, [ HomalgZeroMatrix( Sum( deduped_1_1{[ 1 ..
deduped_2_2 - 1 ]} ), deduped_1_2, deduped_5_1 ), HomalgIdentityMatrix(
deduped_1_2, deduped_5_1 ), HomalgZeroMatrix( Sum( deduped_1_1{[ deduped_2_2 +
1 .. deduped_6_1 ]} ), deduped_1_2, deduped_5_1 ) ] ) ), hoisted_4_1 );
+ end ) ), r_1 );
end
########
- , 1506 : IsPrecompiledDerivation := true );
+ , 901 : IsPrecompiledDerivation := true );
##
cat!.cached_precompiled_functions.RightDistributivityExpandingWithGivenObjects
:=
########
function ( cat_1, s_1, L_1, a_1, r_1 )
- local deduped_1_1, hoisted_4_1, deduped_6_1, deduped_7_1, deduped_8_1;
- deduped_8_1 := AsInteger( a_1 );
- deduped_7_1 := Length( L_1 );
- deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_6_1 );
+ local deduped_1_1, hoisted_4_1, hoisted_5_1, deduped_6_1, deduped_7_1,
deduped_8_1;
+ deduped_8_1 := Length( L_1 );
+ deduped_7_1 := UnderlyingRing( cat_1 );
+ deduped_6_1 := [ 1 .. deduped_8_1 ];
+ hoisted_5_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_7_1 );
deduped_1_1 := List( L_1, AsInteger );
- return AsCapCategoryMorphism( cat_1, s_1, UnionOfColumns( deduped_6_1,
AsInteger( s_1 ), List( [ 1 .. deduped_7_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_1_1[i_2];
- return KroneckerMat( UnionOfRows( deduped_6_1, deduped_1_2, [
HomalgZeroMatrix( Sum( deduped_1_1{[ 1 .. i_2 - 1 ]} ), deduped_1_2,
deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( Sum( deduped_1_1{[ i_2 + 1 .. deduped_7_1 ]} ), deduped_1_2,
deduped_6_1 ) ] ), hoisted_4_1 );
- end ) ), AsCapCategoryObject( cat_1, Sum( List( L_1, function (
summand_2 )
- return AsInteger( summand_2 ) * deduped_8_1;
- end ) ) ) );
+ hoisted_4_1 := List( deduped_6_1, function ( i_2 )
+ local deduped_1_2;
+ deduped_1_2 := deduped_1_1[i_2];
+ return UnionOfRows( deduped_7_1, deduped_1_2, [ HomalgZeroMatrix(
Sum( deduped_1_1{[ 1 .. i_2 - 1 ]} ), deduped_1_2, deduped_7_1 ),
HomalgIdentityMatrix( deduped_1_2, deduped_7_1 ), HomalgZeroMatrix( Sum(
deduped_1_1{[ i_2 + 1 .. deduped_8_1 ]} ), deduped_1_2, deduped_7_1 ) ] );
+ end );
+ return AsCapCategoryMorphism( cat_1, s_1, UnionOfColumns( deduped_7_1,
AsInteger( s_1 ), List( deduped_6_1, function ( i_2 )
+ return KroneckerMat( hoisted_4_1[i_2], hoisted_5_1 );
+ end ) ), r_1 );
end
########
@@ -8606,42 +8857,46 @@
########
function ( cat_1, L_1, a_1 )
- local morphism_attr_1_1, hoisted_5_1, deduped_6_1, deduped_7_1,
deduped_8_1, deduped_9_1;
+ local hoisted_4_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1,
deduped_9_1;
deduped_9_1 := Length( L_1 );
deduped_8_1 := AsInteger( a_1 );
deduped_7_1 := List( L_1, AsInteger );
deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( deduped_8_1, deduped_6_1 );
- morphism_attr_1_1 := UnionOfRows( deduped_6_1, Sum( deduped_7_1 ) *
deduped_8_1, List( [ 1 .. deduped_9_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_7_1[i_2];
- return KroneckerMat( UnionOfColumns( deduped_6_1, deduped_1_2, [
HomalgZeroMatrix( deduped_1_2, Sum( deduped_7_1{[ 1 .. i_2 - 1 ]} ),
deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_7_1{[ i_2 + 1 .. deduped_9_1 ]} ),
deduped_6_1 ) ] ), hoisted_5_1 );
+ hoisted_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_6_1 );
+ deduped_5_1 := UnionOfRows( deduped_6_1, Sum( deduped_7_1 ) * deduped_8_1,
List( [ 1 .. deduped_9_1 ], function ( i_2 )
+ local deduped_1_2, deduped_2_2;
+ deduped_2_2 := CAP_JIT_INCOMPLETE_LOGIC( i_2 );
+ deduped_1_2 := deduped_7_1[deduped_2_2];
+ return KroneckerMat( CAP_JIT_INCOMPLETE_LOGIC( UnionOfColumns(
deduped_6_1, deduped_1_2, [ HomalgZeroMatrix( deduped_1_2, Sum( deduped_7_1{[ 1
.. deduped_2_2 - 1 ]} ), deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2,
deduped_6_1 ), HomalgZeroMatrix( deduped_1_2, Sum( deduped_7_1{[ deduped_2_2 +
1 .. deduped_9_1 ]} ), deduped_6_1 ) ] ) ), hoisted_4_1 );
end ) );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( deduped_5_1 ) ), deduped_5_1, AsCapCategoryObject( cat_1,
NumberColumns( deduped_5_1 ) ) );
end
########
- , 1707 : IsPrecompiledDerivation := true );
+ , 1102 : IsPrecompiledDerivation := true );
##
cat!.cached_precompiled_functions.RightDistributivityFactoring :=
########
function ( cat_1, L_1, a_1 )
- local hoisted_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1,
deduped_10_1;
- deduped_10_1 := Length( L_1 );
- deduped_9_1 := AsInteger( a_1 );
- deduped_8_1 := List( L_1, AsInteger );
- deduped_7_1 := UnderlyingRing( cat_1 );
- deduped_6_1 := Sum( deduped_8_1 ) * deduped_9_1;
- hoisted_5_1 := HomalgIdentityMatrix( deduped_9_1, deduped_7_1 );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, Sum(
List( L_1, function ( summand_2 )
- return AsInteger( summand_2 ) * deduped_9_1;
- end ) ) ), UnionOfRows( deduped_7_1, deduped_6_1, List( [ 1 ..
deduped_10_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_8_1[i_2];
- return KroneckerMat( UnionOfColumns( deduped_7_1, deduped_1_2,
[ HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[ 1 .. i_2 - 1 ]} ),
deduped_7_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_7_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[ i_2 + 1 .. deduped_10_1 ]} ),
deduped_7_1 ) ] ), hoisted_5_1 );
- end ) ), AsCapCategoryObject( cat_1, deduped_6_1 ) );
+ local hoisted_4_1, hoisted_5_1, deduped_6_1, deduped_7_1, deduped_8_1,
deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1;
+ deduped_12_1 := Length( L_1 );
+ deduped_11_1 := UnderlyingRing( cat_1 );
+ deduped_10_1 := AsInteger( a_1 );
+ deduped_9_1 := List( L_1, AsInteger );
+ deduped_8_1 := [ 1 .. deduped_12_1 ];
+ deduped_7_1 := Sum( deduped_9_1 ) * deduped_10_1;
+ deduped_6_1 := AsCapCategoryObject( cat_1, deduped_7_1 );
+ hoisted_5_1 := HomalgIdentityMatrix( deduped_10_1, deduped_11_1 );
+ hoisted_4_1 := List( deduped_8_1, function ( i_2 )
+ local deduped_1_2;
+ deduped_1_2 := deduped_9_1[i_2];
+ return UnionOfColumns( deduped_11_1, deduped_1_2, [
HomalgZeroMatrix( deduped_1_2, Sum( deduped_9_1{[ 1 .. i_2 - 1 ]} ),
deduped_11_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_11_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_9_1{[ i_2 + 1 .. deduped_12_1 ]} ),
deduped_11_1 ) ] );
+ end );
+ return AsCapCategoryMorphism( cat_1, deduped_6_1, UnionOfRows(
deduped_11_1, deduped_7_1, List( deduped_8_1, function ( i_2 )
+ return KroneckerMat( hoisted_4_1[i_2], hoisted_5_1 );
+ end ) ), deduped_6_1 );
end
########
@@ -8652,39 +8907,40 @@
########
function ( cat_1, s_1, L_1, a_1, r_1 )
- local morphism_attr_1_1, deduped_2_1, hoisted_5_1, deduped_6_1,
deduped_7_1;
- deduped_7_1 := Length( L_1 );
- deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_6_1 );
- deduped_2_1 := List( L_1, AsInteger );
- morphism_attr_1_1 := UnionOfRows( deduped_6_1, AsInteger( r_1 ), List( [ 1
.. deduped_7_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_2_1[i_2];
- return KroneckerMat( UnionOfColumns( deduped_6_1, deduped_1_2, [
HomalgZeroMatrix( deduped_1_2, Sum( deduped_2_1{[ 1 .. i_2 - 1 ]} ),
deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_2_1{[ i_2 + 1 .. deduped_7_1 ]} ),
deduped_6_1 ) ] ), hoisted_5_1 );
- end ) );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, r_1 );
+ local deduped_1_1, hoisted_4_1, deduped_5_1, deduped_6_1;
+ deduped_6_1 := Length( L_1 );
+ deduped_5_1 := UnderlyingRing( cat_1 );
+ hoisted_4_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_5_1 );
+ deduped_1_1 := List( L_1, AsInteger );
+ return AsCapCategoryMorphism( cat_1, s_1, UnionOfRows( deduped_5_1,
AsInteger( r_1 ), List( [ 1 .. deduped_6_1 ], function ( i_2 )
+ local deduped_1_2, deduped_2_2;
+ deduped_2_2 := CAP_JIT_INCOMPLETE_LOGIC( i_2 );
+ deduped_1_2 := deduped_1_1[deduped_2_2];
+ return KroneckerMat( CAP_JIT_INCOMPLETE_LOGIC( UnionOfColumns(
deduped_5_1, deduped_1_2, [ HomalgZeroMatrix( deduped_1_2, Sum( deduped_1_1{[ 1
.. deduped_2_2 - 1 ]} ), deduped_5_1 ), HomalgIdentityMatrix( deduped_1_2,
deduped_5_1 ), HomalgZeroMatrix( deduped_1_2, Sum( deduped_1_1{[ deduped_2_2 +
1 .. deduped_6_1 ]} ), deduped_5_1 ) ] ) ), hoisted_4_1 );
+ end ) ), r_1 );
end
########
- , 1506 : IsPrecompiledDerivation := true );
+ , 901 : IsPrecompiledDerivation := true );
##
cat!.cached_precompiled_functions.RightDistributivityFactoringWithGivenObjects
:=
########
function ( cat_1, s_1, L_1, a_1, r_1 )
- local deduped_2_1, hoisted_5_1, deduped_6_1, deduped_7_1, deduped_8_1;
- deduped_8_1 := AsInteger( a_1 );
- deduped_7_1 := Length( L_1 );
- deduped_6_1 := UnderlyingRing( cat_1 );
- hoisted_5_1 := HomalgIdentityMatrix( deduped_8_1, deduped_6_1 );
- deduped_2_1 := List( L_1, AsInteger );
- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, Sum(
List( L_1, function ( summand_2 )
- return AsInteger( summand_2 ) * deduped_8_1;
- end ) ) ), UnionOfRows( deduped_6_1, AsInteger( r_1 ), List( [ 1
.. deduped_7_1 ], function ( i_2 )
- local deduped_1_2;
- deduped_1_2 := deduped_2_1[i_2];
- return KroneckerMat( UnionOfColumns( deduped_6_1, deduped_1_2,
[ HomalgZeroMatrix( deduped_1_2, Sum( deduped_2_1{[ 1 .. i_2 - 1 ]} ),
deduped_6_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_6_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_2_1{[ i_2 + 1 .. deduped_7_1 ]} ),
deduped_6_1 ) ] ), hoisted_5_1 );
+ local deduped_1_1, hoisted_4_1, hoisted_5_1, deduped_6_1, deduped_7_1,
deduped_8_1;
+ deduped_8_1 := Length( L_1 );
+ deduped_7_1 := UnderlyingRing( cat_1 );
+ deduped_6_1 := [ 1 .. deduped_8_1 ];
+ hoisted_5_1 := HomalgIdentityMatrix( AsInteger( a_1 ), deduped_7_1 );
+ deduped_1_1 := List( L_1, AsInteger );
+ hoisted_4_1 := List( deduped_6_1, function ( i_2 )
+ local deduped_1_2;
+ deduped_1_2 := deduped_1_1[i_2];
+ return UnionOfColumns( deduped_7_1, deduped_1_2, [
HomalgZeroMatrix( deduped_1_2, Sum( deduped_1_1{[ 1 .. i_2 - 1 ]} ),
deduped_7_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_7_1 ),
HomalgZeroMatrix( deduped_1_2, Sum( deduped_1_1{[ i_2 + 1 .. deduped_8_1 ]} ),
deduped_7_1 ) ] );
+ end );
+ return AsCapCategoryMorphism( cat_1, s_1, UnionOfRows( deduped_7_1,
AsInteger( r_1 ), List( deduped_6_1, function ( i_2 )
+ return KroneckerMat( hoisted_4_1[i_2], hoisted_5_1 );
end ) ), r_1 );
end
########
@@ -9526,6 +9782,43 @@
, 14453 : IsPrecompiledDerivation := true );
##
+ AddTensorProductOnMorphismAndObject( cat,
+
+########
+function ( cat_1, alpha_1, b_1 )
+ local morphism_attr_1_1;
+ morphism_attr_1_1 := KroneckerMat( AsHomalgMatrix( alpha_1 ),
HomalgIdentityMatrix( AsInteger( b_1 ), UnderlyingRing( cat_1 ) ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+end
+########
+
+ , 402 : IsPrecompiledDerivation := true );
+
+ ##
+ cat!.cached_precompiled_functions.TensorProductOnMorphismAndObject :=
+
+########
+function ( cat_1, alpha_1, b_1 )
+ local deduped_1_1;
+ deduped_1_1 := AsInteger( b_1 );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
AsInteger( Source( alpha_1 ) ) * deduped_1_1 ), KroneckerMat( AsHomalgMatrix(
alpha_1 ), HomalgIdentityMatrix( deduped_1_1, UnderlyingRing( cat_1 ) ) ),
AsCapCategoryObject( cat_1, AsInteger( Range( alpha_1 ) ) * deduped_1_1 ) );
+end
+########
+
+ ;
+
+ ##
+ AddTensorProductOnMorphismAndObjectWithGivenTensorProducts( cat,
+
+########
+function ( cat_1, s_1, alpha_1, b_1, r_1 )
+ return AsCapCategoryMorphism( cat_1, s_1, KroneckerMat( AsHomalgMatrix(
alpha_1 ), HomalgIdentityMatrix( AsInteger( b_1 ), UnderlyingRing( cat_1 ) ) ),
r_1 );
+end
+########
+
+ , 201 : IsPrecompiledDerivation := true );
+
+ ##
AddTensorProductOnMorphisms( cat,
########
@@ -9561,6 +9854,43 @@
, 100 );
##
+ AddTensorProductOnObjectAndMorphism( cat,
+
+########
+function ( cat_1, a_1, beta_1 )
+ local morphism_attr_1_1;
+ morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( AsInteger( a_1 ),
UnderlyingRing( cat_1 ) ), AsHomalgMatrix( beta_1 ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject(
cat_1, NumberColumns( morphism_attr_1_1 ) ) );
+end
+########
+
+ , 402 : IsPrecompiledDerivation := true );
+
+ ##
+ cat!.cached_precompiled_functions.TensorProductOnObjectAndMorphism :=
+
+########
+function ( cat_1, a_1, beta_1 )
+ local deduped_1_1;
+ deduped_1_1 := AsInteger( a_1 );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
deduped_1_1 * AsInteger( Source( beta_1 ) ) ), KroneckerMat(
HomalgIdentityMatrix( deduped_1_1, UnderlyingRing( cat_1 ) ), AsHomalgMatrix(
beta_1 ) ), AsCapCategoryObject( cat_1, deduped_1_1 * AsInteger( Range( beta_1
) ) ) );
+end
+########
+
+ ;
+
+ ##
+ AddTensorProductOnObjectAndMorphismWithGivenTensorProducts( cat,
+
+########
+function ( cat_1, s_1, a_1, beta_1, r_1 )
+ return AsCapCategoryMorphism( cat_1, s_1, KroneckerMat(
HomalgIdentityMatrix( AsInteger( a_1 ), UnderlyingRing( cat_1 ) ),
AsHomalgMatrix( beta_1 ) ), r_1 );
+end
+########
+
+ , 201 : IsPrecompiledDerivation := true );
+
+ ##
AddTensorProductOnObjects( cat,
########
@@ -10280,6 +10610,74 @@
end
########
+ ;
+
+ ##
+ AddUniversalMorphismFromCoequalizerOfIdentityAndAutomorphisms( cat,
+
+########
+function ( cat_1, Y_1, automorphisms_1, T_1, tau_1 )
+ local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1,
deduped_5_1;
+ deduped_5_1 := AsInteger( Y_1 );
+ deduped_4_1 := UnderlyingRing( cat_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_5_1,
deduped_4_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ morphism_attr_1_1 := UniqueLeftDivide( SyzygiesOfColumns( UnionOfRows(
deduped_4_1, deduped_5_1, deduped_2_1{[ 1 .. deduped_3_1 - 1 ]} ) -
UnionOfRows( deduped_4_1, deduped_5_1, deduped_2_1{[ 2 .. deduped_3_1 ]} ) ),
AsHomalgMatrix( tau_1 ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, Range( tau_1 ) );
+end
+########
+
+ , 5851 : IsPrecompiledDerivation := true );
+
+ ##
+
cat!.cached_precompiled_functions.UniversalMorphismFromCoequalizerOfIdentityAndAutomorphisms
:=
+
+########
+function ( cat_1, Y_1, automorphisms_1, T_1, tau_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1, deduped_5_1;
+ deduped_5_1 := UnderlyingRing( cat_1 );
+ deduped_4_1 := AsInteger( Y_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_4_1,
deduped_5_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ deduped_1_1 := UnionOfRows( deduped_5_1, deduped_4_1, deduped_2_1{[ 1 ..
deduped_3_1 - 1 ]} ) - UnionOfRows( deduped_5_1, deduped_4_1, deduped_2_1{[ 2
.. deduped_3_1 ]} );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
deduped_4_1 - RowRankOfMatrix( deduped_1_1 ) ), UniqueLeftDivide(
SyzygiesOfColumns( deduped_1_1 ), AsHomalgMatrix( tau_1 ) ), Range( tau_1 ) );
+end
+########
+
+ ;
+
+ ##
+
AddUniversalMorphismFromCoequalizerOfIdentityAndAutomorphismsWithGivenCoequalizer(
cat,
+
+########
+function ( cat_1, Y_1, automorphisms_1, T_1, tau_1, P_1 )
+ local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1,
deduped_5_1;
+ deduped_5_1 := AsInteger( Y_1 );
+ deduped_4_1 := UnderlyingRing( cat_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_5_1,
deduped_4_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ morphism_attr_1_1 := UniqueLeftDivide( SyzygiesOfColumns( UnionOfRows(
deduped_4_1, deduped_5_1, deduped_2_1{[ 1 .. deduped_3_1 - 1 ]} ) -
UnionOfRows( deduped_4_1, deduped_5_1, deduped_2_1{[ 2 .. deduped_3_1 ]} ) ),
AsHomalgMatrix( tau_1 ) );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, Range( tau_1 ) );
+end
+########
+
+ , 3026 : IsPrecompiledDerivation := true );
+
+ ##
+
cat!.cached_precompiled_functions.UniversalMorphismFromCoequalizerOfIdentityAndAutomorphismsWithGivenCoequalizer
:=
+
+########
+function ( cat_1, Y_1, automorphisms_1, T_1, tau_1, P_1 )
+ local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1, deduped_5_1;
+ deduped_5_1 := UnderlyingRing( cat_1 );
+ deduped_4_1 := AsInteger( Y_1 );
+ deduped_3_1 := Sum( [ 1, Length( automorphisms_1 ) ] );
+ deduped_2_1 := Concatenation( [ HomalgIdentityMatrix( deduped_4_1,
deduped_5_1 ) ], List( automorphisms_1, AsHomalgMatrix ) );
+ deduped_1_1 := UnionOfRows( deduped_5_1, deduped_4_1, deduped_2_1{[ 1 ..
deduped_3_1 - 1 ]} ) - UnionOfRows( deduped_5_1, deduped_4_1, deduped_2_1{[ 2
.. deduped_3_1 ]} );
+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1,
deduped_4_1 - RowRankOfMatrix( deduped_1_1 ) ), UniqueLeftDivide(
SyzygiesOfColumns( deduped_1_1 ), AsHomalgMatrix( tau_1 ) ), Range( tau_1 ) );
+end
+########
+
;
##
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap13.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap13.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap13.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap13.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap13.tst");
-# doc/_Chapter_Examples_and_Tests.xml:621-686
+# doc/_Chapter_Examples_and_Tests.xml:621-690
gap> LoadPackage( "LinearAlgebraForCAP", ">= 2024.01-04", false );
true
gap> QQ := HomalgFieldOfRationals();;
@@ -25,8 +25,10 @@
IsAdditiveMonoidalCategory
IsBraidedMonoidalCategory
IsCategoryWithCoequalizers
+IsCategoryWithCoequalizersOfIdentityAndAutomorphisms
IsCategoryWithCokernels
IsCategoryWithEqualizers
+IsCategoryWithEqualizersOfIdentityAndAutomorphisms
IsCategoryWithInitialObject
IsCategoryWithKernels
IsCategoryWithTerminalObject
@@ -37,6 +39,8 @@
IsEquippedWithHomomorphismStructure
IsLinearCategoryOverCommutativeRing
IsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms
+IsLinearCategoryOverCommutativeSemiring
+IsLinearCategoryOverCommutativeSemiringWithFinitelyGeneratedFreeExternalHoms
IsMonoidalCategory
IsPreAbelianCategory
IsRigidSymmetricClosedMonoidalCategory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap14.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap14.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap14.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap14.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap14.tst");
-# doc/_Chapter_Examples_and_Tests.xml:693-715
+# doc/_Chapter_Examples_and_Tests.xml:697-719
gap> field := HomalgFieldOfRationals( );;
gap> vec := MatrixCategory( field );;
gap> A := MatrixCategoryObject( vec, 1 );;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap15.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap15.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap15.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap15.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap15.tst");
-# doc/_Chapter_Examples_and_Tests.xml:722-743
+# doc/_Chapter_Examples_and_Tests.xml:726-747
gap> LoadPackage( "LinearAlgebraForCAP", false );
true
gap> Q := HomalgFieldOfRationals();;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap16.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap16.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap16.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap16.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap16.tst");
-# doc/_Chapter_Examples_and_Tests.xml:745-750
+# doc/_Chapter_Examples_and_Tests.xml:749-754
gap> # @drop_example_in_Julia: differences in the output of (Safe)RightDivide,
see https://github.com/homalg-project/MatricesForHomalg.jl/issues/50
> delta := SomeReductionBySplitEpiSummand_MorphismToInputRange( alpha );;
gap> Display( EntriesOfHomalgMatrixAsListList( UnderlyingMatrix( delta ) ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap17.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap17.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap17.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap17.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap17.tst");
-# doc/_Chapter_Examples_and_Tests.xml:757-778
+# doc/_Chapter_Examples_and_Tests.xml:761-782
gap> Q := HomalgFieldOfRationals();;
gap> vec := MatrixCategory( Q );;
gap> V := MatrixCategoryObject( vec, 2 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap18.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap18.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap18.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap18.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap18.tst");
-# doc/_Chapter_Examples_and_Tests.xml:780-799
+# doc/_Chapter_Examples_and_Tests.xml:784-803
gap> Q := HomalgFieldOfRationals();;
gap> vec := MatrixCategory( Q );;
gap> V := MatrixCategoryObject( vec, 2 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap19.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap19.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap19.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap19.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap19.tst");
-# doc/_Chapter_Examples_and_Tests.xml:801-826
+# doc/_Chapter_Examples_and_Tests.xml:805-830
gap> Q := HomalgFieldOfRationals();;
gap> vec := MatrixCategory( Q );;
gap> V := MatrixCategoryObject( vec, 2 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap20.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap20.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap20.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap20.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap20.tst");
-# doc/_Chapter_Examples_and_Tests.xml:833-852
+# doc/_Chapter_Examples_and_Tests.xml:837-856
gap> Q := HomalgFieldOfRationals();;
gap> vec := MatrixCategory( Q );;
gap> A := MatrixCategoryObject( vec, 1 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap21.tst
new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap21.tst
--- old/LinearAlgebraForCAP-2026.04-01/tst/linearalgebraforcap21.tst
2026-04-10 19:42:35.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/linearalgebraforcap21.tst
2026-05-22 21:38:04.000000000 +0200
@@ -10,7 +10,7 @@
#
gap> START_TEST("linearalgebraforcap21.tst");
-# doc/_Chapter_Examples_and_Tests.xml:859-880
+# doc/_Chapter_Examples_and_Tests.xml:863-884
gap> LoadPackage( "LinearAlgebraForCAP", false );
true
gap> Q := HomalgFieldOfRationals( );;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/LinearAlgebraForCAP-2026.04-01/tst/testall_no_precompiled_code.g
new/LinearAlgebraForCAP-2026.05-04/tst/testall_no_precompiled_code.g
--- old/LinearAlgebraForCAP-2026.04-01/tst/testall_no_precompiled_code.g
2026-04-10 19:25:59.000000000 +0200
+++ new/LinearAlgebraForCAP-2026.05-04/tst/testall_no_precompiled_code.g
2026-05-22 21:05:16.000000000 +0200
@@ -3,6 +3,28 @@
#
# This file runs package tests without precompiled code.
#
+
+# In the current GAP master START_TEST and STOP_TEST reset the global options
+# stack (see https://github.com/gap-system/gap/pull/6215).
+# We override them to re-push the no_precompiled_code option after each reset.
+_ORIG_START_TEST := START_TEST;
+START_TEST := function( name )
+ _ORIG_START_TEST( name );
+ if ValueOption( "no_precompiled_code" ) <> true then
+ PushOptions( rec( no_precompiled_code := true ) );
+ fi;
+end;
+
+_ORIG_STOP_TEST_QUIET := STOP_TEST_QUIET;
+STOP_TEST_QUIET := function( args... )
+ local result;
+ result := CallFuncList( _ORIG_STOP_TEST_QUIET, args );
+ if ValueOption( "no_precompiled_code" ) <> true then
+ PushOptions( rec( no_precompiled_code := true ) );
+ fi;
+ return result;
+end;
+
PushOptions(
rec(
no_precompiled_code := true,
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.bT5PDu/_old 2026-06-17 16:28:34.156756183 +0200
+++ /var/tmp/diff_new_pack.bT5PDu/_new 2026-06-17 16:28:34.176757015 +0200
@@ -1,5 +1,5 @@
-mtime: 1781538917
-commit: d8cd6cdab715a2aa8c877bda249c12612560e661e9fdb6f91209fcdc44ccdd01
+mtime: 1781687288
+commit: 4db6010c400ebdba10c0524aa7e4e630372b1de79c5eb8815b32bfd1c797863e
url: https://src.opensuse.org/jengelh/gap-linearalgebraforcap
revision: master
++++++ build.specials.obscpio ++++++
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-06-17 11:08:08.000000000 +0200
@@ -0,0 +1 @@
+.osc