4f PDF
4f PDF
4f PDF
www.elsevier.com/locate/jalgebra
Abstract
Based on a constructive proof of a theorem of Dittmann, an algorithm is developed for finding
a regulating subgroup of an almost completely decomposable group given in standard description.
The algorithm is implemented in the Maple 8 computer algebra system and involves properties and
manipulations of matrices with integer entries.
2004 Elsevier Inc. All rights reserved.
1. Introduction
* Corresponding author.
E-mail addresses: benabdal@ere.umontreal.ca (K. Benabdallah), adolf@math.hawaii.edu (A. Mader).
0021-8693/$ – see front matter 2004 Elsevier Inc. All rights reserved.
doi:10.1016/j.jalgebra.2004.07.015
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 451
We call A a base group of X, the vi are fictitious basis elements that serve to make A
an internal direct sum, and v = [v1 · · · vr ]tr . This is called a standard description of X.
These data can be manipulated by computer. Our procedure computes matrices N , M such
−1
that X = B + Z N M w where the base group B = σ1 w1 ⊕ · · · ⊕ σr wr is a regulating
subgroup of X. The algorithm is such that size(N ) size(N). The size of the structure
matrix is the number of generators of the quotient “group/base group” of the given standard
description. Hence the number of generators does not increase in the construction.
The purification of a subgroup H in a torsion-free group G is denoted by H∗G . We take
it for granted that the reader is familiar with the usual type subgroupsG(τ ), G∗ (τ ), and
G (τ ) = G∗ (τ )G
∗ . If A is a completely decomposable group, then A = ρ∈Tcr (A) Aρ is as-
sumed to be a decomposition of A into ρ-homogeneous components Aρ = 0, so that Tcr (A)
is the critical typeset of A. For background on torsion-free abelian groups and almost
completely decomposable groups, see [1,12,13]. Maps are written on the right. The set
inclusion symbol ⊂ allows equality. For any torsion-free group G and an element g ∈ G,
452 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
let QG
g := {r ∈ Q: rg ∈ G}, the coefficient group of g in G. For example, if A = τ a ⊕ B
where τ is a rational group, then QA a = τ . The coefficient groups are our replacements for
characteristics and serve better in our context. The symbol Mk×r (R) denotes the set of all
k × r-matrices with entries in the set R.
Theorem 2.2 [13, Theorem 11.3.3]. Let N be a non-singular k × k integral matrix and
set n = det N . Let A = rj =1 σj vj be completely decomposable, and assume that V =
{v1 , . . . , vr } is an n-basis of A. Set v = [v1 , . . . , vr ]tr , and assume that a = M v for
some (integral!) matrix M ∈ Mk×r (Z). Set S0 = diag(gcdA (n, v1 ), . . . , gcdA (n, vr )). Then
gcdA N, a = gcdA N, M v = gcd(N, MS0 ).
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 453
Theorem 2.2 reduces the computation of greatest common divisors in completely de-
composable groups to the computation of greatest common left divisors of two integral
matrices. (See Procedure 6.1 for the algorithm and an example.)
Corollary 2.3. In the situation of Theorem 2.2, if none of the coefficient σi is divisible by a
prime factor of n, then S0 = Ir and
gcdA N, a = gcdA N, M v = gcd(N, M).
Because vi is n-conditioned in Theorem 2.2, the number si := gcdA (n, vi ) is the largest
factor of n such that si σi = σi .
Let Mj denote the j th column of M. By [13, Lemma 11.2.9]
gcdA N, M v = gcd gcdA (N, M1 v1 ), . . . , gcdA (N, Mr vr ) , (2.4)
and clearly
gcd(N, M) = gcd gcd(N, M1 ), . . . , gcd(N, Mr ) . (2.5)
The identities (2.4) and (2.5) have important consequences. In the following lemma we
mean by “submatrix” of M any matrix obtained from M by replacing selected columns of
M by columns of zeros.
Lemma 2.6. Let N ∈ Mk (Z) be non-singular and set n = det(N). Let A = rj =1 σj vj be
completely decomposable, and assume that V = {v1 , . . . , vr } is an n-basis of A. Further let
M ∈ Mk×r (Z) and S = diag(s1 , . . . , sr ). Then gcdA (N, M v ) = gcd(N, M S) for every
“submatrix” M of M if and only if gcdA (N, Mj vj ) = gcd(N, Mj sj ) for j = 1, . . . , r.
Proof. Suppose that S is such that gcdA (N, M v ) = gcd(N, M S) for every “submatrix”
M of M. Let Mj be the “submatrix” of M whose columns are all zero columns except for
the column Mj . Then gcdA (N, Mj v ) = gcd(N, Mj S) by hypothesis, gcdA (N, Mj v ) =
gcdA (N, Mj vj ), and clearly gcd(N, Mj S) = gcd(N, Mj sj ).
Suppose conversely that gcdA (N, Mj vj ) = gcd(N, Mj sj ) for j = 1, . . . , r. Then
gcdA (N, Mj v ) = gcd(N, Mj S) for every submatrix M of M by (2.4) and (2.5). 2
Theorem 2.7. Let N ∈ Mk (Z) be non-singular, Snf(N) = diag(d1 , . . . , dk ) its Smith Nor-
mal Form, and n = det N . Let A = σ1 v1 ⊕ · · · ⊕ σr vr be a completely decomposable group
of rank r, and v an n-basis of A. Let S = diag(s1 , . . . , sr ) where si = gcdA (dk , vi ) for
i = 1, . . . , r. Then w = S −1 v is an n-basis of A, and A = σ1 w1 ⊕ · · · ⊕ σr wr . Suppose
that M ∈ Mk×r (Z). Then
We will reduce the question to the special case that N is in Smith Normal Form. This is
best done with a lemma.
Lemma 2.8. Let N ∈ Mk (Z) be non-singular, M ∈ Mk×r (Z), v = [v1 , . . . , vr ]tr be a col-
umn vector of elements in a torsion-free group A. Further, let P , Q be invertible matrices
in Mk (Z) and let S ∈ Mr (Z). Then the following hold:
Proof. (1) Set D1 = gcd(N, M) and D2 = gcd(NQ, M). Then there are factorizations
N = D1 N1 , M = D1 M1 and NQ = D2 N2 , M = D2 M2 . Now N = D2 N2 Q−1 , M =
D2 M2 , and D1 = gcd(N, M) imply that D1 = D2 F1 for some integral matrix F1 . Simi-
larly, D2 = D1 F2 and it follows that D1 = D1 F1 F2 . Since N is non-singular, so is D1 ,
and canceling D1 we find that F1 and F2 are invertible. This says that D1 and D2 are right
equivalent and establishes the identity of greatest common divisors in 1.
(2) Replacing M by M v , the argument is identical with that in (1).
(3) Assume that gcdA (N, M v ) = gcd(N, MS). Then
Proof of Theorem 2.7. By Lemma 2.8(3) it suffices to assume that N itself is in Smith
Normal Form, N = diag(d1 , . . . , dk ). Fix j ∈ {1, . . . , r}. Set ei = gcdA (di , vj ) and let E =
diag(e1 , . . . , ek ). We have di = ei fi for some integers fi satisfying
Let F = diag(f1 , . . . , fk ). Then, by (2.9) and Corollary 2.3, for any integral column ma-
trix C,
(2.10)
gcdA (N, Mj vj ) = gcdA (EF, EU Mj wj ) = E · gcdA (F, U Mj wj ) = E · gcd(F, U Mj )
= gcd(N, EU Mj ) = gcd(N, Mj ek ). 2
The next corollary says, loosely speaking, if an adjustment works, then so does every
bigger adjustment.
hyp.
Proof. gcd(N, MS2 ) = gcd(N, MS1 · S1 ) = gcdA (N, (MS1 )((S1 )−1 v )) = gcdA (N,
M v ). 2
In the construction of a regulating subgroup we are confronted with the situation that
X = A + ZN −1 M v where gcdA (N, M v ) = gcd(N, M), but gcdA (N, M v ) = Ik . The
next lemma demonstrates that the elimination of a greatest common divisor of N and M v
does not affect the desired identity gcdA (N, M v ) = gcd(N, M).
For future use we add an observation that finds an adjustment under certain changes.
Lemma 2.13. Let A = rj =1 σj vj = rj =1 σj wj and let n be a positive integer. Then
{v1 , . . . , vr } is n-conditioned if and only if {w1 , . . . , wr } is n-conditioned.
Let S = diag(gcdA (n, v1 ), . . . , gcdA (n, vr )). Suppose that d is a factor of n. Then
diag gcdA (d, w1 ), . . . , gcdA (d, wr ) = gcd(dIr , S).
Proof. The decomposition bases {vi } and {wi } are either both n-conditioned or not since
this is really a property of the common coefficient groups σi . The fact that gcdA (n, vi )
is the largest factor of n such that gcdA (n, vi )σi = σi and that gcdA (d, wi ) is the largest
factor of d with gcdA (d, wi )σi = σi implies that gcd(d, gcdA (n, vi )) = gcdA (d, wi ). The
rest follows from the fact that gcd(dIk , S) = diag(gcd(d, s1 ), . . . , gcd(d, sr )). 2
456 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
Let A be an arbitrary torsion-free abelian group always of finite rank. A finite essential
extension of A is a group X containing A such that X/A is finite and A is essential in X.
The latter is equivalent to X being torsion-free. For a finite essential extension X of A,
any divisible hull of X is also a divisible hull of A, or we can choose a divisible hull QA
of A and find an isomorphic copy of X in QA. Either way we have QX = QA and this
will be tacitly assumed in the following. In [2] methods of integral linear algebra were
systematically introduced into the study of almost completely decomposable groups and it
was shown that every finite essential extension X of A is obtained in the form
1
X = A + ZN −1 a = A + Z (adj N) a , (3.1)
det N
where Z is the set of all 1 × k integral matrices (k-tuples), N is a non-singular integral
k × k matrix, and a is a k × 1 matrix with entries from A. Here juxtaposition denotes
the ordinary matrix and scalar multiplications. Thus (adj N) a is a k × 1 matrix of certain
integral linear combinations of the entries of a , further
1
N −1 a = (adj N) a
det N
is a k × 1 matrix of elements in a fixed divisible hull QA of A, and ZN −1 a is the set of
all products α (N −1 a ), where
α ∈ Z, i.e., the subgroup of QA generated by the entries
of N −1 a . This shows that the representation makes sense, and that X is generated by A
and the k entries of the column matrix N −1 a . We call the representation (3.1) a standard
description of X. The next proposition shows that the “structure matrix” N in the standard
description determines the structure of X/A.
Proposition 3.2 [13, Corollary 11.2.5]. Let X be a finite essential extension of A and
X = A + ZN −1 a a standard description of X. If gcdA (N, a ) = Ik and Snf(N) =
diag(d1 , . . . , dk ) is the Smith Normal Form of N , then
X∼ Z ∼
= = Z(d1 ) ⊕ · · · ⊕ Z(dk ).
A ZN
The next lemma clears up what needs to be done if, in a standard description X =
A + ZN −1 a , the elements N and a are not relatively prime.
Lemma 3.3. Suppose that X = A + ZN −1 a . Set D = gcd(N, a ). Then
−1 −1
X = A + Z D −1 N D a and gcd D −1 N, D −1 a = Ik .
B∗X = B + ZNB−1 b .
(2) X = (B∗X ⊕C)+ ZKB−1 (NB−1 b +NB−1 c ), where NB−1 b ∈ (B∗X ) and NB−1 c ∈ C .
(3) If gcdA (N, a ) = Ik , then gcdA (NB , b ) = Ik and gcdB∗ ⊕C (KB , NB−1 c ) = Ik .
X
The next lemma clarifies when generators (viz. N −1 a ) can be retained in a transition from
a base group (viz. A) to a new base group (viz. B).
Lemma 3.5. Let X = A + ZN −1 a be a finite essential extension of A. Suppose that
A = A1 ⊕ A2 ⊕ A3 and that B1 is a subgroup of (A1 ⊕ A2 )X ∗ . Set B := (B1 + A2 ) ⊕ A3 ,
and write a = a 1 + a 2 + a 3 with a i ∈ Ai , i = 1, 2, 3. Let N12 = gcdA (N, a 3 ). Then
−1
X = B + ZN −1 a if and only if A1 ⊂ B1 + A2 + ZN12 a1 + a2 .
Proof. Write N = N12 K12 with K12 ∈ Mk (Z), and write a 3 = N12 a 3 with a 3 ∈ A3 .
Then gcdA (K12 , a 3 ) = Ik .
Assume first that X = B + ZN −1 a . Let x ∈ A1 and write x = bx + ax2 + ax3 +
−1
α N a for some bx ∈ B1 , ax2 ∈ A2 , ax3 ∈ A3 ,
α ∈ Z. Then, in a divisible hull QX =
QA of X, we have
α N −1 a 1 + a 2 = ax3 +
x − bx − ax2 − α N −1 a 3
∈ Q(A1 ⊕ A2 ) ∩ QA3 = 0. (3.6)
−1 −1
Now ax3 = − α N −1 a 3 = −
α K12 a 3 ∈ A and by [13, 11.2.2] β :=
α K12 ∈ Z. Going
back to (3.6) we have
458 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
−1
α N −1 a 1 + a 2 = bx + ax2 + β N12
x = bx + ax2 + a1 + a2
−1
∈ B1 + A2 + ZN12 a1 + a2 .
−1
Therefore A1 ⊂ B1 + A2 + ZN12 ( a 1 + a 2 ).
−1
Conversely, suppose that A1 ⊂ B1 + A2 + ZN12 ( a 1 + a 2 ) and let x be any element
of A1 . Then, for some bx ∈ B1 , ax2 ∈ A2 , α ∈ Z,
−1 −1 −1
x = bx + ax2 +
α N12 α a3 +
a 1 + a 2 = bx + ax2 − α N12 a3 +
α N12 a1 + a2
α a 3 +
= bx + ax2 − α K12 N −1 a 1 + a 2 + a 3 ∈ (B1 + A2 ) + A3 + ZN −1 a .
Therefore A1 ⊂ (B1 + A2 ) + A3 + ZN −1 a and X = B + ZN −1 a . 2
The following Corollary 3.7 brings us a step closer to the situation in which the results
will be applied.
Corollary 3.7. Let X = A + ZN −1 a be a finite essential extension of a torsion-free
group A. Suppose that A = τ v ⊕ B ⊕ C, a = m v + b + c where m ∈ Z , b ∈ B ,
c ∈ C , and that τ w ⊕ B∗X = τ v ⊕ B∗X for some element w ∈ X. Let N12 = gcdA (N, c )
and suppose that gcdA (N12 , m v) = gcd(N12 , m ). Then
−1
X = (τ w ⊕ B ⊕ C) + ZN −1 a if and only if v ∈ (τ w ⊕ B) + ZN12 m v + b .
Before starting the proof, let us point out the differences between Corollary 3.7 and
Lemma 3.5. Now A1 = τ v is a rank-one group while A2 = B, and A3 = C have sim-
ply changed names. The new base group τ w ⊕ B ⊕ C is obtained by replacing τ v
in τ v ⊕ B∗X by another direct complement of B∗X . Essential special assumptions are
that the component of a in τ v is a column of integer multiples m v of v and that
gcdA (N12 , m v) = gcd(N12 , m ) (cf. Theorem 2.2). Under these assumptions a single el-
ement, namely v, must be tested in order to decide whether the generators can be retained
in transition to the new base group.
−1 a ,
Proof. Note that τ w ⊂ (τ v ⊕ B)X ∗ . By Lemma 3.5 if X = (τ w ⊕ B ⊕ C) + ZN
−1 −1
then τ v ⊂ (τ w ⊕ B) + ZN12 ( m v + b ), so v ∈ (τ w ⊕ B) + ZN12 ( m v + b ).
−1
Conversely, assume that v ∈ (τ w ⊕ B) + ZN12 ( m v + b ). We show that B∗X ⊂
−1
(τ w ⊕ B) + ZN12 ( m v + b ). Indeed, we know that B∗X = B + ZN2−1 b where N2 :=
gcd(gcdA (N, m v), gcdA (N, c )) = gcd(gcdA (N, m v), N12 ) = gcdA (N12 , m v) =
gcdA (N12 , m ). Put N12 = N2 K2 and m = N2 m . Let x ∈ B∗X . Then x = bx + α N2−1 b
for some bx ∈ B, α ∈ Z and further
α m v +
x = bx − α m v + α N2−1 b = bx − α N2−1 m v + b
α m v +
−1 −1
α m v + (
= bx − α K2 )N12 m v + b ⊂ B + Zv + ZN12 m v + b ⊂ τ w
−1
+ B + ZN12 m v + b .
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 459
−1
It follows that B∗X ⊂ τ w + B + ZN12 ( m v + b ) and since τ w ⊕ B∗X = τ v ⊕ B∗X , we have
−1
τ v ⊂ (τ w ⊕ B) + ZN12 ( m v + b ). By Lemma 3.5 X = (τ w ⊕ B ⊕ C) + ZN −1 a . 2
Given a completely decomposable subgroup A = ρ∈Tcr (X) Aρ of finite index in an
almost completely decomposable group X, one obtains a regulating subgroup if one can
find a homomorphism φ : A → X such that Aτ φ ⊂ X (τ ) and Aτ (1 + φ)X ∗ is a Butler
complement of X (τ ) in X(τ ). We will reduce the transition to the case where X/A is
cyclic by sacrificing the complete decomposability of A. A preliminary observation is the
following.
Lemma 3.8. Let G be a torsion-free group, and assume that, for some positive integer e,
eG ⊂ A ⊕ B ⊂ G for a rank-one group A and a pure subgroup B of G. Then G/(A ⊕ B)
is cyclic.
Proof.
G ∼ G/B
=
A⊕B (A ⊕ B)/B
and
1
U = A ⊕ B∗U + Z (a0 + b0 ), a0 = k P NB−1 a ∈ A, b0 = k P NB−1 b ∈ B∗U .
n0
Furthermore,
U U
gcd(A⊕B∗ ) (n0 , a0 + b0 ) = 1, U : A ⊕ B∗U = n0 , gcd(A⊕B∗ ) (n0 , a0 ) = 1.
k
ZKB−1 NB−1 e = ZQD −1 P NB−1 e = ZD −1 P NB−1 e = i D −1 P NB−1 e ,
Z
i=1
i D −1 P NB−1 e =
and since i P NB−1 e ∈ (A ⊕ B∗U ), i = 1, . . . , k − 1, we have
1
U = A ⊕ B∗U + Z k P NB−1 e .
n0
Clearly,
1
U = A ⊕ B∗U + Z (a0 + b0 )
n0
where a0 = k P NB−1 a ∈ A and b0 = k P NB−1 b ∈ ZNB−1 b ⊂ B∗U . Since |U/(A ⊕
U
B∗U )| = n0 we have gcd(A⊕B∗ ) (n0 , a0 + b0 ) = 1 and since B∗U is pure in U , also
U
gcd(A⊕B∗ ) (n0 , a0 ) = 1. 2
We study cyclic extensions further and show that under suitable assumptions the exis-
tence of a rank-one summand of the base group implies the existence of a direct summand
of the full group.
U = τ w ⊕ H.
In case n = 1 the obvious choice is w = v. Whether this happens depends on the solutions
s, t of 1 = sm + t. In any case w = v + sb and U = τ v ⊕ H = τ w ⊕ H .
1 sm + tn 1
e= e = ms e + te = m(w − tv) + te = mw + tb ∈ τ w ⊕ H. 2
n n n
Lemma 3.13 below shows the way to an algorithmic construction of a regulating sub-
group given a finite essential extension of a completely decomposable group. The proof of
Lemma 3.13 uses the “Extended Bézout equation” in [7] which is the following.
Lemma 3.11. Let a, b, c be arbitrary integers except that c = 0. Then there exist integers
s, t such that
Coefficients for the extended Bézout equation are found algorithmically as follows.
c = gcd(a1 , c)c = gcd(a1 , c)gcd(a1 , c )c = gcd(a1 , c)gcd(a1 , c )gcd(a1 , c )c = · · · ,
Proof. To see that gcd(c, t) = 1 check primes p | c1 and primes p | c2 separately and use
that gcd(a1 , t1 ) = 1. 2
Lemma 3.12 is preparatory for Lemma 3.13 but is more generally useful.
Lemma 3.12. Let G be a torsion-free group, τ a rational group (so containing Z). Suppose
that x ∈ G, τ x ⊂ G and m1 x ∈ G, where m is an integer with the property that p | m implies
that p−1 ∈/ τ . Then τ m1 x ⊂ G, i.e., τ x + Z m1 x = τ m1 x.
The proof of Lemma 3.13 contains the main ingredients of the algorithm that constructs
a regulating subgroup.
Lemma 3.13. Let A be a torsion-free group of finite rank and let X = A + ZN −1 a be a
standard description of the finite essential extension X. Assume that gcdA (N, a ) = Ik . Set
n = det N . Suppose that A is decomposed as A = τ v ⊕ B ⊕ C such that A(τ ) = τ v ⊕ B.
Suppose that a = m v + b + c in such a way that m ∈ Z , b ∈ B , c ∈ C .
Suppose further that the rational group τ and the element v are so chosen that v is
n-conditioned and, for all elements x ∈ Z b , τ ⊂ QB x . Then
X(τ ) = τ w ⊕ B∗X and X = (τ w ⊕ B ⊕ C) + ZN −1 a
1
where w = (v + sb) for some s ∈ Z and b ∈ B∗X .
[X(τ ) : (τ v ⊕ B∗X )]
where
k P NB−1 m ∈ Z,
m= k P NB−1 b ∈ B∗X .
b= (3.14)
[B∗X : B], therefore τ cannot be p-divisible for a prime factor of det NB . Also det NB
divides n and v is n-conditioned, hence for a prime factor p of det NB , τ not being
p-divisible, means that p−1 ∈ / τ . Thus Lemma 3.12 applies and says that τ ⊂ QX b . The
hypotheses of Lemma 3.10 are now verified and X(τ ) = τ w ⊕ B∗X where
1 1
1 = sm + tkB , w=s e + tv = (v + sb). (3.15)
kB kB
X : (τ w ⊕ B ⊕ C) = X : X(τ ) ⊕ C X(τ ) ⊕ C : (τ w ⊕ B ⊕ C)
[X : A] n n
= X(τ ) : (τ w ⊕ B) = nB = .
[X(τ ) : A(τ )] nτ kB
On the basis of Lemma 3.11 we may assume that gcd(nB , t) = 1 and write 1 = αnB + βt.
We use below that nB X(τ ) ⊂ τ w ⊕ B. We will show that v ∈ (τ w ⊕ B) + ZNτ−1 ( m v +
b ) and then use Corollary 3.7 to obtain that X = (τ w ⊕ B ⊕ C) + ZN −1 a . As claimed
we find that
1
v = (αnB + βt)v = αnB v + β w − s e
kB
1
= αnB v + βw − βs k P NB−1 m v + b
kB
1
= αnB v + βw − βs k (P NB−1 Nτ Q)Q−1 Nτ−1 m v + b
kB
1
= αnB v + βw − βs k diag(1, . . . , 1, kB )Q−1 Nτ−1 m v + b
kB
= αnB v + βw − βs k Q−1 Nτ−1 m v + b
∈ (τ w ⊕ B) + ZNτ−1 m v + b . 2
Lemma 4.1 [13, Corollary 2.4.8, Lemma 11.3.2]. Let A be a completely decomposable
group and let X = A + Zx1 + · · · + Zxk be a finite essential extension of A. Then there
is a reduced description X = A + ZN −1 a where N is a k × k non-singular matrix, i.e.,
n := det N = 0, and a is a column vector of elements of A. Then there is a presentation
A = σ1 v1 ⊕ · · · ⊕ σr vr
where the σi are rational groups and V = {v1 , . . . , vr } is an adjusted n-basis. Moreover, V
can be chosen such that a = M v with M ∈ Mk×r (Z) where v = [v1 , . . . , vr ]tr .
We will next consider the question how a regulating subgroup of an almost completely
decomposable group can be found if X is given in the form X = A + ZN −1 a where A is
completely decomposable.
Let us first note a characterization of regulating subgroups which allows a comparison
with tight subgroups. Recall that a tight subgroup in an almost completely decomposable
464 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
X is a subgroup that is maximal with respect to containment among all completely decom-
posable subgroups of X that have finite index in X. In [4] it was shown that a completely
decomposable subgroup D of finite index in X is tight if and only if every rank-one di-
rect summand of D is pure in X. A similar characterization of regulating subgroups is the
following.
X(σi ) = Ai ⊕ (Bi )X
∗.
Then A is regulating in X.
Proof. (1) Suppose first that A is regulating in X and that A(τ ) = B ⊕ C where B has
rank 1 and type τ . Then C = Cτ ⊕ A (τ ) and C∗X ⊃ X (τ ). Since A is regulating, X(τ ) =
B ⊕ Cτ ⊕ X (τ ) and clearly C∗X = Cτ ⊕ X (τ ), so X(τ ) = B ⊕ C∗X .
(2) Conversely, assume the situation of (2). Let τ ∈ Tcr (X). Assume without loss of
Aτ = XA1 ⊕ ·· · ⊕ Am is the τ -homogeneous
generality that component of A. It is easy
to see that m i=1 (B i ) ∗ = X (τ ), and using that A i ⊂ (Bj ) X whenever i = j , we obtain
∗
inductively that
X(τ ) = A1 ⊕ (B1 )X
∗ = A1 ⊕ A2 ⊕ (B1 )∗ ∩ (B2 )∗ = · · ·
X X
m
= A1 ⊕ · · · ⊕ Am ⊕ ∗ = Aτ ⊕ X (τ ).
(Bi )X
i=1
Thus A = ρ∈Tcr (A) Aρ is regulating in X by definition. 2
We are now in a position to present a constructive proof of Dittmann’s theorem that can
be executed with suitable Maple procedures.
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 465
Theorem 4.4 (Dittmann [8]). Let A be a completely decomposable group of finite rank r
and let
X = A + Zx1 + · · · + Zxk ⊂ QA
• τ = σ1 ,
• v = v1,
• B = {σi vi : σi ⊃ τ, i > 1},
• C = {σi vi : σi ⊃ τ },
• m = M[1] ∈ Z ,
• b = M[i: σi ⊃ τ, i > 1][vi : σi ⊃ τ, i > 1]tr ∈ B ,
• c = M[i: σi ⊃ τ ][vi : σi ⊃ τ ]tr ∈ C ,
• a = M v = M[1]v1 + b + c ∈ (τ v ⊕ B ⊕ C) .
1
w1 = (v + sb),
[X(τ ) : (τ v ⊕ B∗X )]
but by Lemma 3.3 and Theorem 2.7 we may assume without loss of generality that
gcdA1 (N1 , M1 v 1 ) = gcd(N1 , M1 ) = Ik .
(4) Assume inductively that for 1 i < j r, the basis vectors vi have been replaced
by basis vectors wi so that the statements below are satisfied where
wi if i < j,
(v|w)i =
vi if i j :
• Aj −1 = σ1 w1 ⊕ · · · ⊕ σj −1 wj −1 ⊕ σj vj ⊕ · · · ⊕ σr vr ,
• v j −1 = [w1 , . . . , wj −1 , vj , . . . , vr ]tr ,
• for i = 1, . . . , r, we have the identities
X(σi ) = {σ
w
: σ
= σi ,
< j }
X
⊕ σ
(v|w)
: (σ
= σi ∧
j ) ∨ σ
σi , (4.5)
∗
• X = Aj −1 + ZNj−1
−1 Mj −1 v j −1 ,
• gcdAj−1 (Nj −1 , Mj −1 v j −1 ) = gcd(Nj −1 , Mj −1 ) = Ik ,
• every prime divisor of det Nj −1 is a divisor of n = det(N).
Note that the coefficient groups σi are unchanged and therefore {w1 , . . . , wj −1 , vj , . . . , vr }
is an adjusted n-basis, and hence an adjusted (det Nj −1 )-basis. Using Lemma 3.13, we
replace σj vj by σj wj in such a way that
X
X(σj ) = σj wj ⊕ {σ
(v|w)
: σ
⊃ σj ,
= j } (4.6)
∗
and
X = σj wj ⊕ σi (v|w)i + ZNj−1
−1 Mj −1 v j −1 .
i=j
Exactly as in the case j = 1, setting Aj = σj wj ⊕ i=j σi (v|w)i , we obtain X = Aj +
ZNj−1 Mj vj ,
having all the properties needed to proceed with the induction except for the
new versions of (4.5) which we will verify next.
By induction hypothesis we have (4.5) and by construction we have (4.6). If σi σj ,
then (4.5) does not change at all when vj is replaced by wj and the old (4.5) is the desired
identity. Next consider X(σj ). Here the direct complement
new of σj wj in X(σj ), namely
( {σ
(v|w)
: σ
⊃ σj ,
= j })X
∗ contains the direct summand {σ
w
: σ
= σi ,
< j }
of X(σj ) and we conclude by the modular law that
X(σj ) = σj wj ⊕ {σ
w
: σ
= σi ,
< j }
X
⊕ σ
(v|w)
: σ
⊃ σj ,
= j
∗
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 467
X
∩ σ
(v|w)
: (σ
= σj ∧
j ) ∨ σ
σj
∗
4.3
= {σ
w
: σ
= σi ,
< j + 1}
X
⊕ σ
(v|w)
: (σ
= σj ∧
j + 1) ∨ σ
σj .
∗
On the basis of Lemma 4.1, every almost completely decomposable group is given by a
set of data as follows:
If such data are given, then we obtain a well-defined almost completely decomposable
group
X = (σ1 v1 ⊕ · · · ⊕ σr vr ) + ZN −1 M v , (5.1)
where {v1 , . . . , vr } is a basis of some Q–vector space. Such a set of data cannot be handled
by computer since a rational group in general requires an infinite set of data to be fully
determined. For example, consider the rational group generated by all fractions pidi where
p1 , p2 , . . . is a listing of the primes in increasing order and d1 = 3, d2 = 1, d3 = 4, . . . are
the digits of π = 3.14 . . . . Fortunately, for our purposes, the σi need not be known but
only the order relations between the isomorphism classes tp(σi ) of the σi and in addition
the divisibilities of the σi by prime factors of n = det(N). The order relations will be
described by an order matrix as follows:
The order matrix OM is an r × r matrix defined by
1 if tp(σj ) tp(σi ),
OM[i, j ] =
0 if tp(σj ) tp(σi ).
468 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
Thus the order matrix of a homogeneous group is a matrix of all ones, the order matrix
of a rigid group is an identity matrix, and the order matrix of a block rigid group has
square blocks of ones along the main diagonal assuming that the isomorphic σi are listed
consecutively. The divisibilities of the σi enter into the determination of the matrix S0 =
diag(s01 , . . . , s0r ) in Theorem 2.2. We will simply assume that the “divisibility matrix” S0
itself is given. The relevant divisibilities of the rational group σi are then exactly the prime
factors of the s0i . Notice that the matrices OM and S0 are not independent, since pσi = σi
and σi ⊂ σj implies that pσj = σj . We will not bother with such questions but simply
assume that the data structure (N, M, OM, S0 ) is consistent and belongs to a concrete
example (5.1).
In order to be able to apply Theorem 2.2 and to actually compute greatest common
divisors we need to have that {v1 , . . . , vr } is an n-basis where n = det(N). This is, in fact,
determined by the assumed list [σ1 , . . . , σr ]: The decomposition basis {v1 , . . . , vr } is an n-
basis if and only if for every prime divisor p of n and every i, either pσi = σi or 1/p ∈ / σi .
Assumption 5.2. The rational groups in the list [σ1 , . . . , σr ] have the property that for any
prime divisor p of n = det N and every i, either pσi = σi or 1/p ∈ / σi . In addition, it is
assumed that σi ⊂ σj if and only if tp(σi ) tp(σj ).
We are only able to compute the greatest common divisor of matrices and therefore
require that
gcdA N, M v = gcd(N, M). (5.3)
This is automatically assured if the matrix S0 of Theorem 2.2 is the identity matrix. In
general, we must change the decomposition basis in order to achieve (5.3). Let MS be an
adjustment of M, and let w = S −1 v . Then A = σ1 w1 ⊕ · · · ⊕ σr wr , {w1 , . . . , wr } is an
n-basis of A, MS w = M v , and
gcdA N, M S w = gcd(N, M S) (5.4)
for every matrix M obtained from M by deleting columns, or, equivalently for every ma-
trix M obtained from M by replacing columns by columns of zeros.
The greatest common divisor gcd(N, M) of two matrices is found by forming the
augmented matrix [N | M] and reducing it by column reductions ([11] or [13, Theo-
rem 11.2.6]). In our context N is always a square non-singular matrix and [N | M] has
the reduced form [D | 0] where D is a square non-singular matrix that is the greatest com-
mon divisor and 0 is a zero-matrix. The computation is implemented by the following
Maple procedure.
Procedure 6.1. Compute the left matrix greatest common divisor of n, m. The output is
gcd(n, m).
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 469
lmgcd:= proc(n,m)
local nm, ihnm, k;
nm:= augment(n,m);
ihnm:= transpose(ihermite(transpose(nm)));
k:= rowdim(nm);
submatrix(ihnm, 1..k, 1..k)
end;
Example 6.5.
1 0 0 1 0 0
gcd(N1 , M1 ) = gcd(N1 , M1 I ) = 0 1 0 , gcd(N1 , M1 S0 ) = 0 1 0 .
0 0 1 6 6 9
Procedure 6.6. Given a positive integer r and a number n a diagonal matrix of size r × r
is returned with all diagonal values equal to n.
dmx:= proc(r,n)
Matrix(r,r,shape=diagonal,n)
end;
470 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
As mentioned before we need to adjust the coordinate matrix in order to achieve the
identity (5.4). The following procedure serves this purpose. Although the structure ma-
trices will change in the course of the algorithm, the determinants of the new structure
matrices will always be factors of the determinant of the original structure matrix. By
Corollary 2.11 the matrix S0 can be used to adjust the coordinate matrix for all subsequent
structure matrices. We will actually use the improved adjustment of Theorem 2.7 and find
the adjustment by means of Lemma 2.13. We remark that S0 cannot be replaced initially
by the smaller adjustment of Theorem 2.7 because Dittmann [8, Example 4.1] showed that
the exponent of X/A can increase in the transition to a regulating subgroup while in our
algorithm every subsequent index [X : A ] = det(N ) is a factor of every preceding index
[X : A] = det(N).
for every matrix (MS) obtained from MS by deleting columns, or, equivalently for every
matrix (MS) obtained from MS by replacing columns by columns of zeros.
Inputs are N , M, S0 , the output is a matrix MS. Background:
X = (σ1 v1 ⊕ · · · ⊕ σr vr ) + ZN −1 M v = (σ1 w1 ⊕ · · · ⊕ σr wr ) + ZN −1 (MS) w ,
v = S w .
This matrix is smaller than MS0 but it serves its purpose by Theorem 2.7.
If an almost completely decomposable group is given in the form of Lemma 4.1, then it
is open whether gcdA (N, M v ) = Ik , a property that is needed to determine the structure
of X/A (Proposition 3.2). It is an easy matter to eliminate the greatest common divisor
D = gcd(N, M v ) (Lemma 3.3). This reduction is implemented as follows.
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 471
Procedure 6.9. Given X = A + ZN −1 M v , produce the “reduced description”
X = A + Z(N )−1 M w , gcdA (N , M w ) = Ik with adjusted matrix M .
Remark 6.10. The procedure xreddescr first adjusts M to achieve (5.4). According to
Lemma 2.12, M is still adjusted after the greatest common divisor is eliminated.
xreddescr:= proc(n,m,S0)
local d, ms, dinvs, nred, mred;
ms:= adjust(n,m,S0);
d:= lmgcd(n,ms);
dinvs:= inverse(d);
nred:= evalm(dinvs &* n);
mred:= evalm(dinvs &* ms);
[nred, mred]
end;
Example 6.11. The reduced description of X1 = A + ZN1−1 M1 v where A = σ1 v1 ⊕ · · · ⊕
σ7 v7 , N1 and M1 are the matrices of (6.2) and the divisibility matrix is S0 of (6.4), is
−1
3 0 0 54 2 81 108 162 162 3
X1 = A + Z 0 18 0 216 9 270 216 324 405 14 v .
−2 −12 12 −135 −5 −198 −162 −294 −318 −9
After executing xreddescr we have a description X = A + ZN −1 M v with adjusted
coordinate matrix M and gcdA (N, M v ) = gcd(N, M) = Ik . Even then the group X may
have redundant generators. They can be cut by changing N to Smith Normal Form and
dropping the now apparent redundant generators. Let Snf(N) be the Smith Normal Form
of N . By definition there exist invertible integral matrices P and Q such that Snf(N) =
P NQ. We have, noting that ZQ = Z,
ZN −1 M v = ZQ Snf(N)−1 P M v = Z Snf(N)−1 (P M) v .
The Smith Normal Form is a diagonal matrix, and if there are diagonal values equal to one,
then the generators corresponding to these values belong to A and may be omitted. The
following procedure implements this process and results in a description without redundant
generators and with a structure matrix N in Smith Normal Form. It also implements a
further simplification based on the observation that a generator (mj , qj are integers)
1 1
(m1 + q1 d)v1 + · · · = (m1 v1 + · · ·) + (q1 v1 + · · ·)
d d
472 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
may be replaced by the generator d1 (m1 v1 + · · ·) without changing the group. Hence if d
is the entry in row i of the structure matrix in Smith Normal Form, then the entries in row
i of the coordinate matrix may be replaced by their residues modulo d. This simplification
keeps the size of the matrix entries in check.
Procedure 6.12. Given X = A + ZN −1 M v , produce the description
X = A + Z(N )−1 M v ,
where N is in Smith Normal Form and the entries in M[i..i, 1..r] are reduced modulo
N [i, i]. The output is a list [N , M ]. If N happens to be the identity matrix, then, by
default, the list [[1], [0..0]] is returned. Otherwise, N [i, i] = 1 for all i. The matrix M
need not be adjusted even if M was adjusted.
cutgens:= proc(n,m)
local k, r, SN, P, Q, SM, brk, i, mr, row;
k:= rowdim(m); r:= coldim(m);
SN:= ismith(n,P,Q); #SN = PNQ
SM:= evalm(P &* m);
if SN[k,k] = 1 then RETURN([matrix(1,1,1),matrix(1,r,0)])
fi;
brk:= 1;
for i from 1 to k do
if SN[i,i]=1 then brk:= brk+1 fi;
od;
SN:= submatrix(SN,brk..k,brk..k);
SM:= submatrix(SM,brk..k,1..r);
mr:= map(‘mod‘,submatrix(SM,1..1,1..r),SN[1,1]);
for i from 2 to k-brk+1 do
row:= map(‘mod‘,submatrix(SM,i..i,1..r),SN[i,i]);
mr:= stackmatrix(mr,row)
od;
[SN,mr];
end;
Remark 6.13.
gcdA N , M v = P · gcdA N, M v .
The example shows that the procedure cutgens may destroy the adjustment of the
coordinate matrix.
Let L be an indicator matrix, i.e., a 1 × r matrix of zeros and ones, and let L[1, i] denote
entry of L at location (1, i). The standard description of the purification of a summand
the
{σi vi : L[1, i] = 1} is computed by the procedure purehull. An auxiliary procedure
is used.
Procedure 6.15. Create an r × r matrix having the entries of an indicator matrix v on the
diagonal. The procedure accepts a 1 × r matrix v of zeros and ones and returns an r × r
matrix having the indicator matrix as diagonal and zeros elsewhere.
mdiag:= proc(v)
local r;
r:= coldim(v);
Matrix(r,r,convert(v,vector),shape=diagonal)
end;
Procedure 6.16. Find the standard description of the purification of a summand of the base
group A of X = A + ZN −1 M v where A = σ1 v1 ⊕ · · · ⊕ σr vr and M is adjusted. The
symbol L denotes the indicator matrix of a subset of {1, . . . , r}. The procedure returns a
list [NL , ML ] such that
X
σi vi = σi vi + ZNL−1 ML v
L[1,i]=1 ∗ L[1,i]=1
purehull:= proc(n,m,L)
local ML, MLc;
ML:= evalm(m &* mdiag(L));
Example 6.17. Let X = A + ZN1−1 M1 v , N1 , M1 as in (6.2), divisibility matrix I , and
underlying base group
A = σ1 v1 ⊕ · · · ⊕ σ7 v7 , v = [v1 , . . . , v7 ]tr .
−1
1 0 0 0 2 3 0 6 0 3
(BL )X
∗ = BL + Z 0 1 0 0 9 10 0 12 0 14 v
0 0 1 0 21 12 0 10 0 21
The Purification Lemma will be used in particular to compute the standard description
of X(τ ) = A(τ )X∗ and X (τ ) = A (τ )∗ . In order to use the purehull procedure one first
X
needs to find the indicator matrix of the sets of indices i for which σi τ and σi > τ . For
this the order relationships of the types σi are needed. This information can be extracted
from the order matrix OM that was defined by
1 if σj σi ,
OM[i, j ] =
0 if σj σi .
Procedure 6.18. Compute the indicator matrix belonging to A(τ ). The procedure accepts
an order matrix OM and an index i and returns a list of two 1 × r matrices [imtau, imtauc]
where
if σj σi ,
imtauc[1, j ] = 1 if σj σi ,
1
imtau[1, j ] = while
0 otherwise, 0 otherwise.
imtau:= proc(om,i)
local r, imtau, imtauc;
r:= coldim(om);
imtau:= submatrix(om,i..i,1..r);
imtauc:= evalm(matrix(1,r,1)- imtau);
[imtau, imtauc]
end;
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 475
Procedure 6.19. Compute the indicator matrix belonging to A (τ ). The procedure accepts
an order matrix OM and an index i and returns a list of two 1 × r matrices [imstau, imstauc]
where
1 if σj > σi , 1 if σj > σi ,
imstau[1, j ] = while imstauc[1, j ] =
0 otherwise, 0 otherwise.
imstau:= proc(om,i)
local r, j, imstau, imstauc;
r:= coldim(om);
imstau:= submatrix(om,i..i,1..r);
for j from 1 to r do
if equal(submatrix(om,i..i,1..r),submatrix(om,j..j,1..r))
then imstau:= mulcol(imstau,j,0);
fi;
od;
imstauc:= evalm(matrix(1,r,1)-imstau);
[imstau, imstauc]
end;
Example 6.20. Let X be an almost completely decomposable group whose order matrix is
OM of (6.3). The indicator matrices of X(τ ) and X (τ ) for the types τ = σ1 , . . . , σ7 are
obtained with the command lines
E.g.,
By combining the imtau and imstau procedures with purehull the standard de-
scriptions of type subgroups X(τ ) and X (τ ) can be found.
Procedure 6.21. Compute the standard description of X(τ ) if X = A + ZN −1 M v , A =
σ1 v1 + · · · + σr vr , and M is adjusted. The procedure accepts N , M, the order matrix
OM, and the index i such that τ = σi . It returns a list [Nτ , Mτ ] such that X(τ ) = A(τ ) +
−1
ZNτ Mτ v .
476 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
taudata:= proc(n,m,i,om)
purehull(n,m,imtau(om,i)[1])
end;
Procedure 6.22. Compute the standard description of X (τ ) if X = A + ZN −1 M v , A =
σ1 v1 + · · · + σr vr , and M is adjusted. The procedure accepts N , M, the order matrix OM,
and the index i such that τ = σi . It returns a list [Nτ , Mτ ] such that X (τ ) = A (τ ) +
−1
Z(Nτ ) Mτ v .
tausdata:= proc(n,m,i,om)
purehull(n,m,imstau(om,i)[1])
end;
Example 6.23. Let A = σ1 v1 + · · · + σ7 v7 , X = A + ZN1−1 M1 v , N1 , M1 as in (6.2), with
order matrix OM of (6.3) and divisibility matrix I . The standard descriptions of X(τ ) and
X (τ ), τ = σ1 , . . . , σ7 , are obtained with the command lines
We see that [X(σ1 ) : A(τ1 )] = [X (σ1 ) : A (τ1 )] = 9 which means that X(σ1 ) = σ1 v1 ⊕
X (σ1 ). In contrast, [X(σ2 ) : A(τ2 )] = 18 and [X (σ2 ) : A (τ2 )] = 9 which means that
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 477
X(σ2 ) = σ2 v2 ⊕ X (σ2 ). Similarly, the Butler decomposition is not valid at the type σ3 for
the given base group A. For the maximal critical types σi , i = 4, 5, 6, 7, we have X(σi ) =
A(σi ) and X (σi ) = 0.
Procedure 6.24. The procedure tests for the validity of Butler decompositions. Let X =
A + ZN −1 M v and assume that M is adjusted. The procedure accepts N , M and the order
matrix OM describing the poset of critical types. A list of indices [X(τ ) : (Aτ + X (τ ))]
is returned. The Butler decomposition holds at τ if and only if the index at τ is 1.
test_bdec:= proc(n,m,om)
local k, r, anstau, ansstau, i, ans;
k:= rowdim(m);
r:= coldim(m);
anstau:= array(1..r):
for i from 1 to r do
anstau[i]:=
det(lmgcd(n,evalm(m &* mdiag(imtau(om,i)[2]))))
od:
ansstau:= array(1..r):
for i from 1 to r do
ansstau[i]:=
det(lmgcd(n,evalm(m &* mdiag(imstau(om,i)[2]))))
od:
ans:= array(1..r):
for i from 1 to r do
ans[i]:= anstau[i]/ansstau[i]
od:
ans
end;
Example 6.25. For X as in Example 6.23 the command line test_bdec(N1, M1 , OM, I )
returns [1, 2, 3, 1, 1, 1, 1], which says that A is not regulating in X, the failures occurring
at the critical types σ2 and σ3 . More precisely the output tells by how much A misses being
a regulating subgroup:
X(σ2 ) : σ2 v2 ⊕ X (σ2 ) = 2 and X(σ3 ) : σ3 v3 ⊕ X (σ3 ) = 3.
Example 6.26. For X1 as in Example 6.11 the command line test_bdec(N1, M1 , OM,
S0 ) returns [1, 18, 1, 1, 1, 1, 9] which again says that A is not regulating in X, the failures
occurring at the critical types σ2 and σ7 .
478 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
(1) The inputs are four matrices N , M, OM, S0 as described in Section 5. The end result
are new matrices N , M such that X = B + ZN −1 M w and B = σ1 w1 ⊕ · · · ⊕ σr wr
is regulating in X.
(2) By executing xreddescr and cutgens we obtain a structure matrix in Smith Nor-
mal Form all of whose invariant factors are > 1 (meaning there are no obviously
redundant generators), and the entries in row i of M are reduced modulo N[i, i]. Exe-
cuting adjust thereafter assures that (5.4) holds and gcdA (N, M w ) = Ik . Without
loss of generality, we assume that this has been done and our initial group is of the
form
X = A + ZN −1 M v , M adjusted, gcdA N, M v = Ik .
(3) test_bdec is run in order to determine whether Aσ1 = {σ
v
: σ
= σ1 } is already
a σ1 -Butler complement of X. In this case v1 is (virtually) renamed w1 and the previ-
ous data [N, M] are used further on. In the case that Aσ1 is not a σ1 -Butler complement
of X, the summand σ1 v1 of A is replaced by a subgroup σ1 w1 such that X(σ1 ) =
−1
σ1 w1 ⊕ ( {σi vi : σi σ1 , i = 1})X ∗ and X = (σ1 w1 ⊕ i=1 σi vi ) + ZN M v
(Lemma 3.13). This is achieved with a call of the procedure jcrsgp. The key subrou-
tine of jcrsgp is jtrafo that executes computationally the proof of Lemma 3.13.
The hypotheses of the lemma are satisfied since gcdA (N, M v ) = gcd(N, M) = Ik
(item (2)) and σ1 ⊂ QX x for x ∈ Z b (Assumption 5.2 assures that σi ⊂ Qx for every
A
matrices. This representation need not be reduced, but jcrsgp executes xreddescr
and cutgens to reduce and simplify the description. Afterward adjust is run to
make sure that the crucial assumption in item (2) is valid for the current data. The final
output is a list [N1 , M1 ] determining the current standard description of X. It can be
seen easily that det N1 divides n = det(N).
(4) The procedure jcrsgp actually accepts data N, M, OM, j and replaces σj vj by σj wj
such that (Lemma 3.13)
X
X(σj ) = σj wj ⊕ {σi vi : σi σj , i = j } and
∗
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 479
X = σj wj ⊕ σi vi + ZN −1 M v .
i=j
Hence it can be used to run a loop through the index set {1, . . . , r} as follows. Set
A0 = A, N0 = N , M0 = M, v 0 = v , and assume that for 1 i < j r, the basis
vectors vi have been replaced by basis vectors wi such that
Aj −1 := σ1 w1 ⊕ · · · ⊕ σj −1 wj −1 ⊕ σj vj ⊕ · · · ⊕ σr vr ,
X = Aj −1 + ZNj−1
−1 Mj −1 v j −1 , and v j −1 := [w1 , . . . , wj −1 , vj , . . . , vr ]tr .
By recursion, Mj −1 is adjusted, gcdAj−1 (Nj −1 , Mj −1 v j −1 ) = Ik , and det(Nj −1 ) di-
vides n = det(N). Note that the coefficient groups σi are unchanged and therefore
{w1 , . . . , wj −1 , vj , . . . , vr } is an adjusted n-basis, and hence an adjusted (det Nj −1 )-
basis. Set
wi if 1 i < j,
(v|w)i =
vi if j i.
and
X = σj wj ⊕ σi (v|w)i + ZNj−1
−1 Mj −1 v j −1
i=j
X = σj wj ⊕ σi (v|w)i + ZNj−1
−1 (Mj −1 Tj ) v j .
i=j
As in the first step of the loop, jtrafo returns an integer bound such that bound ·
Mj −1 Tj is integral and
X = σj wj ⊕ σi (v|w)i + Z(bound · Nj −1 )−1 (bound · Mj −1 Tj ) v j
i=j
480 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
is a description with integral matrices. The procedure jcrsgp reduces this descrip-
tion, cuts generators, and adjusts the coordinate matrix to arrive at a reduced descrip-
tion X = Aj + ZNj−1 Mj v j where Aj = σj wj ⊕ i=j σi (v|w)i , that has all the
properties needed to proceed to the next step in the loop.
(5) The procedure that runs the loop is creggsgp. It prints the result of the test for Butler
decompositions (test_bdec) confirming that the standard description of the group
is now with respect to a regulating subgroup.
By the “cyclification” of a group we mean the process in Lemma 3.9 that enlarges the
base group in such a way that the group becomes a cyclic extension of its basegroup. It is
implemented by a Maple procedure as follows.
Procedure 7.1. Compute the data involved in rewriting a group U = A + ZN −1 M v
with M adjusted, as a cyclic extension of a new base group. The original
base group is
A = σ1 v1 ⊕ · · · ⊕ σr vr , the new base group is σj vj ⊕ B∗U where B =
=j σ
v
. The
cyclic extension is
1
U = σj vj ⊕ B∗U + Z αvj + β v
n0
• n0 = det(N)/ det(NB );
• NB = gcd(N, M[1..k, j..j ]), where M[1..k, j..j ]) is the j th column of M;
• α = k P NB−1 M[1..k, j..j ] ∈ Z;
• k = [0, 0, . . . , 0, 1] ∈ M1×k (Z); the effect of left multiplication by
k is to pick the
submatrix consisting of the last (kth) row;
• P , Q are invertible integral matrices such that P (NB−1 N)Q is the Smith normal form
of NB−1 N ;
• β = k P NB−1 MB ∈ M1×r (Q);
• MB is the matrix obtained from M by replacing column j by a column of zeros.
The procedure returns a list [n0 , bound, α, β, NB , MB , P ] where bound = exp(B∗U /B).
cycdescr:= proc(n,m,j)
local k, r, NB, MB, NBinvs, KB, n0, P, Q, alpha, beta,
bound;
k:= rowdim(m); r:= coldim(m);
NB:= lmgcd(n,submatrix(m,1..k,j..j));
MB:= mulcol(m,j,0); # multiply column j of m by 0
NBinvs:= inverse(NB);
KB:= evalm(NBinvs &* n);
n0:= det(KB);
ismith(KB,P,Q);
bound:= ismith(NB)[k,k];
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 481
1
B∗X = B + ZNB−1 MB v and X = σ1 v1 ⊕ B∗X + Z (5v1 + b)
36
where
1
b = (21v2 + 12v3 + 18v4 + 10v5 + 20v6 + 21v7 ).
3
Procedure 7.3. The procedure accepts three integers a, b, c, c = 0 and returns a list [d, s, t]
where d = gcd(a, b) = sa + tb and gcd(c, t) = 1.
ebez:= proc(a,b,c)
local d, s1, t1, a1, b1, c1, c2, alpha, beta;
d:= igcdex(a,b,s1,t1);
a1:= a/d; b1:= b/d;
c1:= igcd(c,a1); c2:= c/c1;
while igcd(a1,c2) <> 1
do
c1:= c1*igcd(a1,c2); c2:= c/c1
od;
igcdex(a1,c2,alpha,beta);
[d, s1-alpha*(1-t1)*b1, 1+(t1-1)*beta*c2];
end;
Procedure 7.5. The procedure jtrafo accepts inputs N , M, OM and j of the current
standard description
X = A + ZN −1 M v , A = σ1 v1 ⊕ · · · ⊕ σr vr ,
gcdA N, M v = Ik , M adjusted,
replaces the basis element vj by wj , and computes the (rational) transformation matrix Tj
such that v = Tj w , where v contains the old basis, while w contains the new basis.
The basis element vj is replaced by the new basis element wj in a way that brings the base
group closer to being a regulating subgroup. The procedure returns the transformation
matrix Tj and an integer bound that is so chosen that bound·Tj is an integral matrix.
jtrafo:= proc(n,m,om,j)
local k, r, Nsigmaj, Msigmaj, cd, mv, NBj, MBj, kBj, s, t,
bound,
rowj, Tj;
k:= rowdim(m); r:= coldim(m);
if r=1 then RETURN([matrix(1,1,1/det(n)),det(n)]) fi;
td:= taudata(n,m,j,om);
# Subsequently τ = σj and v = vj .
# taudata returns a list [Nτ , Mτ ] such that X(τ ) = A(τ ) + ZNτ−1 Mτ v .
s:= ebez(mv,kBj,det(NBj))[2];
t:= ebez(mv,kBj,det(NBj))[3];
rowj:= evalm(array(1..1,1..r,[(1,j)=kBj], sparse) -
submatrix(scalarmul(evalm(cd[7] &*
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 483
Procedure 7.6. The procedure jcrsgp accepts inputs N , M, OM, S0 , j , and computes
a standard description in reduced form after replacing vj by wj . Initially the description
is X = Aj −1 + ZNj−1 −1 Mj −1 v j −1 with Mj −1 adjusted and gcd
Aj−1
(Nj −1 , Mj −1 v j −1 ) =
Ik . After execution of the procedure the description is X = Aj + ZNj−1 Mj v j with Mj
adjusted and gcdAj (Nj , Mj v j ) = Ik . The output is the list [Nj , Mj ].
jcrsgp:= proc(n,m,om,S0,j)
local jtr, nj, mj, xr, xrc, adj;
jtr:= jtrafo(n,m,om,j);
creggsgp:= proc(n,m,om,S0)
local xr, xrc, nr, mr, r, j, budec, jcr, nmr;
484 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
xr:= xreddescr(n,m,S0);
xrc:= cutgens(xr[1],xr[2]);
nr:= xrc[1]; mr:= xrc[2];
r:= coldim(mr);
mr:= adjust(nr,mr,S0);
if r=1 then
RETURN([matrix(1,1,1),matrix(1,1,0),om,
matrix(1,1,1/det(nr))])
fi;
for j from 1 to r do
budec:= test_bdec(nr,mr,om);
# results in a list of indices of length $r$
print(‘j is‘,j,‘Butler test‘, budec);
if budec[j] <> 1 then
jcr:= jcrsgp(nr,mr,om,S0,j);
nr:= jcr[1];
mr:= jcr[2];
print(‘description after change to w‘, ‘N is‘, nr,
‘M is‘, mr)
fi;
od;
nmr:= cutgens(nr,mr);
print(‘Description with regulating base group:‘);
print(‘The structure matrix is‘,eval(nmr[1]));
print(‘The coordinate matrix is‘,eval(nmr[2]));
print(test_bdec(nmr[1],nmr[2],om));
nmr
end;
Example 7.8. Consider Example 6.23. It was found (Example 6.25) that the base group
is not regulating. The command line creggsgp(N1, M1 , OM, I ) produces the following
results.
For j = 1, the Butler test returns [1, 2, 3, 1, 1, 1, 1] which is just the result of Exam-
ple 6.25. Here w1 = v1 and the old data are used further. For j = 2 the Butler test returns
[1, 2, 3, 1, 1, 1, 1] which means that there was no improvement at the first step as it should
be. After changing from v2 to w2 , the data are
9 0 4 0 8 4 2 4 7
N2 = , M2 = .
0 324 81 126 114 90 142 149 135
Notice that the number of generators (= row dimension of N2 ) has been lowered to two in
the reduction process that is performed after each step.
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 485
For j = 3 the Butler test returns [1, 1, 3, 1, 1, 1, 1] which says that the change from v2
to w2 produced the Butler decomposition for the critical type σ2 in addition to the already
existing one at σ1 . After changing from v3 to w3 , the data are
9 0 4 5 8 5 5 1 4
N3 = , M3 = .
0 108 87 90 18 78 10 101 105
For j = 4 Butler test produces [1, 1, 1, 1, 1, 1, 1] which means that the base group is now
a regulating subgroup. Nothing more is done except for setting wi = vi for i = 4, . . . , 7.
The final simplified description with regulating base group is given as
−1
9
0 4 5 8 5 5 1 4
X = (σ1 w1 ⊕ · · · ⊕ σr wr ) + Z w .
0 108 39 30 30 18 58 89 57
The procedure confirms the result with a final run of the Butler test.
Example 7.9. Consider the group X1 in Example 6.14. It was found (Example 6.26) that
the base group is not regulating. The command line creggsgp(N1, M1 , OM, S0 ) pro-
duces the following results.
For j = 1, the Butler test returns [1, 18, 1, 1, 1, 1, 9] which is just the result of Exam-
ple 6.26. Here w1 = v1 and the old data are used further. For j = 2 the Butler test returns
[1, 18, 1, 1, 1, 1, 9] which means that there was no improvement at the first step as it should
be. After changing from v2 to w2 the data are
The group X1 is now merely a cyclic extension of its base group. Note that M2 is adjusted
which accounts for the large entries.
For j = 3, . . . , 7, the Butler test returns [1, 1, 1, 1, 1, 1, 9], wi = vi for i = 3, . . . , 6 and
the previous data are reused. Finally, v7 is changed to w7 resulting in the final simplified
description with regulating base group
1
X1 = (σ1 w1 ⊕ · · · ⊕ σr wr ) + Z [3 2 0 2 2 3 3] w .
4
Acknowledgment
We thank the referee for insightful comments and the insistence that theory and algo-
rithms be cleanly separated. The paper has been completely rewritten along these lines and
is much improved in our opinion.
References
[1] D.M. Arnold, Finite Rank Torsion Free Abelian Groups and Rings, Lecture Notes in Math., vol. 931,
Springer-Verlag, Berlin, 1982.
486 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486
[2] K. Benabdallah, A. Mader, Almost completely decomposable groups and integral linear algebra, J. Alge-
bra 204 (1998) 440–482.
[3] K. Benabdallah, A. Mader, Greatest common divisors generalized, in: Abelian Groups, Module Theory, and
Topology, Proceedings in honour of Adalberto Orsatti’s Sixtieth Birthday, in: Lecture Notes in Pure and
Appl. Math., vol. 201, Dekker, New York, 1998, pp. 91–103.
[4] K. Benabdallah, A. Mader, M.A. Ouldbeddi, Tight subgroups of almost completely decomposable groups,
J. Algebra 225 (2000) 501–516.
[5] M.J. Campagna, Single-relation almost completely decomposable groups, PhD thesis, Wesleyan University,
1995.
[6] M.J. Campagna, Single-relation almost completely decomposable groups, Comm. Algebra 28 (2000) 83–92.
[7] U. Dittmann, Coset types and tight subgroups of almost completely decomposable groups, PhD thesis, Uni-
versität Würzburg, 2001.
[8] U. Dittmann, Tight subgroups of almost completely decomposable groups, Rocky Mountain J. Math. 32
(2002) 1357–1366.
[9] B. Frey, O. Mutzbauer, Regulierende Untergruppen und der Regulator fast vollständig zerlegbarer Gruppen,
Rend. Sem. Math. Univ. Padova 88 (1992) 1–23.
[10] E.L. Lady, Almost completely decomposable torsion-free abelian groups, Proc. Amer. Math. Soc. 45 (1974)
41–47.
[11] C.C. MacDuffee, The Theory of Matrices, Chelsea, New York, 1946.
[12] A. Mader, Almost completely decomposable torsion-free abelian groups, in: Abelian Groups and Modules,
Proceedings of the 1994 Padova Conference, Kluwer Academic, Dordrecht, 1995, pp. 343–366.
[13] A. Mader, Almost Completely Decomposable Groups, Algebra, Logic and Applications, vol. 13, Gordon
and Breach, 2000.