Skip to content

Commit 09daf16

Browse files
committed
install SuspensionOfStrip methods
1 parent d9b3b78 commit 09daf16

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

lib/strips.gi

+64
Original file line numberDiff line numberDiff line change
@@ -2550,3 +2550,67 @@ InstallOtherMethod(
25502550
fi;
25512551
end
25522552
);
2553+
2554+
InstallMethod(
2555+
SuspensionOfStrip,
2556+
"for a strip-rep",
2557+
[ IsStripRep ],
2558+
function( strip )
2559+
if HasSuspensionOfStrip( strip ) then
2560+
return SuspensionOfStrip( strip );
2561+
2562+
elif IsVirtualStripRep( strip ) then
2563+
Error( "Virtual strips do not have suspensions" );
2564+
2565+
elif IsZeroStrip( strip ) then
2566+
return strip;
2567+
2568+
else
2569+
return TrOfStrip( SyzygyOfStrip( TrOfStrip( strip ) ) );
2570+
fi;
2571+
end
2572+
);
2573+
2574+
InstallOtherMethod(
2575+
SuspensionOfStrip,
2576+
"for a (flat) list of strip-reps",
2577+
[ IsList ],
2578+
function( list )
2579+
if IsCollectedList( list ) then
2580+
TryNextMethod();
2581+
2582+
elif not ForAll( list, IsStripRep ) then
2583+
TryNextMethod();
2584+
2585+
else
2586+
return Concatenation( List( list, SuspensionOfStrip ) );
2587+
fi;
2588+
end
2589+
);
2590+
2591+
InstallOtherMethod(
2592+
SuspensionOfStrip,
2593+
"for a collected list of strip-reps",
2594+
[ IsList ],
2595+
function( clist )
2596+
local
2597+
elts; # Elements of <clist>
2598+
2599+
if not IsCollectedList( clist ) then
2600+
TryNextMethod();
2601+
2602+
else
2603+
elts := List( clist, x -> x[1] );
2604+
if not ForAll( elts, IsStripRep ) then
2605+
Error( "The given collected list has elements that are not ",
2606+
"strip-reps" );
2607+
2608+
else
2609+
return CollectedListElementwiseListValuedFunction(
2610+
clist,
2611+
SuspensionOfStrip
2612+
);
2613+
fi;
2614+
fi;
2615+
end
2616+
);

0 commit comments

Comments
 (0)