Skip to content

Commit

Permalink
AddDerivationToCAP( MorphismFromCoimageToImageWithGivenObjects, ... )
Browse files Browse the repository at this point in the history
  • Loading branch information
mohamed-barakat committed Oct 4, 2023
1 parent 23b9c23 commit dbfdcbc
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 16 deletions.
2 changes: 1 addition & 1 deletion CAP/PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SetPackageInfo( rec(

PackageName := "CAP",
Subtitle := "Categories, Algorithms, Programming",
Version := "2023.10-01",
Version := "2023.10-02",
Date := (function ( ) if IsBound( GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE ) then return GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE; else return Concatenation( ~.Version{[ 1 .. 4 ]}, "-", ~.Version{[ 6, 7 ]}, "-01" ); fi; end)( ),
License := "GPL-2.0-or-later",

Expand Down
15 changes: 15 additions & 0 deletions CAP/gap/DerivedMethods.autogen.gi
Original file line number Diff line number Diff line change
Expand Up @@ -1048,6 +1048,21 @@ end : CategoryFilter := IsCapCategory,
Weight := 1,
is_autogenerated_by_CompilerForCAP := true );

##
AddDerivationToCAP( MorphismFromCoimageToImageWithGivenObjects,
"dualizing the derivation of MorphismFromCoimageToImageWithGivenObjects by MorphismFromCoimageToImageWithGivenObjects using that the image embedding lifts the coimage astriction",
[
[ CoimageProjectionWithGivenCoimageObject, 1 ],
[ CoastrictionToImageWithGivenImageObject, 1 ],
[ ColiftAlongEpimorphism, 1 ],
],

function ( cat_1, C_1, alpha_1, I_1 )
return ColiftAlongEpimorphism( cat_1, CoimageProjectionWithGivenCoimageObject( cat_1, alpha_1, C_1 ), CoastrictionToImageWithGivenImageObject( cat_1, alpha_1, I_1 ) );

Check warning on line 1061 in CAP/gap/DerivedMethods.autogen.gi

View check run for this annotation

Codecov / codecov/patch

CAP/gap/DerivedMethods.autogen.gi#L1061

Added line #L1061 was not covered by tests
end : CategoryFilter := IsCapCategory,
Weight := 1,
is_autogenerated_by_CompilerForCAP := true );

##
AddDerivationToCAP( MorphismFromCoimageToImageWithGivenObjects,
"dualizing the derivation of MorphismFromCoimageToImageWithGivenObjects by MorphismFromCoimageToImageWithGivenObjects using that images are given by kernels of cokernels",
Expand Down
15 changes: 15 additions & 0 deletions CAP/gap/DerivedMethods.gi
Original file line number Diff line number Diff line change
Expand Up @@ -2907,6 +2907,21 @@ AddFinalDerivationBundle( "IsomorphismFromImageObjectToKernelOfCokernel as the i
end,
] : CategoryFilter := IsAbelianCategory );

##
AddDerivationToCAP( MorphismFromCoimageToImageWithGivenObjects,
"MorphismFromCoimageToImageWithGivenObjects using that the image embedding lifts the coimage astriction",
[ [ ImageEmbeddingWithGivenImageObject, 1 ],
[ AstrictionToCoimageWithGivenCoimageObject, 1 ],
[ LiftAlongMonomorphism, 1 ] ],

function( cat, coimage, morphism, image )

return LiftAlongMonomorphism( cat,
ImageEmbeddingWithGivenImageObject( cat, morphism, image ),
AstrictionToCoimageWithGivenCoimageObject( cat, morphism, coimage ) );

Check warning on line 2921 in CAP/gap/DerivedMethods.gi

View check run for this annotation

Codecov / codecov/patch

CAP/gap/DerivedMethods.gi#L2919-L2921

Added lines #L2919 - L2921 were not covered by tests

end );

##
AddDerivationToCAP( MorphismFromCoimageToImageWithGivenObjects,
"MorphismFromCoimageToImageWithGivenObjects using that images are given by kernels of cokernels",
Expand Down
4 changes: 2 additions & 2 deletions LinearAlgebraForCAP/PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SetPackageInfo( rec(

PackageName := "LinearAlgebraForCAP",
Subtitle := "Category of Matrices over a Field for CAP",
Version := "2023.09-03",
Version := "2023.10-01",
Date := (function ( ) if IsBound( GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE ) then return GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE; else return Concatenation( ~.Version{[ 1 .. 4 ]}, "-", ~.Version{[ 6, 7 ]}, "-01" ); fi; end)( ),
License := "GPL-2.0-or-later",

Expand Down Expand Up @@ -89,7 +89,7 @@ Dependencies := rec(
NeededOtherPackages := [ [ "ToolsForHomalg", ">= 2015.09.18" ],
[ "MatricesForHomalg", ">= 2023.01-01" ],
[ "GaussForHomalg", ">= 2021.04-02" ],
[ "CAP", ">= 2023.08-16" ],
[ "CAP", ">= 2023.10-02" ],
[ "MonoidalCategories", ">= 2023.08-11" ],
],
SuggestedOtherPackages := [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2108,16 +2108,13 @@ end

########
function ( cat_1, C_1, alpha_1, I_1 )
local morphism_attr_1_1, deduped_2_1, deduped_3_1, deduped_4_1;
deduped_4_1 := UnderlyingRing( cat_1 );
deduped_3_1 := UnderlyingMatrix( alpha_1 );
deduped_2_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_3_1 ) );
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 ) ) );
return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), C_1, UnderlyingMatrix, morphism_attr_1_1 );
local deduped_1_1;
deduped_1_1 := UnderlyingMatrix( alpha_1 );
return CreateCapCategoryMorphismWithAttributes( cat_1, I_1, C_1, UnderlyingMatrix, UniqueRightDivide( HomalgIdentityMatrix( Dimension( I_1 ), UnderlyingRing( cat_1 ) ), UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_1_1 ), deduped_1_1 ), BasisOfRows( deduped_1_1 ) ) ) );

Check warning on line 2113 in LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi

View check run for this annotation

Codecov / codecov/patch

LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi#L2112-L2113

Added lines #L2112 - L2113 were not covered by tests
end
########

, 1610 : IsPrecompiledDerivation := true );
, 604 : IsPrecompiledDerivation := true );

##
AddIsAutomorphism( cat,
Expand Down Expand Up @@ -4039,15 +4036,13 @@ end

########
function ( cat_1, C_1, alpha_1, I_1 )
local morphism_attr_1_1, deduped_2_1, deduped_3_1;
deduped_3_1 := UnderlyingMatrix( alpha_1 );
deduped_2_1 := SyzygiesOfRows( SyzygiesOfColumns( deduped_3_1 ) );
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 ) );
return CreateCapCategoryMorphismWithAttributes( cat_1, C_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 );
local deduped_1_1;
deduped_1_1 := UnderlyingMatrix( alpha_1 );
return CreateCapCategoryMorphismWithAttributes( cat_1, C_1, I_1, UnderlyingMatrix, UniqueRightDivide( UniqueLeftDivide( BasisOfColumns( deduped_1_1 ), deduped_1_1 ), BasisOfRows( deduped_1_1 ) ) );

Check warning on line 4041 in LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi

View check run for this annotation

Codecov / codecov/patch

LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi#L4040-L4041

Added lines #L4040 - L4041 were not covered by tests
end
########

, 1408 : IsPrecompiledDerivation := true );
, 402 : IsPrecompiledDerivation := true );

##
AddMorphismFromEqualizerToSink( cat,
Expand Down

0 comments on commit dbfdcbc

Please sign in to comment.