Skip to content

Commit 8e34637

Browse files
author
Leo
committed
restoring the wrong mergers and adding results from papers Baginski-Zabielski 25 and Garcia-Lucas-Margolis 24 to detbins.g
1 parent 9ae647a commit 8e34637

File tree

3 files changed

+56
-15
lines changed

3 files changed

+56
-15
lines changed

doc/make_doc

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,28 @@
22
set -e
33

44
echo "TeXing documentation"
5-
# delete old stuff to avoid spurious or "hidden errors" caused by their presence
6-
rm -f manual.aux manual.pdf manual.idx manual.ilg manual.ind manual.lab manual.log manual.six manual.toc
5+
# this was a failed try of Max to update this file. Will comment it out using several ###
6+
#### delete old stuff to avoid spurious or "hidden errors" caused by their presence
7+
###rm -f manual.aux manual.pdf manual.idx manual.ilg manual.ind manual.lab manual.log manual.six manual.toc
78
# TeX the manual
8-
pdftex manual
9+
tex manual
10+
###pdftex manual
911
# ... and build its bibliography
1012
bibtex manual
1113
# TeX the manual again to incorporate the ToC
12-
pdftex manual
14+
tex manual
15+
tex manual
16+
#### pdftex manual
1317
# ... and build the index
1418
../../../doc/manualindex manual
1519
# Finally TeX the manual again to get cross-references right
16-
pdftex manual
20+
tex manual
21+
pdftex manual; pdftex manual
22+
#### pdftex manual
1723

1824
# The HTML version of the manual
19-
mkdir -p ../htm
25+
rm -rf ../htm
26+
mkdir ../htm
27+
#### mkdir -p ../htm
2028
echo "Creating HTML documentation"
2129
../../../etc/convert.pl -i -u -c -n ModIsom . ../htm

gap/grpalg/collect.gi

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@
55
##
66
## functions to work with tables (in the sense of ModIsom) which correspond to quotients of the augmentation ideal I of a group algebra of a finite p-group over a field of characteristic p modulo a power of I. In particular, to generate the table for this quotient
77

8+
#### for some reason this function works well in tests while the GAP function PositionNonZero does not. See a pull request about it by Oleksandr
9+
# Input: A list
10+
# Output: The nonzero positions of the list
11+
BindGlobal("PosNonzero", function(list)
12+
return PositionsProperty(list, x -> not IsZero(x));
13+
end);
14+
815
# Input: Linear combination of words. A word is a list of pairs of natural numbers. We think e.g. g1^2*g3 = [[1,2],[3,1]]
916
# Output: Same linear combination (in the math sense) where each word
1017
# appears at most once
@@ -191,7 +198,7 @@ local w, sw, pos, p;
191198

192199
sw := 0;
193200
w := [ ];
194-
pos := PositionNonZero(exp);
201+
pos := PosNonzero(exp);
195202

196203
for p in pos do
197204
sw := sw + 1;
@@ -436,7 +443,7 @@ local F, p, exp, pos1, i, j, pows, pos, combs, v, c, w, s, m, tup, coefprod, exp
436443
# Check if weight of p-th power exceeds level
437444
if p*T.pre.weights[i] <= lvl then
438445
pows := StructuralCopy(T.pre.jen.pows[pos1]);
439-
pos := PositionNonZero(pows);
446+
pos := PosNonzero(pows);
440447
pows := pows{pos};
441448
combs := Combinations([1..Length(pos)]);
442449
Remove(combs, 1);
@@ -516,7 +523,7 @@ local F, p, exp, pos1, i, j, pows, pos, combs, v, c, w, s, m, tup, coefprod, exp
516523
pows := StructuralCopy(T.pre.jen.coms[poscom][2]);
517524
pows[pos1] := 1;
518525
pows[pos2] := 1;
519-
pos := PositionNonZero(pows);
526+
pos := PosNonzero(pows);
520527
pows := pows{pos};
521528
combs := Combinations([1..Length(pos)]);
522529
v := [ ];
@@ -659,7 +666,7 @@ BindGlobal("TableOfRadByCollection", function( T )
659666
# Generate the definitions. E.g. [0,2,1,3] = [0,1,0,0]*[0,1,1,3] is saved.
660667
for i in [1..n] do
661668
if not i in T.pre.poswone then
662-
d := PositionNonZero(T.pre.exps[i]);
669+
d := PosNonzero(T.pre.exps[i]);
663670
v := 0*T.pre.exps[i]; v[d] := 1;
664671
l := Position(T.pre.exps, v);
665672
w := T.pre.exps[i]-v;

gap/grpalg/detbins.gi

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -241,11 +241,12 @@ end );
241241
###### Some new invariants (new compared to ModIsom versions 1 and 2). First an article of Baginski
242242

243243

244-
## Baginski 99 Corollary 7 and Theorem 9
244+
## Baginski 99 Corollary 7 and Theorem 9, also Baginski-Zabielski 25 Lemma 7
245245
BindGlobal("BaginskiInfo", function(G)
246-
local D, N, act, F, r;
246+
local D, N, act, F, r, p;
247247
D := DerivedSubgroup(G);
248248
F := FrattiniSubgroup(D);
249+
p := PrimePGroup(G);
249250

250251
# if-condition only for technical reasons, output is the same
251252
if Size(D) = Size(F) then
@@ -257,6 +258,8 @@ local D, N, act, F, r;
257258

258259
if IsCyclic(G/N) then
259260
return [GroupInfo(G/FrattiniSubgroup(N)), GroupInfo(N/F)];
261+
elif Order(G/N) = p then
262+
return [GroupInfo(G/FrattiniSubgroup(N)), GroupInfo(N/F), JenningsInfoAllFields(N)];
260263
else
261264
return false;
262265
fi;
@@ -405,7 +408,7 @@ end);
405408
#### Some theoretical results follow from the other criteria. In particular metacyclic groups (Sandling 96) and (elem-ab.)-by-cyclic groups (Baginski 99) are covered.
406409

407410
BindGlobal("IsCoveredByTheory", function(G)
408-
local p, n;
411+
local p, n, D, F, N, act;
409412

410413
p := PrimePGroup(G);
411414
n := Log(Size(G),p);
@@ -458,15 +461,30 @@ local p, n;
458461
if p <> 2 and IsCyclic(DerivedSubgroup(G)) and IsCyclic( Agemo(G/DerivedSubgroup(G), p, 2) ) then
459462
return true;
460463
fi;
461-
464+
465+
# Baginski-Zabielski 25, Proposition 8
466+
# if-condition only for technical reasons, output is the same
467+
if Size(G/FrattiniSubgroup(G)) = p^2 then
468+
D := DerivedSubgroup(G);
469+
F := FrattiniSubgroup(D);
470+
if Size(D) = Size(F) then
471+
N := Centralizer(G, D);
472+
else
473+
act := AbelianSubfactorAction(G, D, FrattiniSubgroup(D));
474+
N := Kernel(act[1]);
475+
fi;
476+
if IsAbelian(N) and Size(G/N) = p then
477+
return true;
478+
fi;
479+
fi;
462480

463481
return false;
464482
end);
465483

466484

467485
# variation of previous function only where MIP is solved for all fields
468486
BindGlobal("IsCoveredByTheoryAllFields", function(G)
469-
local p, n;
487+
local p, n, q;
470488

471489
p := PrimePGroup(G);
472490
n := Log(Size(G),p);
@@ -486,6 +504,14 @@ local p, n;
486504
return true;
487505
fi;
488506

507+
# GarciaLucas-Margolis24, case of all fields for p=2
508+
if p = 2 and IsCyclic(Center(G)) and NilpotencyClassOfGroup(G) = 2 then
509+
q := AbelianInvariants(G/Center(G));
510+
if Size(q) <= 2 or q[Size(q)] > q[Size(q)-2] then
511+
return true;
512+
fi;
513+
fi;
514+
489515
return false;
490516
end);
491517

0 commit comments

Comments
 (0)