@@ -1088,20 +1088,11 @@ InstallGlobalFunction( ADD_LIFT_AND_COLIFT_LEFT,
10881088 M := UnderlyingMatrix( Source( morphism_2 ) );
10891089
10901090 v := NrColumns( M );
1091-
1091+
10921092 s := NrColumns( P );
10931093
10941094 N := UnderlyingMatrix( Range( morphism_1 ) );
10951095
1096- # NrColumns( N ) = 0 implies coker(N)=0 and s = 0 implies coker(P)=0, hence morphism_1 is zero, and the zero morphism can always be lifted.
1097- if NrColumns( N ) = 0 or s = 0 then
1098- return ZeroMorphism( Source( morphism_1 ), Source( morphism_2 ) );
1099- fi ;
1100-
1101- # if NrColumns(M)=0 then M is zero, hence lift exists iff morphism_1 is zero.
1102- if NrColumns( M ) = 0 and IsZeroForMorphisms( morphism_1 ) then
1103- return ZeroMorphism( Source( morphism_1 ), Source( morphism_2 ) );
1104- fi ;
11051096 A := UnderlyingMatrix( morphism_1 );
11061097
11071098 B := UnderlyingMatrix( morphism_2 );
@@ -1134,7 +1125,7 @@ InstallGlobalFunction( ADD_LIFT_AND_COLIFT_LEFT,
11341125
11351126 fi ;
11361127
1137- vec_zero := HomalgZeroMatrix( NrRows( P )* NrColumns( M ), 1 , homalg_ring );
1128+ vec_zero := HomalgZeroMatrix( NrRows( P )* NrColumns( M ), NrColumns( vec_A ) , homalg_ring );
11381129
11391130 vec := UnionOfRows( vec_A, vec_zero );
11401131
@@ -1195,21 +1186,11 @@ InstallGlobalFunction( ADD_LIFT_AND_COLIFT_LEFT,
11951186 M := UnderlyingMatrix( Range( morphism_1 ) );
11961187
11971188 v := NrColumns( M );
1198-
1189+
11991190 s := NrColumns( I );
12001191
12011192 N := UnderlyingMatrix( Source( morphism_1 ) );
12021193
1203- # NrColumns( N ) = 0 implies coker(N)=0 and s = 0 implies coker(I)=0, hence morphism_2 is zero, and the zero morphism can always be colifted.
1204- if NrColumns( N ) = 0 or s = 0 then
1205- return ZeroMorphism( Range( morphism_1 ), Range( morphism_2 ) );
1206- fi ;
1207-
1208- # if NrColumns(M)=0 then M is zero, hence colift exists iff morphism_2 is zero.
1209- if NrColumns( M ) = 0 and IsZeroForMorphisms( morphism_2 ) then
1210- return ZeroMorphism( Range( morphism_1 ), Range( morphism_2 ) );
1211- fi ;
1212-
12131194 B := UnderlyingMatrix( morphism_1 );
12141195
12151196 A := UnderlyingMatrix( morphism_2 );
@@ -1231,7 +1212,7 @@ InstallGlobalFunction( ADD_LIFT_AND_COLIFT_LEFT,
12311212 else
12321213 vec := UnionOfRows( List( [ 1 .. NrColumns( A ) ] , i-> CertainColumns( A_over_zero, [ i ] ) ) );
12331214 fi ;
1234-
1215+
12351216 return [ mat, vec ] ;
12361217
12371218 end ;
@@ -1314,14 +1295,6 @@ InstallGlobalFunction( ADD_LIFT_AND_COLIFT_RIGHT,
13141295
13151296 Nt := TransposedMatrix( UnderlyingMatrix( Range( morphism_1 ) ) );
13161297
1317- if NrRows( Nt ) = 0 or s = 0 then
1318- return ZeroMorphism( Source( morphism_1 ), Source( morphism_2 ) );
1319- fi ;
1320-
1321- if NrRows( Mt ) = 0 and IsZeroForMorphisms( morphism_1 ) then
1322- return ZeroMorphism( Source( morphism_1 ), Source( morphism_2 ) );
1323- fi ;
1324-
13251298 At := TransposedMatrix( UnderlyingMatrix( morphism_1 ) );
13261299
13271300 Bt := TransposedMatrix( UnderlyingMatrix( morphism_2 ) );
@@ -1354,7 +1327,7 @@ InstallGlobalFunction( ADD_LIFT_AND_COLIFT_RIGHT,
13541327
13551328 fi ;
13561329
1357- vec_zero := HomalgZeroMatrix( NrRows( Pt )* NrColumns( Mt ), 1 , homalg_ring );
1330+ vec_zero := HomalgZeroMatrix( NrRows( Pt )* NrColumns( Mt ), NrColumns( vec_A ) , homalg_ring );
13581331
13591332 vec := UnionOfRows( vec_A, vec_zero );
13601333
0 commit comments