From 42f43c1e86c04e7cf4e9d2869696b2d39e0e5257 Mon Sep 17 00:00:00 2001 From: Mohamed Barakat Date: Wed, 16 Aug 2023 00:15:15 +0200 Subject: [PATCH] updated LinearAlgebraForCAP/gap/CompilerLogic.gi --- CompilerForCAP/tst/Logic.tst | 6 +- LinearAlgebraForCAP/PackageInfo.g | 2 +- LinearAlgebraForCAP/gap/CompilerLogic.gi | 199 +++ .../MatrixCategoryPrecompiled.gi | 1298 +++++++---------- 4 files changed, 736 insertions(+), 769 deletions(-) diff --git a/CompilerForCAP/tst/Logic.tst b/CompilerForCAP/tst/Logic.tst index f7274a9e74..f2d8bf7cb6 100644 --- a/CompilerForCAP/tst/Logic.tst +++ b/CompilerForCAP/tst/Logic.tst @@ -22,7 +22,7 @@ end # gap> func := function ( L1, L2 ) -> return List( Concatenation( L1, L2 ), x -> x ); end;; +> return List( Concatenation( L1, L2 ), x -> x^2 ); end;; # gap> tree := ENHANCED_SYNTAX_TREE( func );; @@ -30,9 +30,9 @@ gap> tree := CapJitAppliedLogic( tree );; gap> Display( ENHANCED_SYNTAX_TREE_CODE( tree ) ); function ( L1_1, L2_1 ) return Concatenation( List( L1_1, function ( x_2 ) - return x_2; + return x_2 ^ 2; end ), List( L2_1, function ( x_2 ) - return x_2; + return x_2 ^ 2; end ) ); end diff --git a/LinearAlgebraForCAP/PackageInfo.g b/LinearAlgebraForCAP/PackageInfo.g index c6da28e5d4..de32015e08 100644 --- a/LinearAlgebraForCAP/PackageInfo.g +++ b/LinearAlgebraForCAP/PackageInfo.g @@ -10,7 +10,7 @@ SetPackageInfo( rec( PackageName := "LinearAlgebraForCAP", Subtitle := "Category of Matrices over a Field for CAP", -Version := "2023.08-04", +Version := "2023.08-05", 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", diff --git a/LinearAlgebraForCAP/gap/CompilerLogic.gi b/LinearAlgebraForCAP/gap/CompilerLogic.gi index 35d36b9e9c..6b14813547 100644 --- a/LinearAlgebraForCAP/gap/CompilerLogic.gi +++ b/LinearAlgebraForCAP/gap/CompilerLogic.gi @@ -55,6 +55,78 @@ CapJitAddLogicTemplate( ) ); +# +CapJitAddLogicTemplate( + rec( + variable_names := [ "n", "ring" ], + src_template := "TransposedMatrix( HomalgIdentityMatrix( n, ring ) )", + dst_template := "HomalgIdentityMatrix( n, ring )", + ) +); + +# +CapJitAddLogicTemplate( + rec( + variable_names := [ "n", "ring" ], + src_template := "HomalgMatrix( PermutationMat( PermList( [ 1 .. n ] ), n ), n, n, ring )", + dst_template := "HomalgIdentityMatrix( n, ring )", + ) +); + +# +CapJitAddLogicTemplate( + rec( + variable_names := [ "ring" ], + src_template := "HomalgMatrix( PermutationMat( PermList( [ 1 ] ), 1 ), 1, 1, ring )", + dst_template := "HomalgIdentityMatrix( 1, ring )", + ) +); + +# +CapJitAddLogicTemplate( + rec( + variable_names := [ "ring", "matrix" ], + src_template := "KroneckerMat( HomalgIdentityMatrix( 1, ring ), matrix )", + dst_template := "matrix", + ) +); + +# +CapJitAddLogicTemplate( + rec( + variable_names := [ "ring", "matrix" ], + src_template := "KroneckerMat( matrix, HomalgIdentityMatrix( 1, ring ) )", + dst_template := "matrix", + ) +); + +# +CapJitAddLogicTemplate( + rec( + variable_names := [ "m", "n", "ring" ], + src_template := "KroneckerMat( HomalgIdentityMatrix( m, ring ), HomalgIdentityMatrix( n, ring ) )", + dst_template := "HomalgIdentityMatrix( m * n, ring )", + ) +); + +# +CapJitAddLogicTemplate( + rec( + variable_names := [ "ring" ], + src_template := "ConvertMatrixToRow( HomalgIdentityMatrix( 1, ring ) )", + dst_template := "HomalgIdentityMatrix( 1, ring )", + ) +); + +# +CapJitAddLogicTemplate( + rec( + variable_names := [ "ring" ], + src_template := "ConvertMatrixToColumn( HomalgIdentityMatrix( 1, ring ) )", + dst_template := "HomalgIdentityMatrix( 1, ring )", + ) +); + # Length( [ 1 .. n ] ) -> n CapJitAddLogicTemplate( rec( @@ -63,3 +135,130 @@ CapJitAddLogicTemplate( dst_template := "n" ) ); + +# 1 - 1 -> 0 +CapJitAddLogicTemplate( + rec( + variable_names := [ ], + src_template := "1 - 1", + dst_template := "0" + ) +); + +# 0 + n -> n +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "0 + n", + dst_template := "n" + ) +); + +# n + 0 -> n +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "n + 0", + dst_template := "n" + ) +); + +# n - 1 + 1 -> n +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "n - 1 + 1", + dst_template := "n" + ) +); + +# 0 * n -> 0 +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "0 * n", + dst_template := "0" + ) +); + +# n * 0 -> 0 +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "n * 0", + dst_template := "0" + ) +); + +# 1 * n -> n +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "1 * n", + dst_template := "n" + ) +); + +# n * 1 -> n +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "n * 1", + dst_template := "n" + ) +); + +# QUO_INT( n, 1 ) -> n +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "QUO_INT( n, 1 )", + dst_template := "n" + ) +); + +# REM_INT( n, 1 ) -> n +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "REM_INT( n, 1 )", + dst_template := "0" + ) +); + +# List( [ 1 .. n ], i -> REM_INT( i - 1, n ) + QUO_INT( i - 1, n ) + 1 ) -> [ 1 .. n ] +CapJitAddLogicTemplate( + rec( + variable_names := [ "n" ], + src_template := "List( [ 1 .. n ], i -> REM_INT( i - 1, n ) + QUO_INT( i - 1, n ) + 1 )", + dst_template := "[ 1 .. n ]" + ) +); + +# list{[ ]} -> [ ] +CapJitAddLogicTemplate( + rec( + variable_names := [ "list" ], + src_template := "list{[ ]}", + dst_template := "[ ]" + ) +); + +# Sum( [ ] ) -> 0 +CapJitAddLogicTemplate( + rec( + variable_names := [ ], + src_template := "Sum( [ ] )", + dst_template := "0" + ) +); + +# List( list, i -> i ) -> list +CapJitAddLogicTemplate( + rec( + variable_names := [ "list" ], + src_template := "List( list, i -> i )", + dst_template := "list" + ) +); + diff --git a/LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi b/LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi index ab131f152d..8ef1c718f1 100644 --- a/LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi +++ b/LinearAlgebraForCAP/gap/precompiled_categories/MatrixCategoryPrecompiled.gi @@ -247,43 +247,25 @@ end ######## function ( cat_1, a_1, b_1 ) - local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1; - deduped_21_1 := UnderlyingRing( cat_1 ); - deduped_20_1 := Dimension( b_1 ); - deduped_19_1 := Dimension( a_1 ); - deduped_18_1 := 1 * deduped_19_1; - deduped_17_1 := HomalgIdentityMatrix( deduped_19_1, deduped_21_1 ); - deduped_16_1 := 1 * deduped_20_1; - deduped_15_1 := HomalgIdentityMatrix( deduped_20_1, deduped_21_1 ); - deduped_14_1 := HomalgIdentityMatrix( 1, deduped_21_1 ); - deduped_13_1 := deduped_19_1 * deduped_20_1; - deduped_12_1 := deduped_13_1 * deduped_13_1; - deduped_11_1 := deduped_18_1 * deduped_16_1; - deduped_10_1 := deduped_19_1 * deduped_16_1; - deduped_9_1 := HomalgIdentityMatrix( deduped_13_1, deduped_21_1 ); - deduped_8_1 := HomalgIdentityMatrix( deduped_11_1, deduped_21_1 ); - deduped_7_1 := deduped_11_1 * deduped_13_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_9_1 ), KroneckerMat( deduped_14_1, KroneckerMat( deduped_14_1, ConvertMatrixToRow( deduped_15_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_20_1 ) * 1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); - end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_21_1 ), deduped_15_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_20_1 * 1), deduped_21_1 ), deduped_15_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_14_1, ConvertMatrixToRow( deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_19_1 ) * 1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_21_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_19_1 * 1), deduped_21_1 ), deduped_17_1 )), HomalgIdentityMatrix( deduped_16_1, deduped_21_1 ) ), deduped_15_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_21_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_21_1 ) ), deduped_15_1 ) ) * (KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_11_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); - end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_21_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1; + deduped_13_1 := UnderlyingRing( cat_1 ); + deduped_12_1 := Dimension( b_1 ); + deduped_11_1 := Dimension( a_1 ); + deduped_10_1 := HomalgIdentityMatrix( deduped_11_1, deduped_13_1 ); + deduped_9_1 := HomalgIdentityMatrix( deduped_12_1, deduped_13_1 ); + deduped_8_1 := deduped_11_1 * deduped_12_1; + deduped_7_1 := deduped_8_1 * deduped_8_1; + deduped_6_1 := HomalgIdentityMatrix( deduped_8_1, deduped_13_1 ); + deduped_5_1 := HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := i_2 - 1; + return REM_INT( deduped_1_2, deduped_8_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1; + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_13_1 ); + morphism_attr_1_1 := KroneckerMat( deduped_6_1, ConvertMatrixToRow( deduped_9_1 ) * KroneckerMat( KroneckerMat( ConvertMatrixToRow( deduped_10_1 ), deduped_9_1 ), deduped_9_1 ) * KroneckerMat( KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_21_1 ), deduped_8_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_9_1 ), deduped_8_1 )) * KroneckerMat( deduped_17_1, deduped_15_1 ); + return (REM_INT( deduped_1_2, deduped_12_1 ) * deduped_11_1 + QUO_INT( deduped_1_2, deduped_12_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_13_1 ) ), deduped_9_1 ) ) * (KroneckerMat( deduped_6_1, deduped_5_1 ) * KroneckerMat( deduped_5_1, deduped_6_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_6_1 ), deduped_6_1 )); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -295,43 +277,25 @@ end ######## function ( cat_1, s_1, a_1, b_1, r_1 ) - local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1; - deduped_21_1 := UnderlyingRing( cat_1 ); - deduped_20_1 := Dimension( b_1 ); - deduped_19_1 := Dimension( a_1 ); - deduped_18_1 := 1 * deduped_19_1; - deduped_17_1 := HomalgIdentityMatrix( deduped_19_1, deduped_21_1 ); - deduped_16_1 := 1 * deduped_20_1; - deduped_15_1 := HomalgIdentityMatrix( deduped_20_1, deduped_21_1 ); - deduped_14_1 := HomalgIdentityMatrix( 1, deduped_21_1 ); - deduped_13_1 := deduped_19_1 * deduped_20_1; - deduped_12_1 := deduped_13_1 * deduped_13_1; - deduped_11_1 := deduped_18_1 * deduped_16_1; - deduped_10_1 := deduped_19_1 * deduped_16_1; - deduped_9_1 := HomalgIdentityMatrix( deduped_13_1, deduped_21_1 ); - deduped_8_1 := HomalgIdentityMatrix( deduped_11_1, deduped_21_1 ); - deduped_7_1 := deduped_11_1 * deduped_13_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_9_1 ), KroneckerMat( deduped_14_1, KroneckerMat( deduped_14_1, ConvertMatrixToRow( deduped_15_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_20_1 ) * 1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); - end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_21_1 ), deduped_15_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_20_1 * 1), deduped_21_1 ), deduped_15_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_14_1, ConvertMatrixToRow( deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_19_1 ) * 1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_21_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_19_1 * 1), deduped_21_1 ), deduped_17_1 )), HomalgIdentityMatrix( deduped_16_1, deduped_21_1 ) ), deduped_15_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_21_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_21_1 ) ), deduped_15_1 ) ) * (KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_11_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); - end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_21_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1; + deduped_13_1 := UnderlyingRing( cat_1 ); + deduped_12_1 := Dimension( b_1 ); + deduped_11_1 := Dimension( a_1 ); + deduped_10_1 := HomalgIdentityMatrix( deduped_11_1, deduped_13_1 ); + deduped_9_1 := HomalgIdentityMatrix( deduped_12_1, deduped_13_1 ); + deduped_8_1 := deduped_11_1 * deduped_12_1; + deduped_7_1 := deduped_8_1 * deduped_8_1; + deduped_6_1 := HomalgIdentityMatrix( deduped_8_1, deduped_13_1 ); + deduped_5_1 := HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := i_2 - 1; + return REM_INT( deduped_1_2, deduped_8_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1; + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_13_1 ); + morphism_attr_1_1 := KroneckerMat( deduped_6_1, ConvertMatrixToRow( deduped_9_1 ) * KroneckerMat( KroneckerMat( ConvertMatrixToRow( deduped_10_1 ), deduped_9_1 ), deduped_9_1 ) * KroneckerMat( KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_21_1 ), deduped_8_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_9_1 ), deduped_8_1 )) * KroneckerMat( deduped_17_1, deduped_15_1 ); + return (REM_INT( deduped_1_2, deduped_12_1 ) * deduped_11_1 + QUO_INT( deduped_1_2, deduped_12_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_13_1 ) ), deduped_9_1 ) ) * (KroneckerMat( deduped_6_1, deduped_5_1 ) * KroneckerMat( deduped_5_1, deduped_6_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_6_1 ), deduped_6_1 )); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -350,10 +314,10 @@ function ( cat_1, a_1, b_1, alpha_1 ) deduped_5_1 := deduped_6_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_7_1 ); morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_6_1, deduped_7_1 ), ConvertMatrixToRow( deduped_4_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_8_1 * deduped_6_1), deduped_7_1 ), deduped_4_1 ) * KroneckerMat( UnderlyingMatrix( alpha_1 ), deduped_4_1 ); + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); + end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( UnderlyingMatrix( alpha_1 ), deduped_4_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), b_1, UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -365,22 +329,16 @@ end ######## function ( cat_1, alpha_1 ) - local morphism_attr_1_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 := HomalgIdentityMatrix( 1, deduped_8_1 ); - deduped_6_1 := Dimension( Range( alpha_1 ) ); - deduped_5_1 := deduped_6_1 * deduped_6_1; - deduped_4_1 := 1 * deduped_6_1; - deduped_3_1 := HomalgIdentityMatrix( deduped_6_1, deduped_8_1 ); - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_3_1 ), UnderlyingMatrix( alpha_1 ) ) * (KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_6_1 ) * 1 + QUO_INT( deduped_1_2, deduped_6_1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_6_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_6_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_8_1 ), deduped_7_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_3_1 ), deduped_7_1 )); + local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; + deduped_6_1 := UnderlyingRing( cat_1 ); + deduped_5_1 := Dimension( Range( alpha_1 ) ); + deduped_4_1 := deduped_5_1 * deduped_5_1; + deduped_3_1 := HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ); + morphism_attr_1_1 := KroneckerMat( deduped_3_1, UnderlyingMatrix( alpha_1 ) ) * (HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_5_1 ) * deduped_5_1 + QUO_INT( deduped_1_2, deduped_5_1 ) + 1); + end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_6_1 ) * ConvertMatrixToColumn( deduped_3_1 )); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -392,22 +350,16 @@ end ######## function ( cat_1, a_1 ) - local morphism_attr_1_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 := Dimension( a_1 ); - deduped_6_1 := HomalgIdentityMatrix( 1, deduped_8_1 ); - deduped_5_1 := deduped_7_1 * deduped_7_1; - deduped_4_1 := 1 * deduped_7_1; - deduped_3_1 := HomalgIdentityMatrix( deduped_7_1, deduped_8_1 ); - morphism_attr_1_1 := ConvertMatrixToRow( deduped_3_1 ) * (KroneckerMat( TransposedMatrix( deduped_3_1 ), deduped_3_1 ) * (KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_7_1 ) * 1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_7_1 ) * deduped_7_1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_8_1 ), deduped_6_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_3_1 ), deduped_6_1 ))); + local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; + deduped_6_1 := UnderlyingRing( cat_1 ); + deduped_5_1 := Dimension( a_1 ); + deduped_4_1 := deduped_5_1 * deduped_5_1; + deduped_3_1 := HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ); + morphism_attr_1_1 := ConvertMatrixToRow( deduped_3_1 ) * (HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_5_1 ) * deduped_5_1 + QUO_INT( deduped_1_2, deduped_5_1 ) + 1); + end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_6_1 ) * ConvertMatrixToColumn( deduped_3_1 )); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -419,22 +371,16 @@ end ######## function ( cat_1, alpha_1 ) - local morphism_attr_1_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 := HomalgIdentityMatrix( 1, deduped_8_1 ); - deduped_6_1 := Dimension( Range( alpha_1 ) ); - deduped_5_1 := deduped_6_1 * deduped_6_1; - deduped_4_1 := 1 * deduped_6_1; - deduped_3_1 := HomalgIdentityMatrix( deduped_6_1, deduped_8_1 ); - morphism_attr_1_1 := ConvertMatrixToRow( HomalgIdentityMatrix( Dimension( Source( alpha_1 ) ), deduped_8_1 ) ) * (KroneckerMat( TransposedMatrix( deduped_3_1 ), UnderlyingMatrix( alpha_1 ) ) * (KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_6_1 ) * 1 + QUO_INT( deduped_1_2, deduped_6_1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_6_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_6_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_8_1 ), deduped_7_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_3_1 ), deduped_7_1 ))); + local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; + deduped_6_1 := UnderlyingRing( cat_1 ); + deduped_5_1 := Dimension( Range( alpha_1 ) ); + deduped_4_1 := deduped_5_1 * deduped_5_1; + deduped_3_1 := HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ); + morphism_attr_1_1 := ConvertMatrixToRow( HomalgIdentityMatrix( Dimension( Source( alpha_1 ) ), deduped_6_1 ) ) * (KroneckerMat( deduped_3_1, UnderlyingMatrix( alpha_1 ) ) * (HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_5_1 ) * deduped_5_1 + QUO_INT( deduped_1_2, deduped_5_1 ) + 1); + end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_6_1 ) * ConvertMatrixToColumn( deduped_3_1 ))); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -584,10 +530,10 @@ function ( cat_1, a_1, b_1 ) deduped_5_1 := deduped_6_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_7_1 ); morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_6_1, deduped_7_1 ), ConvertMatrixToRow( deduped_4_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_8_1 * deduped_6_1), deduped_7_1 ), deduped_4_1 ); + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); + end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -606,10 +552,10 @@ function ( cat_1, a_1, b_1, r_1 ) deduped_5_1 := deduped_6_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_7_1 ); morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_6_1, deduped_7_1 ), ConvertMatrixToRow( deduped_4_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_8_1 * deduped_6_1), deduped_7_1 ), deduped_4_1 ); + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); + end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -1317,11 +1263,11 @@ function ( cat_1, a_1, b_1 ) deduped_6_1 := Dimension( a_1 ); deduped_5_1 := HomalgIdentityMatrix( deduped_6_1, deduped_8_1 ); deduped_4_1 := deduped_6_1 * deduped_7_1; - morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_4_1, deduped_8_1 ), deduped_5_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_7_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ), deduped_5_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_7_1, deduped_8_1 ), ConvertMatrixToColumn( deduped_5_1 ) ); + morphism_attr_1_1 := KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_7_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); + end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ), deduped_5_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_7_1, deduped_8_1 ), ConvertMatrixToColumn( deduped_5_1 ) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -1339,11 +1285,11 @@ function ( cat_1, a_1, b_1, s_1 ) deduped_6_1 := Dimension( a_1 ); deduped_5_1 := HomalgIdentityMatrix( deduped_6_1, deduped_8_1 ); deduped_4_1 := deduped_6_1 * deduped_7_1; - morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_4_1, deduped_8_1 ), deduped_5_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_7_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ), deduped_5_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_7_1, deduped_8_1 ), ConvertMatrixToColumn( deduped_5_1 ) ); + morphism_attr_1_1 := KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_7_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); + end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ), deduped_5_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_7_1, deduped_8_1 ), ConvertMatrixToColumn( deduped_5_1 ) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -1804,15 +1750,15 @@ function ( cat_1, list_1 ) deduped_11_1 := HomalgIdentityMatrix( deduped_15_1, deduped_26_1 ); deduped_10_1 := HomalgIdentityMatrix( deduped_13_1, deduped_26_1 ); deduped_9_1 := deduped_13_1 * deduped_15_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_11_1 ), KroneckerMat( deduped_16_1, KroneckerMat( HomalgIdentityMatrix( deduped_24_1, deduped_26_1 ), ConvertMatrixToRow( deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_11_1, KroneckerMat( deduped_16_1, KroneckerMat( HomalgIdentityMatrix( deduped_24_1, deduped_26_1 ), ConvertMatrixToRow( deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); + end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_26_1 ), deduped_17_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_16_1, ConvertMatrixToRow( deduped_19_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_20_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_26_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_22_1 * deduped_24_1), deduped_26_1 ), deduped_17_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_16_1, ConvertMatrixToRow( deduped_19_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_20_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_20_1 ), deduped_20_1, deduped_20_1, deduped_26_1 ), deduped_19_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_21_1 * deduped_23_1), deduped_26_1 ), deduped_19_1 )), HomalgIdentityMatrix( deduped_18_1, deduped_26_1 ) ), deduped_17_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_20_1, deduped_26_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); + end ) ), deduped_20_1 ), deduped_20_1, deduped_20_1, deduped_26_1 ), deduped_19_1 )), HomalgIdentityMatrix( deduped_18_1, deduped_26_1 ) ), deduped_17_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_20_1, deduped_26_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); @@ -1864,15 +1810,15 @@ function ( cat_1, list_1 ) deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_27_1 ), deduped_11_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_12_1 ), deduped_11_1 ); - morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_27_1 ), KroneckerMat( TransposedMatrix( deduped_12_1 ), KroneckerMat( deduped_19_1, KroneckerMat( HomalgIdentityMatrix( deduped_25_1, deduped_27_1 ), ConvertMatrixToRow( deduped_20_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) + morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_27_1 ), KroneckerMat( deduped_12_1, KroneckerMat( deduped_19_1, KroneckerMat( HomalgIdentityMatrix( deduped_25_1, deduped_27_1 ), ConvertMatrixToRow( deduped_20_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_23_1 ) * deduped_25_1 + QUO_INT( deduped_1_2, deduped_23_1 ) + 1); + end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_27_1 ), deduped_20_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_19_1, ConvertMatrixToRow( deduped_21_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_23_1 ) * deduped_25_1 + QUO_INT( deduped_1_2, deduped_23_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_27_1 ), deduped_20_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_23_1 * deduped_25_1), deduped_27_1 ), deduped_20_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_19_1, ConvertMatrixToRow( deduped_21_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_27_1 ), deduped_21_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_22_1 * deduped_24_1), deduped_27_1 ), deduped_21_1 )), HomalgIdentityMatrix( deduped_18_1, deduped_27_1 ) ), deduped_20_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_17_1, deduped_27_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); + end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_27_1 ), deduped_21_1 )), HomalgIdentityMatrix( deduped_18_1, deduped_27_1 ) ), deduped_20_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_17_1, deduped_27_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); @@ -1916,15 +1862,15 @@ function ( cat_1, source_1, list_1, range_1 ) deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_26_1 ), deduped_22_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_10_1 ), deduped_22_1 ); - morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_26_1 ), KroneckerMat( TransposedMatrix( deduped_10_1 ), KroneckerMat( deduped_15_1, KroneckerMat( HomalgIdentityMatrix( deduped_24_1, deduped_26_1 ), ConvertMatrixToRow( deduped_16_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_26_1 ), KroneckerMat( deduped_10_1, KroneckerMat( deduped_15_1, KroneckerMat( HomalgIdentityMatrix( deduped_24_1, deduped_26_1 ), ConvertMatrixToRow( deduped_16_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); + end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_26_1 ), deduped_16_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_15_1, ConvertMatrixToRow( deduped_18_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_26_1 ), deduped_16_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_21_1 * deduped_24_1), deduped_26_1 ), deduped_16_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_15_1, ConvertMatrixToRow( deduped_18_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); - end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_26_1 ), deduped_18_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_20_1 * deduped_23_1), deduped_26_1 ), deduped_18_1 )), HomalgIdentityMatrix( deduped_17_1, deduped_26_1 ) ), deduped_16_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_19_1, deduped_26_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_26_1 ), deduped_18_1 )), HomalgIdentityMatrix( deduped_17_1, deduped_26_1 ) ), deduped_16_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_19_1, deduped_26_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); @@ -1959,15 +1905,15 @@ function ( cat_1, source_1, list_1, range_1 ) deduped_11_1 := deduped_26_1 * deduped_13_1; deduped_10_1 := deduped_19_1 * deduped_16_1; deduped_9_1 := HomalgIdentityMatrix( deduped_13_1, deduped_25_1 ); - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_9_1 ), KroneckerMat( deduped_14_1, KroneckerMat( HomalgIdentityMatrix( deduped_22_1, deduped_25_1 ), ConvertMatrixToRow( deduped_15_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_9_1, KroneckerMat( deduped_14_1, KroneckerMat( HomalgIdentityMatrix( deduped_22_1, deduped_25_1 ), ConvertMatrixToRow( deduped_15_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_25_1 ), deduped_15_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_14_1, ConvertMatrixToRow( deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); - end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_25_1 ), deduped_15_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_20_1 * deduped_22_1), deduped_25_1 ), deduped_15_1 ) ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_14_1, ConvertMatrixToRow( deduped_17_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_25_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_19_1 * deduped_21_1), deduped_25_1 ), deduped_17_1 )), HomalgIdentityMatrix( deduped_16_1, deduped_25_1 ) ), deduped_15_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_25_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); + end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_25_1 ), deduped_17_1 )), HomalgIdentityMatrix( deduped_16_1, deduped_25_1 ) ), deduped_15_1 ) * KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_25_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); @@ -1998,10 +1944,10 @@ function ( cat_1, a_1, b_1, f_1 ) deduped_5_1 := deduped_6_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_7_1 ); morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_6_1, deduped_7_1 ), ConvertMatrixToRow( deduped_4_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_8_1 * deduped_6_1), deduped_7_1 ), deduped_4_1 ) * KroneckerMat( UnderlyingMatrix( f_1 ), deduped_4_1 ); + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); + end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( UnderlyingMatrix( f_1 ), deduped_4_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -2056,11 +2002,11 @@ function ( cat_1, b_1, c_1, g_1 ) deduped_6_1 := Dimension( b_1 ); deduped_5_1 := deduped_6_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_6_1, deduped_7_1 ); - morphism_attr_1_1 := KroneckerMat( UnderlyingMatrix( g_1 ), deduped_4_1 ) * (KroneckerMat( HomalgIdentityMatrix( deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_8_1, deduped_7_1 ), ConvertMatrixToColumn( deduped_4_1 ) )); + morphism_attr_1_1 := KroneckerMat( UnderlyingMatrix( g_1 ), deduped_4_1 ) * (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); + end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_8_1, deduped_7_1 ), ConvertMatrixToColumn( deduped_4_1 ) )); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -2816,23 +2762,7 @@ end ######## function ( cat_1, a_1 ) - local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1; - deduped_8_1 := 1 * 1; - deduped_7_1 := Dimension( a_1 ); - deduped_6_1 := UnderlyingRing( cat_1 ); - deduped_5_1 := deduped_7_1 * 1; - deduped_4_1 := HomalgIdentityMatrix( deduped_7_1, deduped_6_1 ); - deduped_3_1 := HomalgIdentityMatrix( 1, deduped_6_1 ); - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_3_1 ), deduped_4_1 ) * (KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_7_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_6_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * 1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_6_1 ), deduped_4_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_3_1 ), deduped_4_1 )); - return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); + return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, a_1, UnderlyingMatrix, HomalgIdentityMatrix( Dimension( a_1 ), UnderlyingRing( cat_1 ) ) ); end ######## @@ -2843,23 +2773,7 @@ end ######## function ( cat_1, a_1, s_1 ) - local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1; - deduped_8_1 := 1 * 1; - deduped_7_1 := Dimension( a_1 ); - deduped_6_1 := UnderlyingRing( cat_1 ); - deduped_5_1 := deduped_7_1 * 1; - deduped_4_1 := HomalgIdentityMatrix( deduped_7_1, deduped_6_1 ); - deduped_3_1 := HomalgIdentityMatrix( 1, deduped_6_1 ); - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_3_1 ), deduped_4_1 ) * (KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_7_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_6_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * 1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_6_1 ), deduped_4_1 ) * KroneckerMat( ConvertMatrixToColumn( deduped_3_1 ), deduped_4_1 )); - return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); + return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, a_1, UnderlyingMatrix, HomalgIdentityMatrix( Dimension( a_1 ), UnderlyingRing( cat_1 ) ) ); end ######## @@ -2894,17 +2808,7 @@ end ######## function ( cat_1, a_1 ) - local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; - deduped_6_1 := UnderlyingRing( cat_1 ); - deduped_5_1 := Dimension( a_1 ); - deduped_4_1 := HomalgIdentityMatrix( 1, deduped_6_1 ); - deduped_3_1 := 1 * deduped_5_1; - morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_3_1, deduped_6_1 ), deduped_4_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_3_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_5_1 ) * 1 + QUO_INT( deduped_1_2, deduped_5_1 ) + 1); - end ) ), deduped_3_1 ), deduped_3_1, deduped_3_1, deduped_6_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ), ConvertMatrixToColumn( deduped_4_1 ) ); - return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); + return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, a_1, UnderlyingMatrix, HomalgIdentityMatrix( Dimension( a_1 ), UnderlyingRing( cat_1 ) ) ); end ######## @@ -2915,17 +2819,7 @@ end ######## function ( cat_1, a_1, s_1 ) - local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; - deduped_6_1 := UnderlyingRing( cat_1 ); - deduped_5_1 := Dimension( a_1 ); - deduped_4_1 := HomalgIdentityMatrix( 1, deduped_6_1 ); - deduped_3_1 := 1 * deduped_5_1; - morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_3_1, deduped_6_1 ), deduped_4_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_3_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_5_1 ) * 1 + QUO_INT( deduped_1_2, deduped_5_1 ) + 1); - end ) ), deduped_3_1 ), deduped_3_1, deduped_3_1, deduped_6_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ), ConvertMatrixToColumn( deduped_4_1 ) ); - return CreateCapCategoryMorphismWithAttributes( cat_1, s_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); + return CreateCapCategoryMorphismWithAttributes( cat_1, s_1, a_1, UnderlyingMatrix, HomalgIdentityMatrix( Dimension( a_1 ), UnderlyingRing( cat_1 ) ) ); end ######## @@ -2994,17 +2888,7 @@ end ######## function ( cat_1, a_1 ) - local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; - deduped_6_1 := UnderlyingRing( cat_1 ); - deduped_5_1 := Dimension( a_1 ); - deduped_4_1 := deduped_5_1 * 1; - deduped_3_1 := HomalgIdentityMatrix( 1, deduped_6_1 ); - morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ), ConvertMatrixToRow( deduped_3_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_5_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_6_1 ), deduped_3_1 ) * KroneckerMat( HomalgIdentityMatrix( (1 * deduped_5_1), deduped_6_1 ), deduped_3_1 ); - return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), a_1, UnderlyingMatrix, morphism_attr_1_1 ); + return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, a_1, UnderlyingMatrix, HomalgIdentityMatrix( Dimension( a_1 ), UnderlyingRing( cat_1 ) ) ); end ######## @@ -3015,17 +2899,7 @@ end ######## function ( cat_1, a_1, r_1 ) - local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; - deduped_6_1 := UnderlyingRing( cat_1 ); - deduped_5_1 := Dimension( a_1 ); - deduped_4_1 := deduped_5_1 * 1; - deduped_3_1 := HomalgIdentityMatrix( 1, deduped_6_1 ); - morphism_attr_1_1 := KroneckerMat( HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ), ConvertMatrixToRow( deduped_3_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_5_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_6_1 ), deduped_3_1 ) * KroneckerMat( HomalgIdentityMatrix( (1 * deduped_5_1), deduped_6_1 ), deduped_3_1 ); - return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), r_1, UnderlyingMatrix, morphism_attr_1_1 ); + return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, r_1, UnderlyingMatrix, HomalgIdentityMatrix( Dimension( a_1 ), UnderlyingRing( cat_1 ) ) ); end ######## @@ -3036,23 +2910,7 @@ end ######## function ( cat_1, a_1 ) - local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1; - deduped_8_1 := 1 * 1; - deduped_7_1 := Dimension( a_1 ); - deduped_6_1 := UnderlyingRing( cat_1 ); - deduped_5_1 := 1 * deduped_7_1; - deduped_4_1 := HomalgIdentityMatrix( deduped_7_1, deduped_6_1 ); - deduped_3_1 := HomalgIdentityMatrix( 1, deduped_6_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_3_1 ), deduped_4_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * 1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_6_1 ), deduped_4_1 ) * KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_7_1 ) * 1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_6_1 ) ) * KroneckerMat( TransposedMatrix( deduped_3_1 ), deduped_4_1 ); - return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); + return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, a_1, UnderlyingMatrix, HomalgIdentityMatrix( Dimension( a_1 ), UnderlyingRing( cat_1 ) ) ); end ######## @@ -3063,23 +2921,7 @@ end ######## function ( cat_1, a_1, r_1 ) - local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1; - deduped_8_1 := 1 * 1; - deduped_7_1 := Dimension( a_1 ); - deduped_6_1 := UnderlyingRing( cat_1 ); - deduped_5_1 := 1 * deduped_7_1; - deduped_4_1 := HomalgIdentityMatrix( deduped_7_1, deduped_6_1 ); - deduped_3_1 := HomalgIdentityMatrix( 1, deduped_6_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_3_1 ), deduped_4_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * 1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_6_1 ), deduped_4_1 ) * KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_7_1 ) * 1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_6_1 ) ) * KroneckerMat( TransposedMatrix( deduped_3_1 ), deduped_4_1 ); - return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); + return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, a_1, UnderlyingMatrix, HomalgIdentityMatrix( Dimension( a_1 ), UnderlyingRing( cat_1 ) ) ); end ######## @@ -3311,11 +3153,11 @@ function ( cat_1, a_1, b_1, alpha_1 ) deduped_6_1 := Dimension( a_1 ); deduped_5_1 := deduped_6_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_6_1, deduped_7_1 ); - morphism_attr_1_1 := KroneckerMat( UnderlyingMatrix( alpha_1 ), deduped_4_1 ) * (KroneckerMat( HomalgIdentityMatrix( deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_8_1, deduped_7_1 ), ConvertMatrixToColumn( deduped_4_1 ) )); + morphism_attr_1_1 := KroneckerMat( UnderlyingMatrix( alpha_1 ), deduped_4_1 ) * (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); + end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_7_1 ), deduped_4_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_8_1, deduped_7_1 ), ConvertMatrixToColumn( deduped_4_1 ) )); return CreateCapCategoryMorphismWithAttributes( cat_1, a_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -3327,22 +3169,16 @@ end ######## function ( cat_1, alpha_1 ) - local morphism_attr_1_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 := HomalgIdentityMatrix( 1, deduped_8_1 ); - deduped_6_1 := Dimension( Source( alpha_1 ) ); - deduped_5_1 := deduped_6_1 * 1; - deduped_4_1 := deduped_6_1 * deduped_6_1; - deduped_3_1 := HomalgIdentityMatrix( deduped_6_1, deduped_8_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_3_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_6_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_6_1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ), deduped_7_1 ) * KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_6_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_8_1 ) ) * KroneckerMat( TransposedMatrix( deduped_3_1 ), UnderlyingMatrix( alpha_1 ) ); + local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; + deduped_6_1 := UnderlyingRing( cat_1 ); + deduped_5_1 := Dimension( Source( alpha_1 ) ); + deduped_4_1 := deduped_5_1 * deduped_5_1; + deduped_3_1 := HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ); + morphism_attr_1_1 := ConvertMatrixToRow( deduped_3_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_5_1 ) * deduped_5_1 + QUO_INT( deduped_1_2, deduped_5_1 ) + 1); + end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_6_1 ) * KroneckerMat( deduped_3_1, UnderlyingMatrix( alpha_1 ) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -3576,15 +3412,15 @@ function ( cat_1, a_1, b_1, c_1 ) deduped_8_1 := deduped_11_1 * deduped_12_1; deduped_7_1 := HomalgIdentityMatrix( deduped_8_1, deduped_15_1 ); deduped_6_1 := deduped_8_1 * deduped_14_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_9_1 ), KroneckerMat( HomalgIdentityMatrix( deduped_16_1, deduped_15_1 ), ConvertMatrixToRow( deduped_10_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_9_1, KroneckerMat( HomalgIdentityMatrix( deduped_16_1, deduped_15_1 ), ConvertMatrixToRow( deduped_10_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_15_1 ), deduped_10_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_11_1, deduped_15_1 ), (KroneckerMat( deduped_10_1, ConvertMatrixToRow( deduped_9_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_15_1 ), deduped_10_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_17_1 * deduped_16_1), deduped_15_1 ), deduped_10_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_11_1, deduped_15_1 ), (KroneckerMat( deduped_10_1, ConvertMatrixToRow( deduped_9_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_15_1 ), deduped_9_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_14_1 * deduped_17_1), deduped_15_1 ), deduped_9_1 )) ) ) * (KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_6_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_15_1 ), deduped_9_1 )) ) ) * (KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_6_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); @@ -3617,15 +3453,15 @@ function ( cat_1, s_1, a_1, b_1, c_1, r_1 ) deduped_8_1 := deduped_15_1 * deduped_16_1; deduped_7_1 := HomalgIdentityMatrix( deduped_16_1, deduped_14_1 ); deduped_6_1 := HomalgIdentityMatrix( deduped_13_1, deduped_14_1 ); - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_6_1 ), KroneckerMat( HomalgIdentityMatrix( deduped_15_1, deduped_14_1 ), ConvertMatrixToRow( deduped_7_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_6_1, KroneckerMat( HomalgIdentityMatrix( deduped_15_1, deduped_14_1 ), ConvertMatrixToRow( deduped_7_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_14_1 ), deduped_7_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_8_1, deduped_14_1 ), (KroneckerMat( deduped_7_1, ConvertMatrixToRow( deduped_6_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_14_1 ), deduped_7_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_16_1 * deduped_15_1), deduped_14_1 ), deduped_7_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_8_1, deduped_14_1 ), (KroneckerMat( deduped_7_1, ConvertMatrixToRow( deduped_6_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); - end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_14_1 ), deduped_6_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_13_1 * deduped_16_1), deduped_14_1 ), deduped_6_1 )) ) ) * (KroneckerMat( deduped_6_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); + end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_14_1 ), deduped_6_1 )) ) ) * (KroneckerMat( deduped_6_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); @@ -3645,37 +3481,36 @@ end ######## function ( cat_1, a_1, b_1, c_1 ) - local morphism_attr_1_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1; - deduped_18_1 := Dimension( c_1 ); - deduped_17_1 := Dimension( b_1 ); - deduped_16_1 := UnderlyingRing( cat_1 ); - deduped_15_1 := Dimension( a_1 ); - deduped_14_1 := HomalgIdentityMatrix( deduped_17_1, deduped_16_1 ); - deduped_13_1 := deduped_15_1 * deduped_15_1; - deduped_12_1 := deduped_15_1 * deduped_17_1; - deduped_11_1 := deduped_17_1 * deduped_18_1; - deduped_10_1 := HomalgIdentityMatrix( deduped_15_1, deduped_16_1 ); - deduped_9_1 := HomalgIdentityMatrix( deduped_11_1, deduped_16_1 ); - deduped_8_1 := deduped_11_1 * deduped_12_1; - deduped_7_1 := deduped_15_1 * deduped_8_1; - deduped_6_1 := HomalgIdentityMatrix( deduped_8_1, deduped_16_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_10_1 ), deduped_6_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1; + deduped_17_1 := Dimension( c_1 ); + deduped_16_1 := Dimension( b_1 ); + deduped_15_1 := UnderlyingRing( cat_1 ); + deduped_14_1 := Dimension( a_1 ); + deduped_13_1 := HomalgIdentityMatrix( deduped_16_1, deduped_15_1 ); + deduped_12_1 := deduped_14_1 * deduped_14_1; + deduped_11_1 := deduped_14_1 * deduped_16_1; + deduped_10_1 := deduped_16_1 * deduped_17_1; + deduped_9_1 := HomalgIdentityMatrix( deduped_14_1, deduped_15_1 ); + deduped_8_1 := deduped_10_1 * deduped_11_1; + deduped_7_1 := deduped_14_1 * deduped_8_1; + deduped_6_1 := HomalgIdentityMatrix( deduped_8_1, deduped_15_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_9_1 ), deduped_6_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_15_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_15_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_16_1 ), deduped_6_1 ) * KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_15_1 ), deduped_6_1 ) * KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); - end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_16_1 ) ) * KroneckerMat( TransposedMatrix( deduped_10_1 ), (KroneckerMat( deduped_9_1, KroneckerMat( HomalgIdentityMatrix( deduped_12_1, deduped_16_1 ), deduped_10_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_16_1 ), deduped_10_1 ) * KroneckerMat( deduped_14_1, ConvertMatrixToColumn( deduped_10_1 ) ) ) * (KroneckerMat( deduped_9_1, deduped_14_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_15_1 ) ) * KroneckerMat( deduped_9_1, (KroneckerMat( HomalgIdentityMatrix( deduped_10_1, deduped_15_1 ), KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_16_1 ), deduped_14_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_16_1 ), ConvertMatrixToColumn( deduped_14_1 ) ))) ); + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_15_1 ), deduped_9_1 ) * KroneckerMat( deduped_13_1, ConvertMatrixToColumn( deduped_9_1 ) ) ) * (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_15_1 ), deduped_13_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_17_1, deduped_15_1 ), ConvertMatrixToColumn( deduped_13_1 ) ))) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -3687,37 +3522,36 @@ end ######## function ( cat_1, s_1, a_1, b_1, c_1, r_1 ) - local morphism_attr_1_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1; - deduped_18_1 := Dimension( c_1 ); - deduped_17_1 := Dimension( b_1 ); - deduped_16_1 := Dimension( s_1 ); - deduped_15_1 := UnderlyingRing( cat_1 ); - deduped_14_1 := Dimension( a_1 ); - deduped_13_1 := HomalgIdentityMatrix( deduped_17_1, deduped_15_1 ); - deduped_12_1 := deduped_14_1 * deduped_17_1; - deduped_11_1 := deduped_17_1 * deduped_18_1; - deduped_10_1 := deduped_14_1 * deduped_16_1; - deduped_9_1 := deduped_14_1 * deduped_14_1; - deduped_8_1 := HomalgIdentityMatrix( deduped_16_1, deduped_15_1 ); - deduped_7_1 := HomalgIdentityMatrix( deduped_14_1, deduped_15_1 ); - deduped_6_1 := HomalgIdentityMatrix( deduped_11_1, deduped_15_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_7_1 ), deduped_8_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1; + deduped_17_1 := Dimension( c_1 ); + deduped_16_1 := Dimension( b_1 ); + deduped_15_1 := Dimension( s_1 ); + deduped_14_1 := UnderlyingRing( cat_1 ); + deduped_13_1 := Dimension( a_1 ); + deduped_12_1 := HomalgIdentityMatrix( deduped_16_1, deduped_14_1 ); + deduped_11_1 := deduped_13_1 * deduped_16_1; + deduped_10_1 := deduped_16_1 * deduped_17_1; + deduped_9_1 := deduped_13_1 * deduped_15_1; + deduped_8_1 := deduped_13_1 * deduped_13_1; + deduped_7_1 := HomalgIdentityMatrix( deduped_15_1, deduped_14_1 ); + deduped_6_1 := HomalgIdentityMatrix( deduped_13_1, deduped_14_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_6_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); - end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_15_1 ), deduped_8_1 ) * KroneckerMat( deduped_7_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_14_1 ), deduped_7_1 ) * KroneckerMat( deduped_6_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_15_1 ) ) * KroneckerMat( TransposedMatrix( deduped_7_1 ), (KroneckerMat( deduped_6_1, KroneckerMat( HomalgIdentityMatrix( deduped_12_1, deduped_15_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_15_1 ), deduped_7_1 ) * KroneckerMat( deduped_13_1, ConvertMatrixToColumn( deduped_7_1 ) ) ) * (KroneckerMat( deduped_6_1, deduped_13_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_15_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_15_1 ) + 1); + end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_14_1 ) ) * KroneckerMat( deduped_6_1, (KroneckerMat( HomalgIdentityMatrix( deduped_10_1, deduped_14_1 ), KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_15_1 ), deduped_13_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_15_1 ), ConvertMatrixToColumn( deduped_13_1 ) ))) ); + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_14_1 ), deduped_6_1 ) * KroneckerMat( deduped_12_1, ConvertMatrixToColumn( deduped_6_1 ) ) ) * (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_14_1 ), deduped_12_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_17_1, deduped_14_1 ), ConvertMatrixToColumn( deduped_12_1 ) ))) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -3744,19 +3578,19 @@ function ( cat_1, a_1, b_1, c_1 ) deduped_9_1 := deduped_14_1 * deduped_20_1; deduped_8_1 := HomalgIdentityMatrix( deduped_11_1, deduped_18_1 ); deduped_7_1 := deduped_11_1 * deduped_17_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_12_1 ), KroneckerMat( HomalgIdentityMatrix( deduped_19_1, deduped_18_1 ), ConvertMatrixToRow( deduped_13_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); - end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_18_1 ), deduped_13_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_20_1 * deduped_19_1), deduped_18_1 ), deduped_13_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_12_1, KroneckerMat( HomalgIdentityMatrix( deduped_19_1, deduped_18_1 ), ConvertMatrixToRow( deduped_13_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_18_1 ), deduped_13_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_9_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); end ) ), deduped_9_1 ), deduped_9_1, deduped_9_1, deduped_18_1 ) * KroneckerMat( (KroneckerMat( deduped_13_1, ConvertMatrixToRow( deduped_12_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_18_1 ), deduped_12_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_17_1 * deduped_20_1), deduped_18_1 ), deduped_12_1 )), HomalgIdentityMatrix( deduped_14_1, deduped_18_1 ) ) * KroneckerMat( HomalgIdentityMatrix( deduped_15_1, deduped_18_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); + end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_18_1 ), deduped_12_1 )), HomalgIdentityMatrix( deduped_14_1, deduped_18_1 ) ) * KroneckerMat( HomalgIdentityMatrix( deduped_15_1, deduped_18_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); @@ -3795,19 +3629,19 @@ function ( cat_1, s_1, a_1, b_1, c_1, r_1 ) deduped_9_1 := HomalgIdentityMatrix( deduped_16_1, deduped_17_1 ); deduped_8_1 := deduped_16_1 * deduped_11_1; deduped_7_1 := deduped_11_1 * deduped_19_1; - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_9_1 ), KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_17_1 ), ConvertMatrixToRow( deduped_10_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_17_1 ), deduped_10_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_19_1 * deduped_18_1), deduped_17_1 ), deduped_10_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_9_1, KroneckerMat( HomalgIdentityMatrix( deduped_18_1, deduped_17_1 ), ConvertMatrixToRow( deduped_10_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_17_1 ), deduped_10_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_11_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_17_1 ) * KroneckerMat( (KroneckerMat( deduped_10_1, ConvertMatrixToRow( deduped_9_1 ) ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_17_1 ), deduped_9_1 ) * KroneckerMat( HomalgIdentityMatrix( (deduped_16_1 * deduped_19_1), deduped_17_1 ), deduped_9_1 )), HomalgIdentityMatrix( deduped_11_1, deduped_17_1 ) ) * KroneckerMat( HomalgIdentityMatrix( deduped_12_1, deduped_17_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_17_1 ), deduped_9_1 )), HomalgIdentityMatrix( deduped_11_1, deduped_17_1 ) ) * KroneckerMat( HomalgIdentityMatrix( deduped_12_1, deduped_17_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_11_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_11_1 ) + 1); @@ -3831,48 +3665,46 @@ end ######## function ( cat_1, a_1, b_1, c_1 ) - local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1; - deduped_22_1 := Dimension( c_1 ); - deduped_21_1 := Dimension( b_1 ); - deduped_20_1 := UnderlyingRing( cat_1 ); - deduped_19_1 := Dimension( a_1 ); - deduped_18_1 := HomalgIdentityMatrix( deduped_21_1, deduped_20_1 ); - deduped_17_1 := deduped_19_1 * deduped_19_1; - deduped_16_1 := deduped_21_1 * deduped_22_1; - deduped_15_1 := deduped_19_1 * deduped_21_1; - deduped_14_1 := HomalgIdentityMatrix( deduped_19_1, deduped_20_1 ); - deduped_13_1 := deduped_21_1 * deduped_16_1; - deduped_12_1 := HomalgIdentityMatrix( deduped_16_1, deduped_20_1 ); - deduped_11_1 := deduped_16_1 * deduped_19_1; - deduped_10_1 := HomalgIdentityMatrix( deduped_15_1, deduped_20_1 ); - deduped_9_1 := deduped_15_1 * deduped_16_1; - deduped_8_1 := deduped_19_1 * deduped_9_1; - deduped_7_1 := HomalgIdentityMatrix( deduped_9_1, deduped_20_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_14_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1; + deduped_20_1 := Dimension( c_1 ); + deduped_19_1 := Dimension( b_1 ); + deduped_18_1 := UnderlyingRing( cat_1 ); + deduped_17_1 := Dimension( a_1 ); + deduped_16_1 := HomalgIdentityMatrix( deduped_19_1, deduped_18_1 ); + deduped_15_1 := deduped_17_1 * deduped_17_1; + deduped_14_1 := deduped_19_1 * deduped_20_1; + deduped_13_1 := deduped_17_1 * deduped_19_1; + deduped_12_1 := HomalgIdentityMatrix( deduped_17_1, deduped_18_1 ); + deduped_11_1 := deduped_19_1 * deduped_14_1; + deduped_10_1 := deduped_14_1 * deduped_17_1; + deduped_9_1 := deduped_13_1 * deduped_14_1; + deduped_8_1 := deduped_17_1 * deduped_9_1; + deduped_7_1 := HomalgIdentityMatrix( deduped_9_1, deduped_18_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_12_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_20_1 ), deduped_7_1 ) * KroneckerMat( deduped_14_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); + end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_18_1 ), deduped_7_1 ) * KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_9_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_9_1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_20_1 ) ) * KroneckerMat( TransposedMatrix( deduped_14_1 ), (KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_9_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_9_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_18_1 ) ) * KroneckerMat( deduped_12_1, (KroneckerMat( HomalgIdentityMatrix( deduped_13_1, deduped_18_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_20_1 ) ) * KroneckerMat( (KroneckerMat( deduped_10_1, deduped_14_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_20_1 ), deduped_14_1 ) * KroneckerMat( deduped_18_1, ConvertMatrixToColumn( deduped_14_1 ) )), deduped_12_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_18_1 ) ) * KroneckerMat( (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_18_1 ), deduped_12_1 ) * KroneckerMat( deduped_16_1, ConvertMatrixToColumn( deduped_12_1 ) )), HomalgIdentityMatrix( deduped_14_1, deduped_18_1 ) ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_20_1 ) * (KroneckerMat( deduped_12_1, deduped_18_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); - end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_20_1 ), deduped_18_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_22_1, deduped_20_1 ), ConvertMatrixToColumn( deduped_18_1 ) ))) ); + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_18_1 ) * (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_18_1 ), deduped_16_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_20_1, deduped_18_1 ), ConvertMatrixToColumn( deduped_16_1 ) ))) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -3884,48 +3716,46 @@ end ######## function ( cat_1, s_1, a_1, b_1, c_1, r_1 ) - local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1; - deduped_22_1 := Dimension( c_1 ); - deduped_21_1 := Dimension( b_1 ); - deduped_20_1 := Dimension( s_1 ); - deduped_19_1 := UnderlyingRing( cat_1 ); - deduped_18_1 := Dimension( a_1 ); - deduped_17_1 := HomalgIdentityMatrix( deduped_21_1, deduped_19_1 ); - deduped_16_1 := deduped_21_1 * deduped_22_1; - deduped_15_1 := deduped_18_1 * deduped_21_1; - deduped_14_1 := deduped_18_1 * deduped_20_1; - deduped_13_1 := deduped_18_1 * deduped_18_1; - deduped_12_1 := HomalgIdentityMatrix( deduped_20_1, deduped_19_1 ); - deduped_11_1 := HomalgIdentityMatrix( deduped_18_1, deduped_19_1 ); - deduped_10_1 := deduped_21_1 * deduped_16_1; - deduped_9_1 := HomalgIdentityMatrix( deduped_16_1, deduped_19_1 ); - deduped_8_1 := deduped_16_1 * deduped_18_1; - deduped_7_1 := HomalgIdentityMatrix( deduped_15_1, deduped_19_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_11_1 ), deduped_12_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1; + deduped_20_1 := Dimension( c_1 ); + deduped_19_1 := Dimension( b_1 ); + deduped_18_1 := Dimension( s_1 ); + deduped_17_1 := UnderlyingRing( cat_1 ); + deduped_16_1 := Dimension( a_1 ); + deduped_15_1 := HomalgIdentityMatrix( deduped_19_1, deduped_17_1 ); + deduped_14_1 := deduped_19_1 * deduped_20_1; + deduped_13_1 := deduped_16_1 * deduped_19_1; + deduped_12_1 := deduped_16_1 * deduped_18_1; + deduped_11_1 := deduped_16_1 * deduped_16_1; + deduped_10_1 := HomalgIdentityMatrix( deduped_18_1, deduped_17_1 ); + deduped_9_1 := HomalgIdentityMatrix( deduped_16_1, deduped_17_1 ); + deduped_8_1 := deduped_19_1 * deduped_14_1; + deduped_7_1 := deduped_14_1 * deduped_16_1; + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_9_1 ), deduped_10_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_19_1 ), deduped_12_1 ) * KroneckerMat( deduped_11_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_17_1 ), deduped_10_1 ) * KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); - end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_19_1 ) ) * KroneckerMat( TransposedMatrix( deduped_11_1 ), (KroneckerMat( deduped_7_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_17_1 ) ) * KroneckerMat( deduped_9_1, (KroneckerMat( HomalgIdentityMatrix( deduped_13_1, deduped_17_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_19_1 ) ) * KroneckerMat( (KroneckerMat( deduped_7_1, deduped_11_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_19_1 ), deduped_11_1 ) * KroneckerMat( deduped_17_1, ConvertMatrixToColumn( deduped_11_1 ) )), deduped_9_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_17_1 ) ) * KroneckerMat( (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_17_1 ), deduped_9_1 ) * KroneckerMat( deduped_15_1, ConvertMatrixToColumn( deduped_9_1 ) )), HomalgIdentityMatrix( deduped_14_1, deduped_17_1 ) ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_19_1 ) * (KroneckerMat( deduped_9_1, deduped_17_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); - end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_19_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_22_1, deduped_19_1 ), ConvertMatrixToColumn( deduped_17_1 ) ))) ); + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_17_1 ) * (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_17_1 ), deduped_15_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_20_1, deduped_17_1 ), ConvertMatrixToColumn( deduped_15_1 ) ))) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -4109,21 +3939,20 @@ end ######## function ( cat_1, morphisms_1 ) - local deduped_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 := List( morphisms_1, UnderlyingMatrix ); - deduped_11_1 := Length( morphisms_1 ); - deduped_10_1 := UnderlyingRing( cat_1 ); - deduped_9_1 := List( morphisms_1, function ( logic_new_func_x_2 ) + local deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1; + deduped_11_1 := List( morphisms_1, UnderlyingMatrix ); + deduped_10_1 := Length( morphisms_1 ); + deduped_9_1 := UnderlyingRing( cat_1 ); + deduped_8_1 := List( morphisms_1, function ( logic_new_func_x_2 ) return Dimension( Source( logic_new_func_x_2 ) ); end ); - deduped_8_1 := Sum( deduped_9_1 ); - deduped_7_1 := Sum( deduped_9_1{[ 1 .. 1 - 1 ]} ) + 1; - deduped_6_1 := List( [ 1 .. deduped_11_1 ], function ( i_2 ) + deduped_7_1 := Sum( deduped_8_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 UnionOfRows( HomalgZeroMatrix( Sum( deduped_9_1{[ 1 .. (i_2 - 1) ]} ), deduped_1_2, deduped_10_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_10_1 ), HomalgZeroMatrix( Sum( deduped_9_1{[ (i_2 + 1) .. deduped_11_1 ]} ), deduped_1_2, deduped_10_1 ) ) * deduped_12_1[i_2]; + deduped_1_2 := deduped_8_1[i_2]; + return UnionOfRows( 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 ) ) * deduped_11_1[i_2]; end ); - deduped_5_1 := CertainColumns( SyzygiesOfRows( (UnionOfColumns( deduped_10_1, deduped_8_1, deduped_6_1{[ 1 .. deduped_11_1 - 1 ]} ) - UnionOfColumns( deduped_10_1, deduped_8_1, deduped_6_1{[ 2 .. deduped_11_1 ]} )) ), [ deduped_7_1 .. (deduped_7_1 - 1 + deduped_9_1[1]) ] ) * deduped_12_1[1]; + deduped_5_1 := CertainColumns( SyzygiesOfRows( (UnionOfColumns( deduped_9_1, deduped_7_1, deduped_6_1{[ 1 .. deduped_10_1 - 1 ]} ) - UnionOfColumns( deduped_9_1, deduped_7_1, deduped_6_1{[ 2 .. deduped_10_1 ]} )) ), [ 1 .. deduped_8_1[1] ] ) * deduped_11_1[1]; return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( deduped_5_1 ) ), CAP_JIT_INCOMPLETE_LOGIC( Range( CAP_JIT_INCOMPLETE_LOGIC( morphisms_1[1] ) ) ), UnderlyingMatrix, deduped_5_1 ); end ######## @@ -4135,21 +3964,20 @@ end ######## function ( cat_1, morphisms_1, P_1 ) - local deduped_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 := List( morphisms_1, UnderlyingMatrix ); - deduped_11_1 := Length( morphisms_1 ); - deduped_10_1 := UnderlyingRing( cat_1 ); - deduped_9_1 := List( morphisms_1, function ( logic_new_func_x_2 ) + local deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1; + deduped_11_1 := List( morphisms_1, UnderlyingMatrix ); + deduped_10_1 := Length( morphisms_1 ); + deduped_9_1 := UnderlyingRing( cat_1 ); + deduped_8_1 := List( morphisms_1, function ( logic_new_func_x_2 ) return Dimension( Source( logic_new_func_x_2 ) ); end ); - deduped_8_1 := Sum( deduped_9_1 ); - deduped_7_1 := Sum( deduped_9_1{[ 1 .. 1 - 1 ]} ) + 1; - deduped_6_1 := List( [ 1 .. deduped_11_1 ], function ( i_2 ) + deduped_7_1 := Sum( deduped_8_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 UnionOfRows( HomalgZeroMatrix( Sum( deduped_9_1{[ 1 .. (i_2 - 1) ]} ), deduped_1_2, deduped_10_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_10_1 ), HomalgZeroMatrix( Sum( deduped_9_1{[ (i_2 + 1) .. deduped_11_1 ]} ), deduped_1_2, deduped_10_1 ) ) * deduped_12_1[i_2]; + deduped_1_2 := deduped_8_1[i_2]; + return UnionOfRows( 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 ) ) * deduped_11_1[i_2]; end ); - deduped_5_1 := CertainColumns( SyzygiesOfRows( (UnionOfColumns( deduped_10_1, deduped_8_1, deduped_6_1{[ 1 .. deduped_11_1 - 1 ]} ) - UnionOfColumns( deduped_10_1, deduped_8_1, deduped_6_1{[ 2 .. deduped_11_1 ]} )) ), [ deduped_7_1 .. (deduped_7_1 - 1 + deduped_9_1[1]) ] ) * deduped_12_1[1]; + deduped_5_1 := CertainColumns( SyzygiesOfRows( (UnionOfColumns( deduped_9_1, deduped_7_1, deduped_6_1{[ 1 .. deduped_10_1 - 1 ]} ) - UnionOfColumns( deduped_9_1, deduped_7_1, deduped_6_1{[ 2 .. deduped_10_1 ]} )) ), [ 1 .. deduped_8_1[1] ] ) * deduped_11_1[1]; return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( deduped_5_1 ) ), CAP_JIT_INCOMPLETE_LOGIC( Range( CAP_JIT_INCOMPLETE_LOGIC( morphisms_1[1] ) ) ), UnderlyingMatrix, deduped_5_1 ); end ######## @@ -4303,21 +4131,20 @@ end ######## function ( cat_1, morphisms_1 ) - local deduped_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( morphisms_1 ); - deduped_11_1 := UnderlyingRing( cat_1 ); - deduped_10_1 := List( morphisms_1, UnderlyingMatrix ); - deduped_9_1 := List( morphisms_1, function ( logic_new_func_x_2 ) + local deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1; + deduped_11_1 := Length( morphisms_1 ); + deduped_10_1 := UnderlyingRing( cat_1 ); + deduped_9_1 := List( morphisms_1, UnderlyingMatrix ); + deduped_8_1 := List( morphisms_1, function ( logic_new_func_x_2 ) return Dimension( Range( logic_new_func_x_2 ) ); end ); - deduped_8_1 := Sum( deduped_9_1 ); - deduped_7_1 := Sum( deduped_9_1{[ 1 .. 1 - 1 ]} ) + 1; - deduped_6_1 := List( [ 1 .. deduped_12_1 ], function ( i_2 ) + deduped_7_1 := Sum( deduped_8_1 ); + deduped_6_1 := List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; - deduped_1_2 := deduped_9_1[i_2]; - return deduped_10_1[i_2] * UnionOfColumns( 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 ) ); + deduped_1_2 := deduped_8_1[i_2]; + return deduped_9_1[i_2] * UnionOfColumns( HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[ 1 .. (i_2 - 1) ]} ), deduped_10_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_10_1 ), HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[ (i_2 + 1) .. deduped_11_1 ]} ), deduped_10_1 ) ); end ); - deduped_5_1 := deduped_10_1[1] * CertainRows( SyzygiesOfColumns( (UnionOfRows( deduped_11_1, deduped_8_1, deduped_6_1{[ 1 .. deduped_12_1 - 1 ]} ) - UnionOfRows( deduped_11_1, deduped_8_1, deduped_6_1{[ 2 .. deduped_12_1 ]} )) ), [ deduped_7_1 .. (deduped_7_1 - 1 + deduped_9_1[1]) ] ); + deduped_5_1 := deduped_9_1[1] * CertainRows( SyzygiesOfColumns( (UnionOfRows( deduped_10_1, deduped_7_1, deduped_6_1{[ 1 .. deduped_11_1 - 1 ]} ) - UnionOfRows( deduped_10_1, deduped_7_1, deduped_6_1{[ 2 .. deduped_11_1 ]} )) ), [ 1 .. deduped_8_1[1] ] ); return CreateCapCategoryMorphismWithAttributes( cat_1, CAP_JIT_INCOMPLETE_LOGIC( Source( CAP_JIT_INCOMPLETE_LOGIC( morphisms_1[1] ) ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( deduped_5_1 ) ), UnderlyingMatrix, deduped_5_1 ); end ######## @@ -4329,21 +4156,20 @@ end ######## function ( cat_1, morphisms_1, P_1 ) - local deduped_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( morphisms_1 ); - deduped_11_1 := UnderlyingRing( cat_1 ); - deduped_10_1 := List( morphisms_1, UnderlyingMatrix ); - deduped_9_1 := List( morphisms_1, function ( logic_new_func_x_2 ) + local deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1; + deduped_11_1 := Length( morphisms_1 ); + deduped_10_1 := UnderlyingRing( cat_1 ); + deduped_9_1 := List( morphisms_1, UnderlyingMatrix ); + deduped_8_1 := List( morphisms_1, function ( logic_new_func_x_2 ) return Dimension( Range( logic_new_func_x_2 ) ); end ); - deduped_8_1 := Sum( deduped_9_1 ); - deduped_7_1 := Sum( deduped_9_1{[ 1 .. 1 - 1 ]} ) + 1; - deduped_6_1 := List( [ 1 .. deduped_12_1 ], function ( i_2 ) + deduped_7_1 := Sum( deduped_8_1 ); + deduped_6_1 := List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; - deduped_1_2 := deduped_9_1[i_2]; - return deduped_10_1[i_2] * UnionOfColumns( 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 ) ); + deduped_1_2 := deduped_8_1[i_2]; + return deduped_9_1[i_2] * UnionOfColumns( HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[ 1 .. (i_2 - 1) ]} ), deduped_10_1 ), HomalgIdentityMatrix( deduped_1_2, deduped_10_1 ), HomalgZeroMatrix( deduped_1_2, Sum( deduped_8_1{[ (i_2 + 1) .. deduped_11_1 ]} ), deduped_10_1 ) ); end ); - deduped_5_1 := deduped_10_1[1] * CertainRows( SyzygiesOfColumns( (UnionOfRows( deduped_11_1, deduped_8_1, deduped_6_1{[ 1 .. deduped_12_1 - 1 ]} ) - UnionOfRows( deduped_11_1, deduped_8_1, deduped_6_1{[ 2 .. deduped_12_1 ]} )) ), [ deduped_7_1 .. (deduped_7_1 - 1 + deduped_9_1[1]) ] ); + deduped_5_1 := deduped_9_1[1] * CertainRows( SyzygiesOfColumns( (UnionOfRows( deduped_10_1, deduped_7_1, deduped_6_1{[ 1 .. deduped_11_1 - 1 ]} ) - UnionOfRows( deduped_10_1, deduped_7_1, deduped_6_1{[ 2 .. deduped_11_1 ]} )) ), [ 1 .. deduped_8_1[1] ] ); return CreateCapCategoryMorphismWithAttributes( cat_1, CAP_JIT_INCOMPLETE_LOGIC( Source( CAP_JIT_INCOMPLETE_LOGIC( morphisms_1[1] ) ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( deduped_5_1 ) ), UnderlyingMatrix, deduped_5_1 ); end ######## @@ -4826,22 +4652,16 @@ end ######## function ( cat_1, a_1 ) - local morphism_attr_1_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 := Dimension( a_1 ); - deduped_6_1 := deduped_7_1 * 1; - deduped_5_1 := deduped_7_1 * deduped_7_1; - deduped_4_1 := HomalgIdentityMatrix( 1, deduped_8_1 ); - deduped_3_1 := HomalgIdentityMatrix( deduped_7_1, deduped_8_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_3_1 ), deduped_4_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_7_1 ) * deduped_7_1 + QUO_INT( deduped_1_2, deduped_7_1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_8_1 ), deduped_4_1 ) * KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_6_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_7_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_6_1 ), deduped_6_1, deduped_6_1, deduped_8_1 ) ) * KroneckerMat( TransposedMatrix( deduped_3_1 ), deduped_3_1 ) * ConvertMatrixToColumn( deduped_3_1 ); + local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; + deduped_6_1 := UnderlyingRing( cat_1 ); + deduped_5_1 := Dimension( a_1 ); + deduped_4_1 := deduped_5_1 * deduped_5_1; + deduped_3_1 := HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ); + morphism_attr_1_1 := ConvertMatrixToRow( deduped_3_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_5_1 ) * deduped_5_1 + QUO_INT( deduped_1_2, deduped_5_1 ) + 1); + end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_6_1 ) * ConvertMatrixToColumn( deduped_3_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5273,45 +5093,26 @@ end ######## function ( cat_1, a_1, b_1 ) - local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1; - deduped_23_1 := Dimension( b_1 ); - deduped_22_1 := UnderlyingRing( cat_1 ); - deduped_21_1 := Dimension( a_1 ); - deduped_20_1 := HomalgIdentityMatrix( 1, deduped_22_1 ); - deduped_19_1 := deduped_23_1 * 1; - deduped_18_1 := deduped_21_1 * 1; - deduped_17_1 := deduped_21_1 * deduped_23_1; - deduped_16_1 := HomalgIdentityMatrix( deduped_23_1, deduped_22_1 ); - deduped_15_1 := HomalgIdentityMatrix( deduped_21_1, deduped_22_1 ); - deduped_14_1 := HomalgIdentityMatrix( deduped_19_1, deduped_22_1 ); - deduped_13_1 := deduped_19_1 * deduped_21_1; - deduped_12_1 := HomalgIdentityMatrix( deduped_18_1, deduped_22_1 ); - deduped_11_1 := deduped_17_1 * deduped_17_1; - deduped_10_1 := deduped_18_1 * deduped_19_1; - deduped_9_1 := HomalgIdentityMatrix( deduped_17_1, deduped_22_1 ); - deduped_8_1 := deduped_17_1 * deduped_10_1; - deduped_7_1 := HomalgIdentityMatrix( deduped_10_1, deduped_22_1 ); - morphism_attr_1_1 := KroneckerMat( deduped_15_1, deduped_16_1 ) * (KroneckerMat( ConvertMatrixToRow( deduped_9_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_22_1 ), deduped_7_1 ) * KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_10_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_10_1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_22_1 ) ) * KroneckerMat( TransposedMatrix( deduped_9_1 ), (KroneckerMat( KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_22_1 ) ), deduped_16_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_12_1, deduped_15_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_21_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_22_1 ), deduped_15_1 ) * KroneckerMat( deduped_20_1, ConvertMatrixToColumn( deduped_15_1 ) )), deduped_14_1 ), deduped_16_1 ) * KroneckerMat( deduped_20_1, (KroneckerMat( deduped_14_1, deduped_16_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_23_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_22_1 ), deduped_16_1 ) * KroneckerMat( deduped_20_1, ConvertMatrixToColumn( deduped_16_1 ) )) )) )); + local morphism_attr_1_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1; + deduped_14_1 := UnderlyingRing( cat_1 ); + deduped_13_1 := Dimension( b_1 ); + deduped_12_1 := Dimension( a_1 ); + deduped_11_1 := HomalgIdentityMatrix( deduped_13_1, deduped_14_1 ); + deduped_10_1 := deduped_13_1 * deduped_12_1; + deduped_9_1 := HomalgIdentityMatrix( deduped_12_1, deduped_14_1 ); + deduped_8_1 := deduped_12_1 * deduped_13_1; + deduped_7_1 := deduped_8_1 * deduped_8_1; + deduped_6_1 := HomalgIdentityMatrix( deduped_8_1, deduped_14_1 ); + deduped_5_1 := HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := i_2 - 1; + return REM_INT( deduped_1_2, deduped_8_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1; + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_14_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_6_1 ), deduped_6_1 ) * KroneckerMat( deduped_5_1, deduped_6_1 ) * KroneckerMat( deduped_6_1, deduped_5_1 ) * KroneckerMat( deduped_6_1, (KroneckerMat( KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_12_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_12_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_14_1 ) ), deduped_11_1 ) * KroneckerMat( KroneckerMat( ConvertMatrixToColumn( deduped_9_1 ), deduped_11_1 ), deduped_11_1 ) * ConvertMatrixToColumn( deduped_11_1 )) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5323,45 +5124,26 @@ end ######## function ( cat_1, s_1, a_1, b_1, r_1 ) - local morphism_attr_1_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1; - deduped_23_1 := Dimension( b_1 ); - deduped_22_1 := UnderlyingRing( cat_1 ); - deduped_21_1 := Dimension( a_1 ); - deduped_20_1 := HomalgIdentityMatrix( 1, deduped_22_1 ); - deduped_19_1 := deduped_23_1 * 1; - deduped_18_1 := deduped_21_1 * 1; - deduped_17_1 := deduped_21_1 * deduped_23_1; - deduped_16_1 := HomalgIdentityMatrix( deduped_23_1, deduped_22_1 ); - deduped_15_1 := HomalgIdentityMatrix( deduped_21_1, deduped_22_1 ); - deduped_14_1 := HomalgIdentityMatrix( deduped_19_1, deduped_22_1 ); - deduped_13_1 := deduped_19_1 * deduped_21_1; - deduped_12_1 := HomalgIdentityMatrix( deduped_18_1, deduped_22_1 ); - deduped_11_1 := deduped_17_1 * deduped_17_1; - deduped_10_1 := deduped_18_1 * deduped_19_1; - deduped_9_1 := HomalgIdentityMatrix( deduped_17_1, deduped_22_1 ); - deduped_8_1 := deduped_17_1 * deduped_10_1; - deduped_7_1 := HomalgIdentityMatrix( deduped_10_1, deduped_22_1 ); - morphism_attr_1_1 := KroneckerMat( deduped_15_1, deduped_16_1 ) * (KroneckerMat( ConvertMatrixToRow( deduped_9_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_22_1 ), deduped_7_1 ) * KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_8_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_10_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_10_1 ) + 1); - end ) ), deduped_8_1 ), deduped_8_1, deduped_8_1, deduped_22_1 ) ) * KroneckerMat( TransposedMatrix( deduped_9_1 ), (KroneckerMat( KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_22_1 ) ), deduped_16_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_12_1, deduped_15_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_21_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_22_1 ), deduped_15_1 ) * KroneckerMat( deduped_20_1, ConvertMatrixToColumn( deduped_15_1 ) )), deduped_14_1 ), deduped_16_1 ) * KroneckerMat( deduped_20_1, (KroneckerMat( deduped_14_1, deduped_16_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_23_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_22_1 ), deduped_16_1 ) * KroneckerMat( deduped_20_1, ConvertMatrixToColumn( deduped_16_1 ) )) )) )); + local morphism_attr_1_1, deduped_5_1, deduped_6_1, deduped_7_1, deduped_8_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1; + deduped_14_1 := UnderlyingRing( cat_1 ); + deduped_13_1 := Dimension( b_1 ); + deduped_12_1 := Dimension( a_1 ); + deduped_11_1 := HomalgIdentityMatrix( deduped_13_1, deduped_14_1 ); + deduped_10_1 := deduped_13_1 * deduped_12_1; + deduped_9_1 := HomalgIdentityMatrix( deduped_12_1, deduped_14_1 ); + deduped_8_1 := deduped_12_1 * deduped_13_1; + deduped_7_1 := deduped_8_1 * deduped_8_1; + deduped_6_1 := HomalgIdentityMatrix( deduped_8_1, deduped_14_1 ); + deduped_5_1 := HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_7_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := i_2 - 1; + return REM_INT( deduped_1_2, deduped_8_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1; + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_14_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_6_1 ), deduped_6_1 ) * KroneckerMat( deduped_5_1, deduped_6_1 ) * KroneckerMat( deduped_6_1, deduped_5_1 ) * KroneckerMat( deduped_6_1, (KroneckerMat( KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_12_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_12_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_14_1 ) ), deduped_11_1 ) * KroneckerMat( KroneckerMat( ConvertMatrixToColumn( deduped_9_1 ), deduped_11_1 ), deduped_11_1 ) * ConvertMatrixToColumn( deduped_11_1 )) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5373,48 +5155,46 @@ end ######## function ( cat_1, list_1 ) - local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1, deduped_28_1; - deduped_28_1 := UnderlyingRing( cat_1 ); - deduped_27_1 := List( list_1, Dimension ); - deduped_26_1 := deduped_27_1[4]; - deduped_25_1 := deduped_27_1[2]; - deduped_24_1 := deduped_27_1[3]; - deduped_23_1 := deduped_27_1[1]; - deduped_22_1 := HomalgIdentityMatrix( deduped_25_1, deduped_28_1 ); - deduped_21_1 := HomalgIdentityMatrix( deduped_23_1, deduped_28_1 ); - deduped_20_1 := HomalgIdentityMatrix( deduped_24_1, deduped_28_1 ); - deduped_19_1 := deduped_24_1 * deduped_26_1; - deduped_18_1 := deduped_23_1 * deduped_25_1; - deduped_17_1 := deduped_23_1 * deduped_24_1; - deduped_16_1 := HomalgIdentityMatrix( deduped_19_1, deduped_28_1 ); - deduped_15_1 := deduped_19_1 * deduped_23_1; - deduped_14_1 := HomalgIdentityMatrix( deduped_18_1, deduped_28_1 ); - deduped_13_1 := deduped_17_1 * deduped_17_1; - deduped_12_1 := deduped_18_1 * deduped_19_1; - deduped_11_1 := HomalgIdentityMatrix( deduped_17_1, deduped_28_1 ); - deduped_10_1 := deduped_17_1 * deduped_12_1; - deduped_9_1 := HomalgIdentityMatrix( deduped_12_1, deduped_28_1 ); + local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1; + deduped_26_1 := UnderlyingRing( cat_1 ); + deduped_25_1 := List( list_1, Dimension ); + deduped_24_1 := deduped_25_1[4]; + deduped_23_1 := deduped_25_1[2]; + deduped_22_1 := deduped_25_1[3]; + deduped_21_1 := deduped_25_1[1]; + deduped_20_1 := HomalgIdentityMatrix( deduped_23_1, deduped_26_1 ); + deduped_19_1 := HomalgIdentityMatrix( deduped_21_1, deduped_26_1 ); + deduped_18_1 := HomalgIdentityMatrix( deduped_22_1, deduped_26_1 ); + deduped_17_1 := deduped_22_1 * deduped_24_1; + deduped_16_1 := deduped_21_1 * deduped_23_1; + deduped_15_1 := deduped_21_1 * deduped_22_1; + deduped_14_1 := deduped_17_1 * deduped_21_1; + deduped_13_1 := deduped_15_1 * deduped_15_1; + deduped_12_1 := deduped_16_1 * deduped_17_1; + deduped_11_1 := HomalgIdentityMatrix( deduped_15_1, deduped_26_1 ); + deduped_10_1 := deduped_15_1 * deduped_12_1; + deduped_9_1 := HomalgIdentityMatrix( deduped_12_1, deduped_26_1 ); morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_11_1 ), deduped_9_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_17_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_17_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_28_1 ), deduped_9_1 ) * KroneckerMat( deduped_11_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_15_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_15_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_26_1 ), deduped_9_1 ) * KroneckerMat( deduped_11_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_12_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_12_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_28_1 ) ) * KroneckerMat( TransposedMatrix( deduped_11_1 ), (KroneckerMat( KroneckerMat( deduped_14_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_12_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_12_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_26_1 ) ) * KroneckerMat( deduped_11_1, (KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_16_1, deduped_26_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_23_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_23_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_28_1 ) ), deduped_20_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_14_1, deduped_21_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_25_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_25_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_28_1 ), deduped_21_1 ) * KroneckerMat( deduped_22_1, ConvertMatrixToColumn( deduped_21_1 ) )), deduped_16_1 ), deduped_20_1 ) * KroneckerMat( deduped_22_1, (KroneckerMat( deduped_16_1, deduped_20_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_26_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_26_1 ) + 1); - end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_28_1 ), deduped_20_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_26_1, deduped_28_1 ), ConvertMatrixToColumn( deduped_20_1 ) )) )) ); + return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); + end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_26_1 ) ), deduped_18_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_23_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_23_1 ) + 1); + end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_26_1 ), deduped_19_1 ) * KroneckerMat( deduped_20_1, ConvertMatrixToColumn( deduped_19_1 ) )), HomalgIdentityMatrix( deduped_17_1, deduped_26_1 ) ), deduped_18_1 ) * KroneckerMat( deduped_20_1, (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_24_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_24_1 ) + 1); + end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_26_1 ), deduped_18_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_24_1, deduped_26_1 ), ConvertMatrixToColumn( deduped_18_1 ) )) )) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5426,49 +5206,47 @@ end ######## function ( cat_1, list_1 ) - local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1, deduped_28_1, deduped_29_1; - deduped_29_1 := UnderlyingRing( cat_1 ); - deduped_28_1 := List( list_1, Dimension ); - deduped_27_1 := deduped_28_1[4]; - deduped_26_1 := deduped_28_1[2]; - deduped_25_1 := deduped_28_1[3]; - deduped_24_1 := deduped_28_1[1]; - deduped_23_1 := HomalgIdentityMatrix( deduped_26_1, deduped_29_1 ); - deduped_22_1 := HomalgIdentityMatrix( deduped_24_1, deduped_29_1 ); - deduped_21_1 := HomalgIdentityMatrix( deduped_25_1, deduped_29_1 ); - deduped_20_1 := deduped_25_1 * deduped_27_1; - deduped_19_1 := deduped_24_1 * deduped_26_1; - deduped_18_1 := deduped_24_1 * deduped_25_1; - deduped_17_1 := deduped_18_1 * deduped_18_1; - deduped_16_1 := deduped_19_1 * deduped_20_1; - deduped_15_1 := HomalgIdentityMatrix( deduped_20_1, deduped_29_1 ); - deduped_14_1 := deduped_20_1 * deduped_24_1; - deduped_13_1 := HomalgIdentityMatrix( deduped_19_1, deduped_29_1 ); - deduped_12_1 := HomalgIdentityMatrix( deduped_18_1, deduped_29_1 ); - deduped_11_1 := deduped_18_1 * deduped_16_1; - deduped_10_1 := HomalgIdentityMatrix( deduped_16_1, deduped_29_1 ); - deduped_9_1 := KroneckerMat( TransposedMatrix( deduped_12_1 ), KroneckerMat( KroneckerMat( deduped_13_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1; + deduped_27_1 := UnderlyingRing( cat_1 ); + deduped_26_1 := List( list_1, Dimension ); + deduped_25_1 := deduped_26_1[4]; + deduped_24_1 := deduped_26_1[2]; + deduped_23_1 := deduped_26_1[3]; + deduped_22_1 := deduped_26_1[1]; + deduped_21_1 := HomalgIdentityMatrix( deduped_24_1, deduped_27_1 ); + deduped_20_1 := HomalgIdentityMatrix( deduped_22_1, deduped_27_1 ); + deduped_19_1 := HomalgIdentityMatrix( deduped_23_1, deduped_27_1 ); + deduped_18_1 := deduped_23_1 * deduped_25_1; + deduped_17_1 := deduped_22_1 * deduped_24_1; + deduped_16_1 := deduped_22_1 * deduped_23_1; + deduped_15_1 := deduped_16_1 * deduped_16_1; + deduped_14_1 := deduped_17_1 * deduped_18_1; + deduped_13_1 := deduped_18_1 * deduped_22_1; + deduped_12_1 := HomalgIdentityMatrix( deduped_16_1, deduped_27_1 ); + deduped_11_1 := deduped_16_1 * deduped_14_1; + deduped_10_1 := HomalgIdentityMatrix( deduped_14_1, deduped_27_1 ); + deduped_9_1 := KroneckerMat( deduped_12_1, KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_17_1, deduped_27_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_24_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_24_1 ) + 1); - end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_29_1 ) ), deduped_21_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_13_1, deduped_22_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_19_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_26_1 ) * deduped_24_1 + QUO_INT( deduped_1_2, deduped_26_1 ) + 1); - end ) ), deduped_19_1 ), deduped_19_1, deduped_19_1, deduped_29_1 ), deduped_22_1 ) * KroneckerMat( deduped_23_1, ConvertMatrixToColumn( deduped_22_1 ) )), deduped_15_1 ), deduped_21_1 ) * KroneckerMat( deduped_23_1, (KroneckerMat( deduped_15_1, deduped_21_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_20_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_27_1 ) * deduped_25_1 + QUO_INT( deduped_1_2, deduped_27_1 ) + 1); - end ) ), deduped_20_1 ), deduped_20_1, deduped_20_1, deduped_29_1 ), deduped_21_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_27_1, deduped_29_1 ), ConvertMatrixToColumn( deduped_21_1 ) )) ) ); - morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_29_1 ), KroneckerMat( ConvertMatrixToRow( deduped_12_1 ), deduped_10_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_27_1 ) ), deduped_19_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_24_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_24_1 ) + 1); + end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_27_1 ), deduped_20_1 ) * KroneckerMat( deduped_21_1, ConvertMatrixToColumn( deduped_20_1 ) )), HomalgIdentityMatrix( deduped_18_1, deduped_27_1 ) ), deduped_19_1 ) * KroneckerMat( deduped_21_1, (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_18_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_18_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_29_1 ), deduped_10_1 ) * KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_25_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_25_1 ) + 1); + end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_27_1 ), deduped_19_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_25_1, deduped_27_1 ), ConvertMatrixToColumn( deduped_19_1 ) )) ) ); + morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_27_1 ), KroneckerMat( ConvertMatrixToRow( deduped_12_1 ), deduped_10_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); + end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_27_1 ), deduped_10_1 ) * KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_29_1 ) ) * deduped_9_1 ); + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_27_1 ) ) * deduped_9_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5480,49 +5258,47 @@ end ######## function ( cat_1, source_1, list_1, range_1 ) - local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1, deduped_28_1, deduped_29_1; - deduped_29_1 := Dimension( range_1 ); - deduped_28_1 := UnderlyingRing( cat_1 ); - deduped_27_1 := List( list_1, Dimension ); - deduped_26_1 := HomalgIdentityMatrix( deduped_29_1, deduped_28_1 ); - deduped_25_1 := deduped_27_1[4]; - deduped_24_1 := deduped_27_1[2]; - deduped_23_1 := deduped_27_1[3]; - deduped_22_1 := deduped_27_1[1]; - deduped_21_1 := HomalgIdentityMatrix( deduped_24_1, deduped_28_1 ); - deduped_20_1 := HomalgIdentityMatrix( deduped_22_1, deduped_28_1 ); - deduped_19_1 := HomalgIdentityMatrix( deduped_23_1, deduped_28_1 ); - deduped_18_1 := deduped_23_1 * deduped_25_1; - deduped_17_1 := deduped_22_1 * deduped_24_1; - deduped_16_1 := deduped_22_1 * deduped_23_1; - deduped_15_1 := deduped_16_1 * deduped_29_1; - deduped_14_1 := deduped_16_1 * deduped_16_1; - deduped_13_1 := HomalgIdentityMatrix( deduped_18_1, deduped_28_1 ); - deduped_12_1 := deduped_18_1 * deduped_22_1; - deduped_11_1 := HomalgIdentityMatrix( deduped_17_1, deduped_28_1 ); - deduped_10_1 := HomalgIdentityMatrix( deduped_16_1, deduped_28_1 ); - deduped_9_1 := KroneckerMat( TransposedMatrix( deduped_10_1 ), KroneckerMat( KroneckerMat( deduped_11_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1; + deduped_27_1 := Dimension( range_1 ); + deduped_26_1 := UnderlyingRing( cat_1 ); + deduped_25_1 := List( list_1, Dimension ); + deduped_24_1 := HomalgIdentityMatrix( deduped_27_1, deduped_26_1 ); + deduped_23_1 := deduped_25_1[4]; + deduped_22_1 := deduped_25_1[2]; + deduped_21_1 := deduped_25_1[3]; + deduped_20_1 := deduped_25_1[1]; + deduped_19_1 := HomalgIdentityMatrix( deduped_22_1, deduped_26_1 ); + deduped_18_1 := HomalgIdentityMatrix( deduped_20_1, deduped_26_1 ); + deduped_17_1 := HomalgIdentityMatrix( deduped_21_1, deduped_26_1 ); + deduped_16_1 := deduped_21_1 * deduped_23_1; + deduped_15_1 := deduped_20_1 * deduped_22_1; + deduped_14_1 := deduped_20_1 * deduped_21_1; + deduped_13_1 := deduped_14_1 * deduped_27_1; + deduped_12_1 := deduped_14_1 * deduped_14_1; + deduped_11_1 := deduped_16_1 * deduped_20_1; + deduped_10_1 := HomalgIdentityMatrix( deduped_14_1, deduped_26_1 ); + deduped_9_1 := KroneckerMat( deduped_10_1, KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_15_1, deduped_26_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_18_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); - end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_28_1 ) ), deduped_19_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_11_1, deduped_20_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_24_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_24_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_28_1 ), deduped_20_1 ) * KroneckerMat( deduped_21_1, ConvertMatrixToColumn( deduped_20_1 ) )), deduped_13_1 ), deduped_19_1 ) * KroneckerMat( deduped_21_1, (KroneckerMat( deduped_13_1, deduped_19_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_18_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_25_1 ) * deduped_23_1 + QUO_INT( deduped_1_2, deduped_25_1 ) + 1); - end ) ), deduped_18_1 ), deduped_18_1, deduped_18_1, deduped_28_1 ), deduped_19_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_25_1, deduped_28_1 ), ConvertMatrixToColumn( deduped_19_1 ) )) ) ); - morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_28_1 ), KroneckerMat( ConvertMatrixToRow( deduped_10_1 ), deduped_26_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_20_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_20_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_26_1 ) ), deduped_17_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); + end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_26_1 ), deduped_18_1 ) * KroneckerMat( deduped_19_1, ConvertMatrixToColumn( deduped_18_1 ) )), HomalgIdentityMatrix( deduped_16_1, deduped_26_1 ) ), deduped_17_1 ) * KroneckerMat( deduped_19_1, (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_16_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_16_1 ) + 1); - end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_28_1 ), deduped_26_1 ) * KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_23_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_23_1 ) + 1); + end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_26_1 ), deduped_17_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_23_1, deduped_26_1 ), ConvertMatrixToColumn( deduped_17_1 ) )) ) ); + morphism_attr_1_1 := UniqueRightDivide( HomalgIdentityMatrix( NumberColumns( deduped_9_1 ), deduped_26_1 ), KroneckerMat( ConvertMatrixToRow( deduped_10_1 ), deduped_24_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_14_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_14_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_26_1 ), deduped_24_1 ) * KroneckerMat( deduped_10_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_29_1 ) * deduped_16_1 + QUO_INT( deduped_1_2, deduped_29_1 ) + 1); - end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_28_1 ) ) * deduped_9_1 ); + return (REM_INT( deduped_1_2, deduped_27_1 ) * deduped_14_1 + QUO_INT( deduped_1_2, deduped_27_1 ) + 1); + end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_26_1 ) ) * deduped_9_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5534,48 +5310,46 @@ end ######## function ( cat_1, source_1, list_1, range_1 ) - local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1, deduped_27_1, deduped_28_1; - deduped_28_1 := Dimension( source_1 ); - deduped_27_1 := UnderlyingRing( cat_1 ); - deduped_26_1 := List( list_1, Dimension ); - deduped_25_1 := deduped_26_1[4]; - deduped_24_1 := deduped_26_1[2]; - deduped_23_1 := HomalgIdentityMatrix( deduped_28_1, deduped_27_1 ); - deduped_22_1 := deduped_26_1[3]; - deduped_21_1 := deduped_26_1[1]; - deduped_20_1 := HomalgIdentityMatrix( deduped_24_1, deduped_27_1 ); - deduped_19_1 := HomalgIdentityMatrix( deduped_21_1, deduped_27_1 ); - deduped_18_1 := HomalgIdentityMatrix( deduped_22_1, deduped_27_1 ); - deduped_17_1 := deduped_22_1 * deduped_25_1; - deduped_16_1 := deduped_21_1 * deduped_24_1; - deduped_15_1 := deduped_21_1 * deduped_22_1; - deduped_14_1 := HomalgIdentityMatrix( deduped_17_1, deduped_27_1 ); - deduped_13_1 := deduped_17_1 * deduped_21_1; - deduped_12_1 := HomalgIdentityMatrix( deduped_16_1, deduped_27_1 ); - deduped_11_1 := deduped_15_1 * deduped_28_1; - deduped_10_1 := deduped_15_1 * deduped_15_1; - deduped_9_1 := HomalgIdentityMatrix( deduped_15_1, deduped_27_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_9_1 ), deduped_23_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) + local morphism_attr_1_1, deduped_9_1, deduped_10_1, deduped_11_1, deduped_12_1, deduped_13_1, deduped_14_1, deduped_15_1, deduped_16_1, deduped_17_1, deduped_18_1, deduped_19_1, deduped_20_1, deduped_21_1, deduped_22_1, deduped_23_1, deduped_24_1, deduped_25_1, deduped_26_1; + deduped_26_1 := Dimension( source_1 ); + deduped_25_1 := UnderlyingRing( cat_1 ); + deduped_24_1 := List( list_1, Dimension ); + deduped_23_1 := deduped_24_1[4]; + deduped_22_1 := deduped_24_1[2]; + deduped_21_1 := HomalgIdentityMatrix( deduped_26_1, deduped_25_1 ); + deduped_20_1 := deduped_24_1[3]; + deduped_19_1 := deduped_24_1[1]; + deduped_18_1 := HomalgIdentityMatrix( deduped_22_1, deduped_25_1 ); + deduped_17_1 := HomalgIdentityMatrix( deduped_19_1, deduped_25_1 ); + deduped_16_1 := HomalgIdentityMatrix( deduped_20_1, deduped_25_1 ); + deduped_15_1 := deduped_20_1 * deduped_23_1; + deduped_14_1 := deduped_19_1 * deduped_22_1; + deduped_13_1 := deduped_19_1 * deduped_20_1; + deduped_12_1 := deduped_15_1 * deduped_19_1; + deduped_11_1 := deduped_13_1 * deduped_26_1; + deduped_10_1 := deduped_13_1 * deduped_13_1; + deduped_9_1 := HomalgIdentityMatrix( deduped_13_1, deduped_25_1 ); + morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_9_1 ), deduped_21_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_10_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_15_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_15_1 ) + 1); - end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_27_1 ), deduped_23_1 ) * KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_13_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_13_1 ) + 1); + end ) ), deduped_10_1 ), deduped_10_1, deduped_10_1, deduped_25_1 ), deduped_21_1 ) * KroneckerMat( deduped_9_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_11_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_28_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_28_1 ) + 1); - end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_27_1 ) ) * KroneckerMat( TransposedMatrix( deduped_9_1 ), (KroneckerMat( KroneckerMat( deduped_12_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_13_1 ], function ( i_2 ) + return (REM_INT( deduped_1_2, deduped_26_1 ) * deduped_13_1 + QUO_INT( deduped_1_2, deduped_26_1 ) + 1); + end ) ), deduped_11_1 ), deduped_11_1, deduped_11_1, deduped_25_1 ) ) * KroneckerMat( deduped_9_1, (KroneckerMat( KroneckerMat( HomalgIdentityMatrix( deduped_14_1, deduped_25_1 ), HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_12_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_21_1 ) * deduped_17_1 + QUO_INT( deduped_1_2, deduped_21_1 ) + 1); - end ) ), deduped_13_1 ), deduped_13_1, deduped_13_1, deduped_27_1 ) ), deduped_18_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( deduped_12_1, deduped_19_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_16_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_24_1 ) * deduped_21_1 + QUO_INT( deduped_1_2, deduped_24_1 ) + 1); - end ) ), deduped_16_1 ), deduped_16_1, deduped_16_1, deduped_27_1 ), deduped_19_1 ) * KroneckerMat( deduped_20_1, ConvertMatrixToColumn( deduped_19_1 ) )), deduped_14_1 ), deduped_18_1 ) * KroneckerMat( deduped_20_1, (KroneckerMat( deduped_14_1, deduped_18_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_17_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_25_1 ) * deduped_22_1 + QUO_INT( deduped_1_2, deduped_25_1 ) + 1); - end ) ), deduped_17_1 ), deduped_17_1, deduped_17_1, deduped_27_1 ), deduped_18_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_25_1, deduped_27_1 ), ConvertMatrixToColumn( deduped_18_1 ) )) )) ); + return (REM_INT( deduped_1_2, deduped_19_1 ) * deduped_15_1 + QUO_INT( deduped_1_2, deduped_19_1 ) + 1); + end ) ), deduped_12_1 ), deduped_12_1, deduped_12_1, deduped_25_1 ) ), deduped_16_1 ) * KroneckerMat( KroneckerMat( (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_14_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_22_1 ) * deduped_19_1 + QUO_INT( deduped_1_2, deduped_22_1 ) + 1); + end ) ), deduped_14_1 ), deduped_14_1, deduped_14_1, deduped_25_1 ), deduped_17_1 ) * KroneckerMat( deduped_18_1, ConvertMatrixToColumn( deduped_17_1 ) )), HomalgIdentityMatrix( deduped_15_1, deduped_25_1 ) ), deduped_16_1 ) * KroneckerMat( deduped_18_1, (KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_15_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_23_1 ) * deduped_20_1 + QUO_INT( deduped_1_2, deduped_23_1 ) + 1); + end ) ), deduped_15_1 ), deduped_15_1, deduped_15_1, deduped_25_1 ), deduped_16_1 ) * KroneckerMat( HomalgIdentityMatrix( deduped_23_1, deduped_25_1 ), ConvertMatrixToColumn( deduped_16_1 ) )) )) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5630,7 +5404,7 @@ function ( cat_1, c_1, b_1, g_1 ) deduped_6_1 := deduped_8_1 * deduped_8_1; deduped_5_1 := deduped_10_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_9_1 ); - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_4_1 ), UnderlyingMatrix( g_1 ) ) * (KroneckerMat( deduped_4_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_4_1, UnderlyingMatrix( g_1 ) ) * (KroneckerMat( deduped_4_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_10_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); @@ -5658,7 +5432,7 @@ function ( cat_1, c_1, b_1, g_1, i_1 ) deduped_6_1 := deduped_8_1 * deduped_8_1; deduped_5_1 := deduped_10_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_9_1 ); - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_4_1 ), UnderlyingMatrix( g_1 ) ) * (KroneckerMat( deduped_4_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_4_1, UnderlyingMatrix( g_1 ) ) * (KroneckerMat( deduped_4_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_10_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); @@ -5694,7 +5468,7 @@ function ( cat_1, a_1, b_1, f_1 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_10_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_10_1 ) + 1); - end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_9_1 ) ) * KroneckerMat( TransposedMatrix( deduped_4_1 ), UnderlyingMatrix( f_1 ) ); + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_9_1 ) ) * KroneckerMat( deduped_4_1, UnderlyingMatrix( f_1 ) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5722,7 +5496,7 @@ function ( cat_1, a_1, b_1, f_1, i_1 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_10_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_10_1 ) + 1); - end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_9_1 ) ) * KroneckerMat( TransposedMatrix( deduped_4_1 ), UnderlyingMatrix( f_1 ) ); + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_9_1 ) ) * KroneckerMat( deduped_4_1, UnderlyingMatrix( f_1 ) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -5781,22 +5555,16 @@ end ######## function ( cat_1, alpha_1 ) - local morphism_attr_1_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 := HomalgIdentityMatrix( 1, deduped_8_1 ); - deduped_6_1 := Dimension( Source( alpha_1 ) ); - deduped_5_1 := deduped_6_1 * 1; - deduped_4_1 := deduped_6_1 * deduped_6_1; - deduped_3_1 := HomalgIdentityMatrix( deduped_6_1, deduped_8_1 ); - morphism_attr_1_1 := KroneckerMat( ConvertMatrixToRow( deduped_3_1 ), deduped_7_1 ) * KroneckerMat( HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, deduped_6_1 ) * deduped_6_1 + QUO_INT( deduped_1_2, deduped_6_1 ) + 1); - end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_8_1 ), deduped_7_1 ) * KroneckerMat( deduped_3_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) - local deduped_1_2; - deduped_1_2 := (i_2 - 1); - return (REM_INT( deduped_1_2, 1 ) * deduped_6_1 + QUO_INT( deduped_1_2, 1 ) + 1); - end ) ), deduped_5_1 ), deduped_5_1, deduped_5_1, deduped_8_1 ) ) * KroneckerMat( TransposedMatrix( deduped_3_1 ), UnderlyingMatrix( alpha_1 ) ) * ConvertMatrixToColumn( deduped_3_1 ); + local morphism_attr_1_1, deduped_3_1, deduped_4_1, deduped_5_1, deduped_6_1; + deduped_6_1 := UnderlyingRing( cat_1 ); + deduped_5_1 := Dimension( Source( alpha_1 ) ); + deduped_4_1 := deduped_5_1 * deduped_5_1; + deduped_3_1 := HomalgIdentityMatrix( deduped_5_1, deduped_6_1 ); + morphism_attr_1_1 := ConvertMatrixToRow( deduped_3_1 ) * HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_4_1 ], function ( i_2 ) + local deduped_1_2; + deduped_1_2 := (i_2 - 1); + return (REM_INT( deduped_1_2, deduped_5_1 ) * deduped_5_1 + QUO_INT( deduped_1_2, deduped_5_1 ) + 1); + end ) ), deduped_4_1 ), deduped_4_1, deduped_4_1, deduped_6_1 ) * KroneckerMat( deduped_3_1, UnderlyingMatrix( alpha_1 ) ) * ConvertMatrixToColumn( deduped_3_1 ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberColumns( morphism_attr_1_1 ) ), UnderlyingMatrix, morphism_attr_1_1 ); end ######## @@ -6230,7 +5998,7 @@ function ( cat_1, t_1, a_1, alpha_1 ) deduped_6_1 := deduped_8_1 * deduped_8_1; deduped_5_1 := deduped_10_1 * deduped_8_1; deduped_4_1 := HomalgIdentityMatrix( deduped_8_1, deduped_9_1 ); - morphism_attr_1_1 := KroneckerMat( TransposedMatrix( deduped_4_1 ), UnderlyingMatrix( alpha_1 ) ) * (KroneckerMat( deduped_4_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) + morphism_attr_1_1 := KroneckerMat( deduped_4_1, UnderlyingMatrix( alpha_1 ) ) * (KroneckerMat( deduped_4_1, HomalgMatrix( PermutationMat( PermList( List( [ 1 .. deduped_5_1 ], function ( i_2 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_8_1 ) * deduped_10_1 + QUO_INT( deduped_1_2, deduped_8_1 ) + 1); @@ -6266,7 +6034,7 @@ function ( cat_1, t_1, a_1, alpha_1 ) local deduped_1_2; deduped_1_2 := (i_2 - 1); return (REM_INT( deduped_1_2, deduped_10_1 ) * deduped_8_1 + QUO_INT( deduped_1_2, deduped_10_1 ) + 1); - end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_9_1 ) ) * KroneckerMat( TransposedMatrix( deduped_4_1 ), UnderlyingMatrix( alpha_1 ) ); + end ) ), deduped_7_1 ), deduped_7_1, deduped_7_1, deduped_9_1 ) ) * KroneckerMat( deduped_4_1, UnderlyingMatrix( alpha_1 ) ); return CreateCapCategoryMorphismWithAttributes( cat_1, CreateCapCategoryObjectWithAttributes( cat_1, Dimension, NumberRows( morphism_attr_1_1 ) ), a_1, UnderlyingMatrix, morphism_attr_1_1 ); end ########