From 61861d930ee31bba9fe96d6e1ff86264368348b2 Mon Sep 17 00:00:00 2001 From: Friedrich Rober Date: Wed, 7 Nov 2018 16:11:27 +0100 Subject: Add test --- test.g | 63 ++++++++++++++++++++++++++------------------------------------- 1 file changed, 26 insertions(+), 37 deletions(-) diff --git a/test.g b/test.g index e6b967e..40a36c2 100644 --- a/test.g +++ b/test.g @@ -1,37 +1,26 @@ -gap> Read("subgroupladder.g"); -gap> l := [[2,3,5,8],[6,12,15],[14,9,17],[19,7,4,13,1,18],[20,16]]; -[ [ 2, 3, 5, 8 ], [ 6, 12, 15 ], [ 14, 9, 17 ], [ 19, 7, 4, 13, 1, 18 ], [ 20, 16 ] ] -gap> P := DirectProduct(List(l, SymmetricGroup)); - -gap> Subgroupladder(P); -[ , , , , - , , , , - , , Group([ (1,2,3,4,5,6,7,8,9,10,11), (1,2), (12,13,14), (12,13), (15,16) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11, - 12), (1,2), (13,14,15), (13,14), (16,17) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13), (1,2), (14,15,16), (14,15), (17,18) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13), (1,2), (14,15), (16,17) ]), Group([ (1,2,3,4,5,6,7,8,9, - 10,11,12,13,14), (1,2), (15,16), (17,18) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14), (1,2), (15,16) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15), (1,2), (16,17) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, - 16), (1,2), (17,18) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16), (1,2) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17), (1,2) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18), (1,2) ]) ] -gap> ll := List(last, Order); -[ 1244160, 311040, 2177280, 725760, 5806080, 2903040, 26127360, 261273600, 87091200, 958003200, 479001600, 5748019200, 74724249600, 24908083200, 348713164800, 174356582400, 2615348736000, 41845579776000, 20922789888000, - 355687428096000, 6402373705728000 ] -gap> for i in [2..Length(ll)] do Print(ll[i]/ll[i-1],"\n"); od; -1/4 -7 -1/3 -8 -1/2 -9 -10 -1/3 -11 -1/2 -12 -13 -1/3 -14 -1/2 -15 -16 -1/2 -17 -18 -gap> +TestRandom := function(n) + local + p, + g, + l, + i; + + p := RandomPartialPerm(n); + p := ComponentsOfPartialPerm(p); + g := YoungGroupFromPartition(p); + l := SubgroupLadder(g); + + for i in [2..Length(l)] do + if Order(l[i]) < Order(l[i-1]) then + if not (IsSubgroup(l[i-1],l[i]) and Order(l[i-1])/Order(l[i]) <= n) then + return false; + fi; + else + if not (IsSubgroup(l[i],l[i-1]) and Order(l[i])/Order(l[i-1]) <= n) then + return false; + fi; + fi; + od; + + return true; +end; -- cgit v1.2.3-24-g4f1b