FlabbyResolutionBC.gap
- Definition of MG
- Let G be a finite subgroup of GL(n,Z). The G-lattice MG of rank n is defined to be the G-lattice with a Z-basis {u1,…,un} on which G acts by σ(ui)=n∑j=1ai,juj for any σ=[ai,j]∈G.
Hminus1
Hminus1(G)
returns the Tate cohomology group ˆH−1(G,MG) for a finite subgroup G≤GL(n,Z).
H0
H0(G)
returns the Tate cohomology group ˆH0(G,MG) for a finite subgroup G≤GL(n,Z).
H1
H1(G)
returns the cohomology group H1(G,MG) for a finite subgroup G≤GL(n,Z).
Sha1Omega
Sha1Omega(G)
returns Sha1w(G,MG).
Sha1OmegaTr
Sha1OmegaTr(G)
returns Sha1w(G,(MG)∘).
ShaOmega
ShaOmega(G,n)returns Shanw(G,MG) for G-lattice MG.
This function needs HAP package in GAP.
ShaOmegaFromGroup
ShaOmegaFromGroup(M,n,G)returns Shanw(G,M) for G-lattice M.
This function needs HAP package in GAP.
TorusInvariants
TorusInvariants(G)
returns TIG=[l1,l2,l3,l4]
where
l1={0if [MG]fl=0,1if [MG]fl≠0 but is invertible,2if [MG]fl is not invertible,
l2=H1(G,[MG]fl)≃Sha1w(G,[MG]fl),
l3=Sha1w(G,(MG)∘)≃Sha2w(G,([MG]fl)∘),
l4=H1(G,([MG]fl)fl)≃Sha2w(G,[MG]fl) via the command H1(G).
TorusInvariantsHAP
TorusInvariantsHap(G)
returns TIG=[l1,l2,l3,l4]
where
l1={0if [MG]fl=0,1if [MG]fl≠0 but is invertible,2if [MG]fl is not invertible,
l2=H1(G,[MG]fl)≃Sha1w(G,[MG]fl),
l3=Sha1w(G,(MG)∘)≃Sha2w(G,([MG]fl)∘),
l4=Sha2w(G,[MG]fl) via the command ShaOmegaFromGroup([MG]fl,2,G).
This function needs HAP package in GAP.
ConjugacyClassesSubgroups2TorusInvariants
ConjugacyClassesSubgroups2TorusInvariants(G)
returns the records
ConjugacyClassesSubgroups2 and TorusInvariants
where
ConjugacyClassesSubgroups2 is the list [g1,…,gm] of conjugacy classes of subgroups of G≤GL(n,Z) with the fixed ordering via the function ConjugacyClassesSubgroups2(G) ( [HY17, Section 4.1]) and
TorusInvariants is the list [TorusInvariants(g1),…,TorusInvariants(gm)] via the function TorusInvariants(G).
PossibilityOfStablyEquivalentSubdirectProducts
PossibilityOfStablyEquivalentSubdirectProducts(G,G', ConjugacyClassesSubgroups2TorusInvariants(G), ConjugacyClassesSubgroups2TorusInvariants(G'))returns the list l of the subdirect products ˜H≤G×G′ of G and G′ up to (GL(n1,Z)×GL(n2,Z))-conjugacy which satisfy TIφ1(H)=TIφ2(H) for any H≤˜H where ˜H≤G×G′ is a subdirect product of G and G′ which acts on MG and MG′ through the surjections φ1:˜H→G and φ2:˜H→G′ respectively (indeed, this function computes it for H up to conjugacy for the sake of saving time). In particular, if the length of the list l is zero, then we find that [MG]fl and [MG′]fl are not weak stably k-equivalent.
FlabbyResolutionLowRank
FlabbyResolutionLowRank(G).actionF
returns the matrix representation of the action of G on F
where F is a suitable flabby class of MG (F]=[MG]fl) with low rank
by using backtracking techniques
(see [HY17, Chapter 5], see also [HHY Algorithm 4.1 (3)]).
Each isomorphism class of irreducible permutation ˜H-lattices corresponds to a conjugacy class of subgroup H of ˜H by H↔Z[˜H/H]. Let H1={1},…,Hr=˜H be all conjugacy classes of subgroups of ˜H whose ordering corresponds to the GAP function ConjugacyClassesSubgroups2(˜H) (see [HY17, Section 4.1, page 42]).
We suppose that [F]=[F′] as ˜H-lattices. Then we have (r⨁i=1Z[˜H/Hi]⊕xi)⊕F⊕b1 ≃ (r⨁i=1Z[˜H/Hi]⊕yi)⊕F′⊕b1 where b1=1. We write the equation (2) as r⨁i=1Z[˜H/Hi]⊕ai ≃ (F−F′)⊕(−b1) formally where ai=xi−yi∈Z. Then we may consider "F−F′" formally in the sene of (2). By computing some GL(n,Z)-conjugacy class invariants, we will give a necessary condition for [F]=[F′].
Let {c1,…,cr} be a set of complete representatives of the conjugacy classes of ˜H. Let Ai(cj) be the matrix representation of the factor coset action of cj∈˜H on Z[˜H/Hi] and B(cj) be the matrix representation of the action of cj∈˜H on F−F′.
By (3), for each cj∈˜H, we have r∑i=1aitrAi(cj)+b1trB(cj)=0 where trA is the trace of the matrix A. Similarly, we consider the rank of H0=ˆZ0. For each Hj, we get r∑i=1airank ˆZ0(Hj,Z[˜H/Hi])+b1rank ˆZ0(Hj,F−F′)=0. Finally, we compute ˆH0. Let Syp(A) be a p-Sylow subgroup of an abelian group A. Syp(A) can be written as a direct product of cyclic groups uniquely. Let np,e(Syp(A)) be the number of direct summands of cyclic groups of order pe. For each Hj,p,e, we get r∑i=1ainp,e(Syp(ˆH0(Hj,Z[˜H/Hi])))+b1np,e(Syp(ˆH0(Hj,F−F′)))=0. By the equalities (4), (5) and (6), we may get a system of linear equations in a1,…,ar,b1 over Z. Namely, we have that [F]=[F′] as ˜H-lattices ⟹ there exist a1,…,ar∈Z and b1=±1 which satisfy (3) ⟹ this system of linear equations has an integer solution in a1,…,ar with b1=±1.
In particular, if this system of linear equations has no integer solutions, then we conclude that [F]≠[F′] as ˜H-lattices.
PossibilityOfStablyEquivalentFSubdirectProduct
PossibilityOfStablyEquivalentFSubdirectProduct(H~)
returns a basis
L={l1,…,ls} of the solution space
{[a1,…,ar,b1]∣ai,b1∈Z}
of the system of linear equations which is obtained by the equalities
(4), (5) and (6)
and gives all possibilities that establish the equation (3)
for a subdirect product
˜H≤G×G′ of G and G′.
PossibilityOfStablyEquivalentMSubdirectProduct
PossibilityOfStablyEquivalentMSubdirectProduct(H~)
returns the same as
PossibilityOfStablyEquivalentFSubdirectProduct(H~)
but with respect to MG and MG′
instead of F and F′.
PossibilityOfStablyEquivalentFSubdirectProduct with "H2" option
PossibilityOfStablyEquivalentFSubdirectProduct(H~:H2)
returns the same as
PossibilityOfStablyEquivalentFSubdirectProduct(H~)
but using also the additional equality
r∑i=1ainp,e(Syp(H2(˜H,Z[˜H/Hi])))+b1np,e(Syp(H2(˜H,F−F′)))=0
and the equalities (4), (5) and (6).
PossibilityOfStablyEquivalentMSubdirectProduct with "H2" option
PossibilityOfStablyEquivalentMSubdirectProduct(H~:H2)
returns the same as
PossibilityOfStablyEquivalentFSubdirectProduct(H~:H2)
but with respect to MG and MG′
instead of F and F′.
In general, we will provide a method in order to confirm the isomorphism (r⨁i=1Z[˜H/Hi]⊕ai)⊕F⊕b1≃(r⨁i=1Z[˜H/Hi]⊕a′i)⊕F′⊕b′1 with ai,a′i≥0, b1,b′1≥1, although it is needed by trial and error.
Let G1 (resp. G2) be the matrix representation group of the action of ˜H on the left-hand side (⊕ri=1Z[˜H/Hi]⊕ai) ⊕ F⊕b1 (resp. the right-hand side (⊕ri=1Z[˜H/Hi]⊕a′i) ⊕ F⊕b′1) of the isomorphism (8). Let P={P1,…,Pm} be a basis of the solution space of G1P=PG2 where m=rankZ Hom(G1,G2) = rankZ Hom˜H(MG1,MG2). Our aim is to find the matrix P which satisfies G1P=PG2 by using computer effectively. If we can get a matrix P with det P=±1, then G1 and G2 are GL(n,Z)-conjugate where n is the rank of both sides of (8) and hence the isomorphism (8) established. This implies that the flabby class [F⊕b1]=[F′⊕b′1] as ˜H-lattices.
StablyEquivalentFCheckPSubdirectProduct
StablyEquivalentFCheckPSubdirectProduct(H~,l1,l2)returns a basis P={P1,…,Pm} of the solution space of G1P=PG2 where m=rankZ Hom(G1,G2) and G1 (resp. G2) is the matrix representation group of the action of ˜H on (⊕ri=1Z[˜H/Hi]⊕ai)⊕F⊕b1 (resp. (⊕ri=1Z[˜H/Hi]⊕a′i)⊕F′⊕b′1) with the isomorphism (8) for a subdirect product ˜H≤G×G′ of G and G′, and lists l1=[a1,…,ar,b1], l2=[a′1,…,a′r,b′1], if P exists. If such P does not exist, this returns [ ].
StablyEquivalentMCheckPSubdirectProduct
StablyEquivalentMCheckPSubdirectProduct(H~,l1,l2)returns the same as StablyEquivalentFCheckPSubdirectProduct(H~,l1,l2) but with respect to MG and MG′ instead of F and F′.
StablyEquivalentFCheckMatSubdirectProduct
StablyEquivalentFCheckMatSubdirectProduct(H~,l1,l2,P)returns true if G1P=PG2 and det P=±1 where G1 (resp. G2) is the matrix representation group of the action of ˜H on (⊕ri=1Z[˜H/Hi]⊕ai)⊕F⊕b1 (resp. (⊕ri=1Z[˜H/Hi]⊕a′i)⊕F′⊕b′1) with the isomorphism (8) for a subdirect product ˜H≤G×G′ of G and G′, and lists l1=[a1,…,ar,b1], l2=[a′1,…,a′r,b′1]. If not, this returns false.
StablyEquivalentMCheckMatSubdirectProduct
StablyEquivalentMCheckMatSubdirectProduct(H~,l1,l2,P)returns the same as StablyEquivalentFCheckMatSubdirectProduct(H~,l1,l2,P) but with respect to MG and MG′ instead of F and F′.
StablyEquivalentFCheckGenSubdirectProduct
StablyEquivalentFCheckGenSubdirectProduct(H~,l1,l2)returns the list [M1,M2] where M1=[g1,…,gt] (resp. M2=[g′1,…,g′t]) is a list of the generators of G1 (resp. G2) which is the matrix representation group of the action of ˜H on (⊕ri=1Z[˜H/Hi]⊕ai)⊕F⊕b1 (resp. (⊕ri=1Z[˜H/Hi]⊕a′i)⊕F′⊕b′1) with the isomorphism (8) for a subdirect product ˜H≤G×G′ of G and G′, and lists l1=[a1,…,ar,b1], l2=[a′1,…,a′r,b′1].
StablyEquivalentMCheckGenSubdirectProduct
StablyEquivalentMCheckGenSubdirectProduct(H~,l1,l2)returns the same as StablyEquivalentMCheckGenSubdirectProduct(H~,l1,l2) but with respect to MG and MG′ instead of F and F′.
By applying the function StablyEquivalentFCheckPSubdirectProduct, we get a basis P={P1,…,Pm} of the solution space of G1P=PG2 with det Pi=±1 for some 1≤i≤m where G1 (resp. G2) is the matrix representation group of the action of ˜H on the left-hand side (⊕ri=1Z[˜H/Hi]⊕ai)⊕F⊕b1 (resp. the right-hand side (⊕ri=1Z[˜H/Hi]⊕a′i)⊕F′⊕b′1) of the isomorphism (8) and m=rankZ Hom(G1,G2).
However, in general, we have that det Pi≠±1 for any 1≤i≤m. In the general case, we should seek a matrix P with det P=±1 which is given as a linear combination P=∑mi=1ciPi. This task is important for us and not easy in general even if we use a computer.
We made the following GAP algorithms which may find a matrix P=∑mi=1ciPi with G1P=PG2 and det P=±1.
We will explain the algorithms below when the input P is obtained by StablyEquivalentFCheckPSubdirectProduct(˜H,l1,l2) although it works in more general situations.
SearchPRowBlocks
SearchPRowBlocks(P)
returns the records bpBlocks and rowBlocks
where
bpBlocks (resp. rowBlocks) is
the decomposition of the list l=[1,…,m] (resp. l=[1,…,n])
with m=rankZ Hom(G1,G2) (resp. n=size G1)
according to the direct sum decomposition of MG1
for a basis P={P1,…,Pm}
of the solution space of G1P=PG2
where G1 (resp. G2) is the matrix representation group of the action of
˜H
on the left-hand side (⊕ri=1Z[˜H/Hi]⊕ai)⊕F⊕b1
(resp. the right-hand side
(⊕ri=1Z[˜H/Hi]⊕a′i)⊕F′⊕b′1)
of the isomorphism (8).
We write B[t] = SearchPRowBlocks(P).bpBlocks[t] and R[t] = SearchPRowBlocks(P).rowBlocks[t].
SearchPFilterRowBlocks
SearchPFilterRowBlocks(P,B[t],R[t],j)returns the lists {Ms} where Ms is the nt×n matrix with all invariant factors 1 which is of the form Ms=∑i∈B[t]ciP′i (ci∈{0,1}) at most j non-zero ci's and P′i is the submatrix of Pi consists of R[t] rows with nt=length(R[t]) for a basis P={P1,…,Pm} of the solution space of G1P=PG2 where G1 (resp. G2) is the matrix representation group of the action of ˜H on the left-hand side (⊕ri=1Z[˜H/Hi]⊕ai)⊕F⊕b1 (resp. the right-hand side (⊕ri=1Z[˜H/Hi]⊕a′i)⊕F′⊕b′1) of the isomorphism (8), B[t] = SearchPRowBlocks(P).bpBlocks[t], R[t] = SearchPRowBlocks(P).rowBlocks[t]) and j≥1.
SearchPFilterRowBlocks(P,B[t],R[t],j,C)returns the same as SearchPFilterRowBlocks(P,B[t],R[t],j) but with respect to ci∈C instead of ci∈{0,1} for the list C of integers.
SearchPFilterRowBlocksRandomMT
SearchPFilterRowBlocksRandomMT(P,B[t],R[t],u)returns the same as SearchPFilterRowBlocks(P,B[t],R[t],j) but with respect to random u ci's via Mersenne Twister instead of at most j non-zero ci's for integer u≥1.
SearchPFilterRowBlocksRandomMT(P,B[t],R[t],u,C)returns the same as SearchPFilterRowBlocksRandomMT(P,B[t],R[t],u) but with respect to ci∈C instead of ci∈{0,1} for the list C of integers.
SearchPMergeRowBlock
SearchPMergeRowBlock(m1,m2)returns all concatenations of the matrices Ms and Mt vertically with all invariant factors 1 (resp. a concatenation of the matrices Ms and Mt vertically with determinant ±1) for m1={Ms} and m2={Mt} where Ms are n1×n matrices and Mt are n2×n matrices with n1+n2 < n (resp. n1+n2=n).
When there exists t∈Z such that R[t] ={j}, we can use:
SearchPLinear
SearchPLinear(M,P1)returns the list {det(M+Pi)}i∈B[t] of integers for an n×n matrix M which is obtained by inserting the zero row into the j-th row of (n−1)×n matrix Ms=∑i∉B[t]ciP′i with all invariant factors 1 and P1={Pi}i∈B[t] where B[t] = SearchPRowBlocks(P).bpBlocks[t], P′i is the submatrix of Pi deleting the j-th row, and P={P1,…,Pm} is obtained by StablyEquivalentFCheckPSubdirectProduct(˜H,l1,l2) under the assumption that there exists t∈Z such that R[t] ={j}.
When there exist t1,t2∈Z such that R[t1] ={j1}, R[t2] ={j2}, we can use:
SearchPBilinear
SearchPBilinear(M,P1,P2)returns the matrix [det(M+Pi1+Pi2)]i1∈B[t1],i2∈B[t2] for an n×n matrix M which is obtained by inserting the two zero rows into the j1-th row and the j2-th row of (n−2)×n matrix Ms=∑i∉B[t1]∪B[t2]ciP′i with all invariant factors 1 and P1={Pi1}i1∈B[t1], P2={Pi2}i2∈B[t2], where B[t1] = SearchPRowBlocks(P).bpBlocks[t1], B[t2] = SearchPRowBlocks(P).bpBlocks[t2], P′i is the submatrix of Pi deleting the j1-th and the j2-th rows, and P={P1,…,Pm} is obtained by StablyEquivalentFCheckPSubdirectProduct(˜H,l1,l2) under the assumption that there exist t1,t2∈Z such that R[t1] ={j1} and R[t2] ={j2}.
When there exists t∈Z such that R[t] ={j1,j2}, we can use:
SearchPQuadratic
SearchPQuadratic(M,P1)returns the matrix [12(det(M+Pi1+Pi2)−det(M+Pi1)−det(M+Pi2))]i1,i2∈B[t] for an n×n matrix M which is obtained by inserting the two zero rows into the j1-th row and the j2-th row of (n−2)×n matrix Ms=∑i∉B[t]ciP′i with all invariant factors 1 and P1={Pi}i∈B[t], where B[t] = SearchPRowBlocks(P).bpBlocks[t], P′i is the submatrix of Pi deleting the j1-th and j2-th rows and P={P1,…,Pm} is obtained by StablyEquivalentFCheckPSubdirectProduct(˜H,l1,l2) under the assumption that there exists t∈Z such that R[t] ={j1,j2}.
When R[1] ={1,…,m}, we can use:
SearchP1
SearchP1(P)
returns a matrix P=∑mi=1ciPi
with ci∈{0,1}, G1P=PG2 and det P=±1
where G1 (resp. G2) is the matrix representation group of the action of
˜H
on the left-hand side (⊕ri=1Z[˜H/Hi]⊕ai)⊕F⊕b1
(resp. the right-hand side
(⊕ri=1Z[˜H/Hi]⊕a′i)⊕F′⊕b′1)
of the isomorphism (8)
for P={P1,…,Pm} which is obtained by
StablyEquivalentFCheckPSubdirectProduct(˜H,l1,l2)
under the assumption that
R[1]={1,…,m}.
SearchP1(P,C)returns the same as SearchP1(P) but with respect to ci∈C instead of ci∈{0,1} for the list C of integers.
Endomorphismring
Endomorphismring(G)
returns a Z-basis of
EndZ[G](MG) for a finite subgroup G of GL(n,Z).
IsCodimJacobsonEnd1
IsCodimJacobsonEnd1(G,p)returns true (resp. false) if dimZ/pZ(E/pE)/J(E/pE)=1 (resp. ≠1) where E=EndZ[G](MG) for a finite subgroup G of GL(n,Z) and prime number p. If this returns true, then MG⊗ZZp is an indecomposable Zp[G]-lattice. In particular, MG is an indecomposable G-lattice (see [HY, Lemma 6.11]).
IdempotentsModp
IdempotentsModp(B,p)returns all idempotents of R/pR for a Z-basis B of a subring R of n×n matrices M(n,Z) over Z and prime number p. If this returns only the zero and the identity matrices when R=EndZ[G](MG), then MG⊗ZZp is an indecomposable Zp[G]-lattice. In particular, MG is an indecomposable G-lattice (see [HY, Lemma 6.10]).
ConjugacyClassesSubgroups2WSEC
ConjugacyClassesSubgroups2WSEC(G)
returns the records
ConjugacyClassesSubgroups2 and
WSEC
where
ConjugacyClassesSubgroups2 is the list [g1,…,gm] of conjugacy classes of subgroups of G≤GL(n,Z) (n=3,4) with the fixed ordering via the function ConjugacyClassesSubgroups2(G) (see [HY17, Section 4.1]) and
WSEC is the list [w1,…,wm] where gi is in the wi-th weak stably k-equivalent class WSECwi in dimension n.
MaximalInvariantNormalSubgroup
MaximalInvariantNormalSubgroup(G,ConjugacyClassesSubgroups2WSEC(G))returns the maximal normal subgroup N of G which satisfies that π(H1)=π(H2) implies ψ(H1)=ψ(H2) for any H1,H2≤G where π:G→G/N is the natural homomorphism, ψ:Hi↦wi, and Hi is in the wi-th weak stably k-equivalent class WSECwi in dimension n.
PossibilityOfStablyEquivalentSubdirectProducts with "WSEC" option
PossibilityOfStablyEquivalentSubdirectProducts(G,G', ConjugacyClassesSubgroups2WSEC(G), ConjugacyClassesSubgroups2WSEC(G'),["WSEC"])returns the list l of the subdirect products ˜H≤G×G′ of G and G′ up to (GL(n1,Z)×GL(n2,Z))-conjugacy which satisfy w1=w2 for any H≤˜H where φi(H) is in the wi-th weak stably k-equivalent class WSECwi in dimension n (n=3,4) and ˜H≤G×G′ is a subdirect product of G and G′ which acts on MG and MG′ through the surjections φ1:˜H→G and φ2:˜H→G′ respectively (indeed, this function computes it for H up to conjugacy for the sake of saving time).
IsomorphismFromSubdirectProduct
IsomorphismFromSubdirectProduct(H~)
returns the isomorphism σ:G/N→G′/N′
which satisfies σ(φ1(h)N)=φ2(h)N′
for any h∈˜H
where N=φ1(Ker(φ2)) and
N′=φ2(Ker(φ1))
for a subdirect product
˜H≤G×G′ of G and G′
with surjections φ1:˜H→G
and φ2:˜H→G′.
AutGSubdirectProductsWSECInvariant
AutGSubdirectProductsWSECInvariant(G)
returns subdirect products
˜Hm =
{(g,gσm)∣g∈G,gσm∈Gσm}
(1≤m≤s) of G and Gσm
where
{σ1,…,σs} is a complete set of representatives
of the double coset X∖Z/X,
Inn(G)≤X≤Y≤Z≤Aut(G),
X=AutGL(n,Z)(G)={σ∈Aut(G)∣G and Gσ are conjugate inGL(n,Z)}≃NGL(n,Z)(G)/ZGL(n,Z)(G),Y={σ∈Aut(G)∣[MG]fl=[MGσ]fl as ˜H-lattices where ˜H={(g,gσ)∣g∈G}≃G},Z={σ∈Aut(G)∣[MH]fl∼[MHσ]fl for any H≤G},
Inn(G) is the group of inner automorphisms on G,
Aut(G) is the group of automorphisms on G,
NGL(n,Z)(G) is the normalizer of G in GL(n,Z) and
ZGL(n,Z)(G) is the centralizer of G in GL(n,Z).
AutGSubdirectProductsWSECInvariantGen
AutGSubdirectProductsWSECInvariantGen(G)
returns the same as
AutGSubdirectProductsWSECInvariant(G)
but with respect to
{σ1,…,σt}
where σ1,…,σt∈Z are some minimal number of generators
of the double cosets of X∖Z/X, i.e.
minimal number of elements σ1,…,σt∈Z
which satisfy ⟨σ1,…,σt,x∣x∈X⟩=Z,
instead of a complete set of representatives
of the double coset X∖Z/X.
If this returns [], then we get X=Y=Z.
AutGLnZ
AutGLnZ(G)
returns
X=AutGL(n,Z)(G)={σ∈Aut(G)∣G and Gσ are conjugate in GL(n,Z)}≃NGL(n,Z)(G)/ZGL(n,Z)(G).
N3WSECMembersTable
N3WSECMembersTable[r][i]returns an integer j which satisfies that N3,j is the i-th group in the weak stably k-equivalent class WSECr.
N4WSECMembersTable
N4WSECMembersTable[r][i]is the same as N3WSECMembersTable[r][i] but using N4,j instead of N3,j.
I4WSECMembersTable
I4WSECMembersTable[r][i]is the same as N3WSECMembersTable[r][i] but using I4,j instead of N3,j.
AutGWSECINvariantSmallDegreeTest
AutGWSECINvariantSmallDegreeTest(G)
returns the list l=[l1,…,ls] (l1≤⋯≤ls)
of integers with the minimal ls,…,l1
which satisfies Z=Z′
where
Z={σ∈Aut(G)∣[MH]fl∼[MHσ]fl for any H≤G},Z′={σ∈Aut(G)∣[MH]fl∼[MHσ]fl for any H≤G with [G:H]∈l}
for G≤GL(n,Z) (n=3,4).