Skip to content

Conversation

@olexandr-konovalov
Copy link
Member

This is a start of working over #31.

With it, #30 could have been detected as follows:

gap> checkname(1600);
[ 1600, 17 ] : PSU(4, 3) is PSU(3,4)
[ 1600, 18 ] : PSU(4, 3):2 is PSU(3,4) : C2
[ 1600, 19 ] : PSU(4, 3):4 is PSU(3,4) : C4

It filters some obvious cases, but because names and structure descriptions are not guaranteed to match, that's not always the case. One still needs to check manually a lot, e.g.

gap> checkname(100);
[ 100, 1 ] : J_2 is HJ
[ 100, 2 ] : J_2.2 is HJ : C2
[ 100, 5 ] : Alt(5) wreath Sym(2) is (A5 x A5) : C2
[ 100, 6 ] : Alt(5)^2.2^2 is (A5 x A5) : (C2 x C2)
[ 100, 7 ] : Alt(5)^2.4 is (A5 x A5) : C4
[ 100, 8 ] : Sym(5) wreath Sym(2) is (A5 x A5) : D8
[ 100, 9 ] : Alt(10) wreath Sym(2) is (A10 x A10) : C2
[ 100, 10 ] : Alt(10)^2.2^2 is (A10 x A10) : (C2 x C2)
[ 100, 11 ] : Alt(10)^2.4 is (A10 x A10) : C4
[ 100, 12 ] : Sym(10) wreath Sym(2) is (A10 x A10) : D8
[ 100, 13 ] : Alt(6) wreath Sym(2) is (A6 x A6) : C2
[ 100, 14 ] : Alt(6)^2.2^2 is (A6 x A6) : C4
[ 100, 15 ] : Alt(6)^2.2^2 is (A6 x A6) : (C2 x C2)
[ 100, 16 ] : Alt(6)^2.4 is (A6 x A6) : C4
[ 100, 17 ] : Alt(6)^2.2^2 is ((A6 x A6) : C2) : C2
[ 100, 18 ] : Alt(6)^2.4 is (A6 x A6) . C4
[ 100, 19 ] : Alt(6)^2.2^2 is (A6 x A6) : (C2 x C2)
[ 100, 20 ] : Alt(6)^2.D_8 is ((A6 x A6) : C4) : C2
[ 100, 21 ] : Alt(6)^2.2^3 is ((A6 x A6) : C2) : (C2 x C2)
[ 100, 22 ] : Alt(6)^2.D_8 is (A6 x A6) : D8
[ 100, 23 ] : Alt(6)^2.D_8 is (A6 x A6) : D8
[ 100, 24 ] : Alt(6)^2.D_8 is ((A6 x A6) . C4) : C2
[ 100, 25 ] : Alt(6)^2.D_8 is ((A6 x A6) . C4) : C2
[ 100, 26 ] : Alt(6)^2.(2 x 4) is ((A6 x A6) . C4) : C2
[ 100, 27 ] : Alt(6)^2.D_8 is ((A6 x A6) : C4) : C2
[ 100, 28 ] : Alt(6)^2.(2 x 4) is (A6 : (A6 : C2)) : C4
[ 100, 29 ] : Alt(6)^2.(2 x 4) is (A6 : (A6 . C2)) : C4
[ 100, 30 ] : Alt(6)^2.2^2:4 is ((A6 : S6) : C2) : C4
[ 100, 31 ] : Alt(6)^2.(2 x D_8) is (A6 : (A6 . C2)) : D8
[ 100, 32 ] : Alt(6)^2.2^2:4 is ((A6 : (A6 . C2)) : C2) : C4
[ 100, 33 ] : Alt(6)^2.(2 x D_8) is ((A6 x A6) . C4) : (C2 x C2)
[ 100, 34 ] : Alt(6)^2.(2 x D_8) is (A6 : (A6 : C2)) : D8
[ 100, 35 ] : Alt(6)^2.2^2:4 is ((A6 : (A6 . C2)) : C2) : C4
[ 100, 36 ] : PGammaL(2, 9) wreath Sym(2) is ((A6 : (A6 . C2)) : C2) : D8

Above, I've noticed the line

[ 100, 14 ] : Alt(6)^2.2^2 is (A6 x A6) : C4
  • shouldn't that by any chance be Alt(6)^2.4, @hulpke and @colva ?

@olexandr-konovalov olexandr-konovalov force-pushed the names-check branch 2 times, most recently from 17f5a95 to cf8dd4b Compare July 1, 2020 22:10
@olexandr-konovalov
Copy link
Member Author

A fix for PrimitiveGroup(289, 35) and also for PrimitiveGroup(100,14) submitted in #36.

@codecov
Copy link

codecov bot commented Jul 3, 2020

Codecov Report

Merging #34 (6d63375) into master (a4e2d7f) will decrease coverage by 0.01%.
The diff coverage is 74.15%.

@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
- Coverage   99.92%   99.90%   -0.02%     
==========================================
  Files          46       47       +1     
  Lines      382938   383100     +162     
==========================================
+ Hits       382633   382748     +115     
- Misses        305      352      +47     
Impacted Files Coverage Δ
lib/testutils.g 74.15% <74.15%> (ø)
lib/primitiv.gi 53.72% <0.00%> (-1.35%) ⬇️
lib/irredsol.gi 61.45% <0.00%> (-0.44%) ⬇️
lib/cohorts.grp 100.00% <0.00%> (ø)
lib/primitiv.grp 100.00% <0.00%> (ø)

@olexandr-konovalov olexandr-konovalov force-pushed the names-check branch 2 times, most recently from e5c0924 to d231104 Compare July 3, 2020 12:08
@fingolfin
Copy link
Member

@alex-konovalov the name for [ 100, 14 ] is also definitely wrong. You can verify this even by "brute force": there is no quotient isomorphic to C_2^2 here:

gap> G:=PrimitiveGroup( 100, 14 );
Alt(6)^2.2^2
gap> StructureDescription(G/Socle(G));
"C4"
gap> List(NormalSubgroups(G), N -> StructureDescription(G/N));
[ "(A6 x A6) : C4", "C4", "C2", "1" ]

@olexandr-konovalov
Copy link
Member Author

@fingolfin thanks, [100,14] already in #36.

@olexandr-konovalov
Copy link
Member Author

Rebased after merging #36.

@olexandr-konovalov
Copy link
Member Author

This PR is unfinished, but at least issues detected with its help were merged and could be released.

Alexander Konovalov and others added 5 commits May 3, 2022 21:17
- Move `testutils` to `lib` for coverage reports
- Rename sanity tests to consistency tests
- Reflect renaming of the consistency check
- Reorganise progress reports
Alexander Konovalov added 4 commits May 3, 2022 21:17
PrimGrpNamesDuplicates now has two arguments to restrict the check
to degrees [d1..d2]. This is useful to check only a specific degree,
or check the testing code on a subset of the library.
@olexandr-konovalov
Copy link
Member Author

After rebase, I see this in stable-4.11,-4.10 but not in master:

########> Diff in /tmp/gaproot/pkg/primgrp/tst/testinstall/testutils.tst:12
# Input is:
for d in [1,2,3,4] do
  for q in [2,3,4,5,7,8,9] do
    facs := Factors(q);
    p := facs[1];
    e := Length(facs);
    Assert(0, Size(SL(d,q)) * q^d = Size(ASL(d,q)));
    Assert(0, Size(GL(d,q)) * q^d = Size(AGL(d,q)));
    Assert(0, Size(SigmaL(d,q)) * q^d = Size(ASigmaL(d,q)));
    Assert(0, Size(GammaL(d,q)) * q^d = Size(AGammaL(d,q)));
    if d > 1 then
        Assert(0, Size(PSL(d,q)) * e = Size(PSigmaL(d,q)));
        Assert(0, Size(PGL(d,q)) * e = Size(PGammaL(d,q)));
    fi;
  od;
od;
# Expected output:
# But found:
Error, Variable: 'PGammaL' must have an assigned value
########

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants