@@ -4154,28 +4154,24 @@ end
41544154
41554155########
41564156function ( cat_1, alpha_1 )
4157- local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1;
4158- deduped_4_1 := UnderlyingRing( cat_1 );
4159- deduped_3_1 := AsHomalgMatrix( alpha_1 );
4160- deduped_2_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_3_1 ) );
4161- morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( RowRankOfMatrix( deduped_3_1 ), deduped_4_1 ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_3_1 ), deduped_3_1 ), deduped_2_1 ) * UniqueRightDivide( HomalgIdentityMatrix( NumberRows( deduped_2_1 ), deduped_4_1 ), UniqueRightDivide( BasisOfRows( deduped_3_1 ), deduped_2_1 ) ) );
4157+ local morphism_attr_1_1, deduped_2_1;
4158+ deduped_2_1 := AsHomalgMatrix( alpha_1 );
4159+ morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( RowRankOfMatrix( deduped_2_1 ), UnderlyingRing( cat_1 ) ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_2_1 ), deduped_2_1 ), BasisOfRows( deduped_2_1 ) ) );
41624160 return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject( cat_1, NumberColumns( morphism_attr_1_1 ) ) );
41634161end
41644162########
41654163
4166- , 1811 : IsPrecompiledDerivation := true );
4164+ , 805 : IsPrecompiledDerivation := true );
41674165
41684166 ##
41694167 cat!.cached_precompiled_functions.InverseOfMorphismFromCoimageToImage :=
41704168
41714169########
41724170function ( cat_1, alpha_1 )
4173- local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1;
4174- deduped_4_1 := UnderlyingRing( cat_1 );
4175- deduped_3_1 := AsHomalgMatrix( alpha_1 );
4176- deduped_2_1 := RowRankOfMatrix( deduped_3_1 );
4177- deduped_1_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_3_1 ) );
4178- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, deduped_2_1 ), UniqueRightDivide( HomalgIdentityMatrix( deduped_2_1, deduped_4_1 ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_3_1 ), deduped_3_1 ), deduped_1_1 ) * UniqueRightDivide( HomalgIdentityMatrix( NumberRows( deduped_1_1 ), deduped_4_1 ), UniqueRightDivide( BasisOfRows( deduped_3_1 ), deduped_1_1 ) ) ), AsCapCategoryObject( cat_1, ColumnRankOfMatrix( deduped_3_1 ) ) );
4171+ local deduped_1_1, deduped_2_1;
4172+ deduped_2_1 := AsHomalgMatrix( alpha_1 );
4173+ deduped_1_1 := RowRankOfMatrix( deduped_2_1 );
4174+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, deduped_1_1 ), UniqueRightDivide( HomalgIdentityMatrix( deduped_1_1, UnderlyingRing( cat_1 ) ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_2_1 ), deduped_2_1 ), BasisOfRows( deduped_2_1 ) ) ), AsCapCategoryObject( cat_1, ColumnRankOfMatrix( deduped_2_1 ) ) );
41794175end
41804176########
41814177
@@ -4186,32 +4182,13 @@ end
41864182
41874183########
41884184function ( cat_1, I_1, alpha_1, C_1 )
4189- local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1;
4190- deduped_4_1 := UnderlyingRing( cat_1 );
4191- deduped_3_1 := AsHomalgMatrix( alpha_1 );
4192- deduped_2_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_3_1 ) );
4193- morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( RowRankOfMatrix( deduped_3_1 ), deduped_4_1 ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_3_1 ), deduped_3_1 ), deduped_2_1 ) * UniqueRightDivide( HomalgIdentityMatrix( NumberRows( deduped_2_1 ), deduped_4_1 ), UniqueRightDivide( BasisOfRows( deduped_3_1 ), deduped_2_1 ) ) );
4194- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, C_1 );
4195- end
4196- ########
4197-
4198- , 1610 : IsPrecompiledDerivation := true );
4199-
4200- ##
4201- cat!.cached_precompiled_functions.InverseOfMorphismFromCoimageToImageWithGivenObjects :=
4202-
4203- ########
4204- function ( cat_1, I_1, alpha_1, C_1 )
4205- local deduped_1_1, deduped_2_1, deduped_3_1, deduped_4_1;
4206- deduped_4_1 := UnderlyingRing( cat_1 );
4207- deduped_3_1 := AsHomalgMatrix( alpha_1 );
4208- deduped_2_1 := RowRankOfMatrix( deduped_3_1 );
4209- deduped_1_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_3_1 ) );
4210- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, deduped_2_1 ), UniqueRightDivide( HomalgIdentityMatrix( deduped_2_1, deduped_4_1 ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_3_1 ), deduped_3_1 ), deduped_1_1 ) * UniqueRightDivide( HomalgIdentityMatrix( NumberRows( deduped_1_1 ), deduped_4_1 ), UniqueRightDivide( BasisOfRows( deduped_3_1 ), deduped_1_1 ) ) ), C_1 );
4185+ local deduped_1_1;
4186+ deduped_1_1 := AsHomalgMatrix( alpha_1 );
4187+ return AsCapCategoryMorphism( cat_1, I_1, UniqueRightDivide( HomalgIdentityMatrix( AsInteger( I_1 ), UnderlyingRing( cat_1 ) ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_1_1 ), deduped_1_1 ), BasisOfRows( deduped_1_1 ) ) ), C_1 );
42114188end
42124189########
42134190
4214- ;
4191+ , 604 : IsPrecompiledDerivation := true ) ;
42154192
42164193 ##
42174194 AddIsAutomorphism( cat,
@@ -7094,25 +7071,23 @@ end
70947071
70957072########
70967073function ( cat_1, alpha_1 )
7097- local morphism_attr_1_1, deduped_2_1, deduped_3_1;
7098- deduped_3_1 := AsHomalgMatrix( alpha_1 );
7099- deduped_2_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_3_1 ) );
7100- morphism_attr_1_1 := UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_3_1 ), deduped_3_1 ), deduped_2_1 ) * UniqueRightDivide( HomalgIdentityMatrix( NumberRows( deduped_2_1 ), UnderlyingRing( cat_1 ) ), UniqueRightDivide( BasisOfRows( deduped_3_1 ), deduped_2_1 ) );
7074+ local morphism_attr_1_1, deduped_2_1;
7075+ deduped_2_1 := AsHomalgMatrix( alpha_1 );
7076+ morphism_attr_1_1 := UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_2_1 ), deduped_2_1 ), BasisOfRows( deduped_2_1 ) );
71017077 return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, NumberRows( morphism_attr_1_1 ) ), morphism_attr_1_1, AsCapCategoryObject( cat_1, NumberColumns( morphism_attr_1_1 ) ) );
71027078end
71037079########
71047080
7105- , 1609 : IsPrecompiledDerivation := true );
7081+ , 603 : IsPrecompiledDerivation := true );
71067082
71077083 ##
71087084 cat!.cached_precompiled_functions.MorphismFromCoimageToImage :=
71097085
71107086########
71117087function ( cat_1, alpha_1 )
7112- local deduped_1_1, deduped_2_1;
7113- deduped_2_1 := AsHomalgMatrix( alpha_1 );
7114- deduped_1_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_2_1 ) );
7115- return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, ColumnRankOfMatrix( deduped_2_1 ) ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_2_1 ), deduped_2_1 ), deduped_1_1 ) * UniqueRightDivide( HomalgIdentityMatrix( NumberRows( deduped_1_1 ), UnderlyingRing( cat_1 ) ), UniqueRightDivide( BasisOfRows( deduped_2_1 ), deduped_1_1 ) ), AsCapCategoryObject( cat_1, RowRankOfMatrix( deduped_2_1 ) ) );
7088+ local deduped_1_1;
7089+ deduped_1_1 := AsHomalgMatrix( alpha_1 );
7090+ return AsCapCategoryMorphism( cat_1, AsCapCategoryObject( cat_1, ColumnRankOfMatrix( deduped_1_1 ) ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_1_1 ), deduped_1_1 ), BasisOfRows( deduped_1_1 ) ), AsCapCategoryObject( cat_1, RowRankOfMatrix( deduped_1_1 ) ) );
71167091end
71177092########
71187093
@@ -7123,29 +7098,13 @@ end
71237098
71247099########
71257100function ( cat_1, C_1, alpha_1, I_1 )
7126- local morphism_attr_1_1, deduped_2_1, deduped_3_1;
7127- deduped_3_1 := AsHomalgMatrix( alpha_1 );
7128- deduped_2_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_3_1 ) );
7129- morphism_attr_1_1 := UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_3_1 ), deduped_3_1 ), deduped_2_1 ) * UniqueRightDivide( HomalgIdentityMatrix( NumberRows( deduped_2_1 ), UnderlyingRing( cat_1 ) ), UniqueRightDivide( BasisOfRows( deduped_3_1 ), deduped_2_1 ) );
7130- return AsCapCategoryMorphism( cat_1, C_1, morphism_attr_1_1, AsCapCategoryObject( cat_1, NumberColumns( morphism_attr_1_1 ) ) );
7131- end
7132- ########
7133-
7134- , 1408 : IsPrecompiledDerivation := true );
7135-
7136- ##
7137- cat!.cached_precompiled_functions.MorphismFromCoimageToImageWithGivenObjects :=
7138-
7139- ########
7140- function ( cat_1, C_1, alpha_1, I_1 )
7141- local deduped_1_1, deduped_2_1;
7142- deduped_2_1 := AsHomalgMatrix( alpha_1 );
7143- deduped_1_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_2_1 ) );
7144- return AsCapCategoryMorphism( cat_1, C_1, UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_2_1 ), deduped_2_1 ), deduped_1_1 ) * UniqueRightDivide( HomalgIdentityMatrix( NumberRows( deduped_1_1 ), UnderlyingRing( cat_1 ) ), UniqueRightDivide( BasisOfRows( deduped_2_1 ), deduped_1_1 ) ), AsCapCategoryObject( cat_1, RowRankOfMatrix( deduped_2_1 ) ) );
7101+ local deduped_1_1;
7102+ deduped_1_1 := AsHomalgMatrix( alpha_1 );
7103+ return AsCapCategoryMorphism( cat_1, C_1, UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_1_1 ), deduped_1_1 ), BasisOfRows( deduped_1_1 ) ), I_1 );
71457104end
71467105########
71477106
7148- ;
7107+ , 402 : IsPrecompiledDerivation := true ) ;
71497108
71507109 ##
71517110 AddMorphismFromEqualizerToSink( cat,
0 commit comments