4f PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Journal of Algebra 281 (2004) 450–486

www.elsevier.com/locate/jalgebra

Construction of regulating subgroups


in almost completely decomposable groups
K. Benabdallah a , A. Mader b,∗
a Département de Mathématiques et de Statistique, Université de Montréal, CP 6128-A, Montréal, PQ,
Canada H3C 3J7
b Department of Mathematics, University of Hawaii, 2565 McCarthy Mall, Honolulu, HI 96822, USA

Received 17 May 2002


Available online 11 September 2004
Communicated by Michel Broué

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.

Keywords: Almost completely decomposable group; Regulating subgroup; Algorithm; Maple

1. Introduction

A completely decomposable group is a direct sum of groups isomorphic to subgroups


of the additive group of rational numbers. An almost completely decomposable group X
is a finite essential (abelian) extension of a completely decomposable group A of finite
rank. In 1974 E.L. Lady [10] initiated a systematic study of such groups based on the fun-
damental concept of regulating subgroup. The regulating subgroups can be defined as the

* 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

completely decomposable subgroups of least index in an almost completely decomposable


group. Details on the subsequent developments can be found in the survey article [12] or
the monograph [13].
Almost completely decomposable groups are easily written down. In fact, one tradition-
ally starts with a completely decomposable group A inside a divisible hull QA, and adjoins
a finite number
 of elements xi of QA to get the almost completely decomposable group
X = A + i Zxi . Papers on almost completely decomposable groups usually assume that
some regulating subgroup is given and proceed from there. However, if an almost com-
pletely decomposable group X is obtained by adjoining a finite number of elements to a
completely decomposable group A, then one does not know how A is embedded in X, and
one has to be prepared to deal with completely decomposable subgroups of finite index that
are not regulating. The present paper is devoted
to establishing an algorithmic construction
of a regulating subgroup of a group X = A + i Zxi that is implemented in the computer
algebra system Maple. A recent result of U. Dittmann [7,8] says: if an almost completely
decomposable group X contains a completely decomposable subgroup A such that X/A
is generated by n elements, then there is a regulating subgroup B of X such that X/B
is generated by n elements. The case n = 1 is due to M. Campagna ([5, Theorem 4.1.12],
[6]). Dittmann’s result motivated us to re-examine an earlier construction of regulating sub-
groups. The upshot is a constructive proof of Dittmann’s theorem (Theorem 4.4) that can
be implemented by Maple procedures. We mention that [9, Lemma 3.2] exhibits an “algo-
rithm” for the construction of a regulating subgroup that closely resembles Lemma 3.13
but no attempt was made by Frey–Mutzbauer to implement the algorithm.
We deal with abelian groups exclusively and therefore mostly drop the adjective
“abelian.” By a rational group we mean a subgroup of the additive group Q that con-
tains Z. It is well known ([2,13, Chapter 11] or Lemma 4.1) that any almost completely
decomposable group can be specified by a list of rational groups [σ1 , . . . , σr ] and a pair of
matrices (N, M) where N is a non-singular integral k × k-matrix, the structure matrix, and
M is a k × r integral matrix, the coordinate matrix. The corresponding group is

X = A + ZN −1 M v  where A = σ1 v1 ⊕ · · · ⊕ σr vr . (1.1)

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.

2. Greatest common divisors

Given any torsion-free group A, a column a  = [a1 , . . . , ak ]tr of elements ai ∈ A


and a non-singular k × k integral matrix N , there exists a greatest common (left) divi-
sor D of N and a  , that is uniquely determined up to right invertible factors, see [3]
or [13, Theorem 11.2.2]. By abuse of notation we write D = gcdA (N, a  ); in particular
gcdA (N, a  ) = Ik means that the k × k identity matrix Ik is a greatest common divisor
so that the greatest common divisors are exactly the invertible matrices. In this case we
say that N and a  are relatively prime. These generalized greatest common divisors have
all the expected properties (see [13, Section 11.2]) but in general, it seems impossible to
actually find them. However, if A is a completely decomposable group and a “basis” of A
is chosen judiciously, then the computation of gcdA (N, a  ) reduces to the computation of
the greatest common divisor of two integral matrices and there is an ancient algorithm for
computing such (see [13, Theorem 11.2.6], Procedure 6.1 and Example 6.5). The details
are as follows.

Definition 2.1. Let A be a completely decomposable group of finite rank. A subset V =


{v1 , . . . , vr } is a decomposition basis of A with coefficient groups σi = QA vi if vi ∈ A and

A = ri=1 σi vi . An element v ∈ A is n-conditioned, where n is a positive integer, if for
every prime divisor p of n either gcdA (p, v) = 1 or QA v is p-divisible. A decomposition
basis V = {v1 , . . . , vr } is n-conditioned or an n-basis for short, if every basis element
vi is n-conditioned. A decomposition basis V = {v1 , . . . , vr } with coefficient groups σi
is adjusted if σi ⊂ σj whenever tp(σi )  tp(σj ). For a  = [a1 , . . . , ak ]tr ∈ A and V =
{v1 , . . . , vr } a decomposition basis of A with coefficient groups σi , we denote  by M the
uniquely determined k × r matrix [αij ], αij ∈ σj , with the property that ai = rj =1 αij vj .
We call M the coordinate matrix of a  with respect to the decomposition basis V.

Note that for a decomposition basis V = {v1 , . . . , vr } and A = ri=1 σi vi , necessar-
ily σi = QA vi and that every completely decomposable group has decomposition bases,
even adjusted decomposition bases ([13, Lemma 2.4.8], where “conditioned basis” is used
instead of “decomposition basis”). The next theorem shows how to compute greatest com-
mon divisors.

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

We will abuse notation by calling v  = [v1 , . . . , vr ]tr a decomposition basis. Let


n = det N , and let v  be an n-basis of A = σ1 v1 ⊕ · · · ⊕ σr vr . Let S = diag(s1 , . . . , sr )
be an integral diagonal matrix with the property that si σi = σi . Then w = S −1 v 
is another n-basis of A, and M v  = (MS) w  . The matrix MS is an adjustment of
M if gcdA (N, Mj vj ) = gcd(N, Mj sj ). According to Theorem 2.2 the matrix S0 =
diag(s1 , . . . , sr ) guarantees that gcdA (N, Mj vj ) = gcdA (N, Mj sj (sj−1 vj )) = gcd(N,
Mj sj ).
The following Theorem 2.7 improves Theorem 2.2 by showing that a much smaller
adjustment is possible than MS0 .
454 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486

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

gcdA (N, Mj vj ) = gcd(N, Mj sj ), j = 1, . . . , r.

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:

(1) gcd(N, M) = gcd(NQ, M);


(2) gcdA (N, M v  ) = gcdA (NQ, M v  );
(3) gcdA (N, M v  ) = gcd(N, MS) if and only if gcdA (P NQ, P M v  ) = gcd(P NQ,
P MS).

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

gcdA (NQ, M v  ) = gcdA (N, M v  ) = gcd(N, MS) = gcd(NQ, MS).


(2) (1)

Multiplying this identity on the left by P we obtain that gcdA (P NQ, P M v  ) =


gcd(P NQ, P MS). Conversely, assume that gcdA (P NQ, P M v  ) = gcd(P NQ, P MS).
Left multiplication by P −1 brings us to gcdA (NQ, M v  ) = gcd(NQ, MS) and the rest is
as in the other direction. 2

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

gcdA (fi , vj ) = 1, i = 1, . . . , k. (2.9)

Let F = diag(f1 , . . . , fk ). Then, by (2.9) and Corollary 2.3, for any integral column ma-
trix C,

gcdA (F, Cvj ) = gcd(F, C). (2.10)


K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 455

Furthermore, EF = N and ek Ik = EU where U = diag(ek /e1 , . . . , ek /ek ) is an integral


matrix. Because v  is an n-basis, we have that ek σj = σj and vj = ek wj for some wj ∈ A.
Note that Mj vj = Mj ek wj = ek Mj wj = EU Mj wj . Now

(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.

Corollary 2.11. Let N be a non-singular integral matrix, n = det(N), and v  an n-basis


of A = σ1 v1 ⊕ · · · ⊕ σr vr . Let S1 and S2 be diagonal matrices such that Si−1 v  ∈ A , S2 =
S1 S1 = S1 S1 and gcdA (N, M v  ) = gcd(N, MS1 ). Then gcdA (N, M v  ) = gcd(N, MS2 ).

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).

Lemma 2.12. Let A = σ1 v1 ⊕ · · · ⊕ σr vr be a completely decomposable group, and N ∈


Mk (Z), M ∈ Mk×r (Z) integral matrices such that N is non-singular. Let D = gcd(N, M)
and write N = DN  , M = DM  for matrices N  , M  . If gcdA (N, M v  ) = gcd(N, M),
then gcdA (N  , M  v  ) = gcd(N  , M  ).

Proof. We have D ·gcdA (N  , M  v  ) = gcdA (N, M v  ) = gcd(N, M) = gcd(DN  , DM  ) =


D · gcd(N  , M  ). Since D is non-singular as a factor of the non-singular matrix N , it fol-
lows that gcdA (N  , M  v  ) = gcd(N  , M  ). 2

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

3. Finite essential extensions

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 .

A standard description is called a reduced description if gcdA (N, a  ) = Ik . Lemma 3.3


means that in a theoretical context it may be assumed without loss of generality that the
K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 457

standard description is reduced, and in a computational context it tells how to reduce a


standard description.
Greatest common divisors can be used to give a precise description of the purifica-

tion of summands of A in X = A + ZN −1 a  . The so-called Purification Lemma [13,
Lemma 11.4.1] is a very potent tool. We state it here for easy reference.

Lemma 3.4 (Purification Lemma). Assume that A = B ⊕ C is an arbitrary torsion-free


group of any rank, a  = b + c , where b ∈ B  and c ∈ C  . Let

X = A + ZN −1 a 

be a finite essential extension of A. Let NC = gcdA (N, b ), NB = gcdA (N, c ), and N =


NB KB . Then NC , NB , KB are non-singular and the following hold.

(1) B∗X is a finite essential extension of B and


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

is bounded by e and both G/B and (A ⊕ B)/B are rank-one groups. 2

Suppose that U is a finite essential extension of a base group A ⊕ B where rk(A) = 1.


Then the base group can be replaced by the larger base group A ⊕ B∗U and by Lemma 3.8
the quotient group U/(A ⊕ B∗U ) is now cyclic. Lemma 3.9 details the description of U as
a cyclic extension of A ⊕ B∗U .
We denote by  i the row vector with k components having entry 1 in position i and
zeros elsewhere.

Lemma 3.9. Let U = E + ZN −1 e , where N ∈ Mk (Z), be a finite essential extension
of the torsion-free group E and assume that gcdE (N, e ) = Ik . Suppose that E = A ⊕ B
with rk(A) = 1. Write e = a  + b where a  ∈ A , b ∈ B  , and set NB = gcdE (N, a  ).
Then there exist invertible matrices P , Q in Mk (Z) such that
 
P NB−1 N Q = diag(1, . . . , 1, n0 )

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.

Proof. For convenience write N = NB KB . By the Purification Lemma 3.4, B∗U =


  
B + ZNB−1 b . Thus NB−1 e ∈ (A ⊕ B∗U ) , and U = (A ⊕ B∗U ) + ZKB−1 (NB−1 e )
460 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486

with gcd(A⊕B∗ ) (KB , NB−1 e ) = Ik . By Lemma 4.1 U/(A ⊕ B∗U ) ∼


U  
= Z/ ZKB and, by
Lemma 3.8, U/(A ⊕ B∗U ) is a cyclic group of order n0 = det KB . Thus there exist in-
vertible matrices P , Q ∈ Mk (Z) such that D := P KB Q is the Smith Normal Form of KB
and D = diag(1, . . . , 1, n0 ). Now KB−1 = QD −1 P . Therefore

         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.

Lemma 3.10. Let U = E + Z n1 e, e ∈ E, gcdE (n, e) = 1. Suppose that E = τ v ⊕ H for a


pure subgroup H of U , e = mv +b, m ∈ Z, b ∈ H , and suppose also that v is n-conditioned
and τ ⊂ QHb . Then gcd(n, m) = 1 and there is an n-conditioned element w ∈ U such that

U = τ w ⊕ H.

Specifically, writing 1 = sm + tn for some s, t ∈ Z, then the choice


1 1
w = (v + sb) = s e + tv
n n
will do.

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 .

Proof. By hypothesis gcdE (n, mv + b) = gcdE (n, e) = 1 and τ ⊂ QH b . It follows that τ


cannot be p-divisible for any prime divisor of n. Since v is n-conditioned, by Theorem 2.2,

gcdE (n, mv) = gcd(n, m).


K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 461

Since H is pure in U the Purification Lemma says that gcd(n, m) = 1. Write 1 = sm + tn


for some s, t ∈ Z. By hypothesis τ ⊂ QH b , hence there exists a homomorphism φ : τ v →
H : vφ = sb. It is clear [13, Lemma 1.1.3] that τ v ⊕H = τ v(1+φ)⊕H and v(1+φ) = v +
sb = v + se − smv = v + se − (1 − tn)v = n(s( n1 e) + tv). Let w = n1 (v + sb) = s( n1 e) + tv.
Then w ∈ U and τ v(1 + φ) ⊂ τ w ⊂ τ v(1 + φ)U ∗ . We claim that U = τ w ⊕ H . Note first
that v = nw − sb ∈ τ w ⊕ H and, moreover, τ v ⊕ H ⊂ τ w ⊕ H . It remains to show that
n e ∈ τ w ⊕ H . We have
1

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

gcd(a, b) = sa + tb, with gcd(c, t) = 1.

Coefficients for the extended Bézout equation are found algorithmically as follows.

(1) Find s1 , t1 such that gcd(a, b) = s1 a + t1 b.


(2) Compute a1 = a/gcd(a, b), b1 = b/gcd(a, b).
(3) Factor c = c1 c2 such that gcd(a1 , c2 ) = 1 and every prime factor of c1 is a prime
factor of a1 . This can be done recursively:

c = gcd(a1 , c)c = gcd(a1 , c)gcd(a1 , c )c = gcd(a1 , c)gcd(a1 , c )gcd(a1 , c )c = · · · ,

until gcd(a1 , c··· ) = 1.


(4) Find α, β such that αa1 + βc2 = 1.
(5) Compute t = (t1 − 1)βc2 + 1 = t1 + α(1 − t1 )a1 and s = s1 − α(1 − t1 )b1 .

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.

Proof. Let d1 ∈ τ . It suffices to show that d1 m1 x ∈ G. The assumptions on m and τ imply


that gcd(d, m) = 1. Write 1 = sd + tm. Then d1 m1 x = s m1 x + t d1 x ∈ G. 2
462 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486

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 )]

Furthermore, [X : (τ w ⊕ B ⊕ C)] = [X : A]/[X(τ ) : (τ v ⊕ B∗X )].

Proof. By the Purification Lemma and Lemma 3.9,



• X(τ ) = (τ v ⊕ B) + ZNτ−1 ( m v + b ), where Nτ = gcdA (N, c ),
• nτ := det Nτ = [X(τ ) : A(τ )],

• B∗X = B + ZNB−1 b , where NB = gcdA (Nτ , m v),
• nB = det NB = [B∗X : B], Nτ = NB KB , kB = det KB = [X(τ ) : (τ v ⊕ B∗X )],
• X(τ ) = (τ v ⊕ B∗X ) + Z k1B e, where
• P KB Q = diag(1, . . . , 1, kB ) for invertible integral matrices P , Q,
• e= k P NB−1 ( m v + b ) = mv + b,

where

k P NB−1 m ∈ Z,
m= k P NB−1 b ∈ B∗X .
b= (3.14)

We wish to apply Lemma 3.10, but to do so we need that τ ⊂ QX b . By hypothesis, the



element b =  k P adj(NB ) b ∈ Z b  satisfies τ ⊂ QB
b and b = 
det NB b . Now det NB =
1

[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

We will first verify the claimed index formula.


K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 463

      
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

4. Almost completely decomposable groups

If A is a completely decomposable group, then X in (3.1) is almost completely decom-


posable. In this case one can introduce a decomposition basis of A and refine the standard
description to obtain the form (1.1).

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.

Proposition 4.2. Let A be a completely decomposable subgroup of finite index in an almost


completely decomposable group X.

(1) Suppose that A is regulating in X. Then X(τ ) = B ⊕ C∗X whenever A(τ ) = B ⊕ C


with B a rank-one summand
 of type τ .
(2) Conversely, let A = ri=1  be a decomposition of A with rk(Ai ) = 1 and set σi =
A i
tp(Ai ). Further set Bi = {Aj : tp(Aj )  σi , j = i}. Suppose that for each i, it is true
that

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

An easy general lemma will be helpful soon.

Lemma 4.3. Let G be a torsion-free group, and A ⊂ H, K ⊂ G subgroups such that H /A


and K/A are torsion groups. Then H∗G ∩ K∗G = (H ∩ K)G ∗.

Proof. The group (H∗G ∩ K∗G )/(H ∩ K)G


∗ is both torsion-free and torsion, so equal
to 0. 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

be a finite essential extension of A. Then there is a regulating subgroup B of the almost


completely decomposable X such that

X = B + Zy1 + · · · + Zyk ⊂ QA.

Proof. (1) By hypothesis and Lemma 4.1 there is a standard description X = A +



ZN −1 M v  where N ∈ Mk (Z), M ∈ Mk×r (Z), A = σ1 v1 ⊕ · · · ⊕ σr vr , v  = [v1 , . . . , vr ]tr .
Set n = det N . We may and do assume further that the rational groups σ1 , . . . , σr have the
property that for any prime divisor p of n and every i, either pσi = σi or 1/p ∈ / σi , and
that gcdA (N, M v  ) = gcd(N, M) by Theorem 2.7. Finally we may and do assume that
σi ⊂ σj if and only if tp(σi )  tp(σj ).
(2) By (1) and Lemma 3.3 we assume that gcdA (N, M v  ) = gcd(N, M) = Ik .
(3) Let M[i: i ∈ I ] denote the submatrix of M consisting of the columns of M with
labels in the index set I . We apply Lemma 3.13 with

• τ = σ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) .

Then the summand τ v1 of A is replaced by a group τ w1 such that X(τ ) = τ w1 ⊕ B∗X



and X = (τ w1 ⊕ B ⊕ C) + ZN −1 M v  . The hypotheses of Lemma 3.13 are satisfied

since M[1] ∈ Z , gcdA (N, M v  ) = gcd(N, M) = Ik (see (2)), and an element x ∈ Z b
is an integral linear combination of basis elements vi , where Qvi = σi ⊃ τ , and hence
B

τ ⊂ σi ⊃τ,i=1 QB vi ⊂ Qx . Since
B

1
w1 = (v + sb),
[X(τ ) : (τ v ⊕ B∗X )]

there is a (rational) transformation matrix T1 with [v1 , v2 , . . . , vr ]tr = T1 [w1 , v2 , . . . , vr ]tr



and, setting A1 = τ w1 ⊕ σ2 v2 ⊕ · · · ⊕ σr vr , by Lemma 3.13, X = A1 + ZN −1 M v  =
  
A1 + ZN −1 (MT1 ) v 1 with v 1 = [w1 , v2 , . . . , vr ]tr . The coordinate matrix MT1 need not
be integral, but there is a value m dividing [X(τ ) : (τ v ⊕ B∗X )] and hence n, such that
mT1 is integral. Setting N1 = mN and M1 = mMT1 , we obtain the standard description
 
X = A1 + ZN1−1 M1 v 1 with integral matrices. This representation need not be reduced,
466 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486

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 .

This is the desired replacement of (4.5) for i = j . Finally, if σj  σi , then


 X
X(σj ) ⊂ σ
(v|w)
: (σ
= σi ∧
 j ) ∨ σ
 σi

and the only change is that (v|w)j = vj is replaced by (v|w)j = wj .


 replacing all vi by wi the identities (4.5)
(5) After  become the Butler decompositions
X(σi ) = {σ
w
: σ
= σi } ⊕ X (σi ) because ( {σ
w
: σ
⊃ σi ,
> j })X
∗ = X (σi ).


Hence B = σ1 w1 ⊕ · · · ⊕ σr wr is a regulating subgroup of X and X/B is generated by k


elements. 2

5. Data describing almost completely decomposable groups

On the basis of Lemma 4.1, every almost completely decomposable group is given by a
set of data as follows:

• a list of (not necessarily different) rational groups [σ1 , . . . , σr ],


• a non-singular k × k integral matrix N ,
• an integral k × r matrix M.

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.

6. General purpose Maple procedures and examples

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;

We consider the following structure matrix N1 , coordinate matrix M1 , order matrix OM


corresponding to the poset depicted, and the divisibility matrices I and S0 :
   
3 0 0 2 2 3 4 6 6 3
N1 =  0 18 0  , M1 =  8 9 10 8 12 15 14  , (6.2)
0 0 108 15 21 12 18 10 20 21
 
1 0 1 1 1 1 0 σ4 σ5 σ6 σ7
0 1 1    
 0 1 1 1     
0 0 1 0 1 1 0    
 
OM =  1 0 0 0   σ3 

0 0 0  ,
 
(6.3)
0 0 0 0 1 0 0 
     
0 0 0 0 0 1 0  
0 0 0 0 0 0 1 σ1 σ2
   
1 0 0 0 0 0 0 729 0 0 0 0 0 0
0 1 0 0 0 0 0  0 1 0 0 0 0 0
   
0 0 1 0 0 0 0  0 0 729 0 0 0 0 
  
I =
0 0 0 1 0 0 0, S0 = 
 0 0 0 729 0 0 0  . (6.4)

0 0 0 0 1 0 0  
  0 0 0 0 729 0 0 
0 0 0 0 0 1 0   0 0 0 0 0 729 0 
0 0 0 0 0 0 1 0 0 0 0 0 0 1

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

The next procedure is a matter of convenience. It produces a scalar matrix of a prescribed


size and diagonal entry.

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).

Procedure 6.7. Given N , M and S0 , produce the adjustment MS such that


   
gcdA N, (MS) w = gcd N, (MS)

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 .

adjust:= proc(n,m, S0)


local k, r, d, s, ss;
k:= coldim(n); r:= coldim(m);
d:= ismith(n)[k,k];
s:= dmx(r,d);
ss:= lmgcd(S0,s);
evalm(m &* ss)
end;

Example 6.8. The command line adjust(N1 , M1 , S0 ) produces


 
54 2 81 108 162 162 3
 216 9 270 216 324 405 14  .
405 21 324 486 270 540 21

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  .

Inputs are N , M, S0 . The output is a list [N  , 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;

In the preceding procedure the following identity holds by Lemma 2.8(2).

Remark 6.13.

   
gcdA N  , M  v  = P · gcdA N, M v  .

In particular, gcdA (N  , M  v  ) = Ik if and only if gcdA (N, M v  ) = Ik .


K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486 473

Example 6.14. For X1 in Example 6.11 the simplified description is


 −1  
18 0
 0 9 0 0 0 9 14
X1 = A + Z v.
0 36 27 25 0 18 18 18 15

The adjustment of the coordinate matrix is


 
0 9 0 0 0 81 14
.
243 25 0 162 162 162 15

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

where ML has zero columns corresponding to basis elements vi with L[1, i] = 0.

purehull:= proc(n,m,L)
local ML, MLc;
ML:= evalm(m &* mdiag(L));

# ML has the same size as M but excluded columns are set to 0.


# By Lemma 2.6 the matrix ML is still adjusted.
474 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486

MLc:= evalm(m &* mdiag(evalm(matrix(1,coldim(L),1)-L)));


[lmgcd(n,MLc), ML]
end;


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 .

The command purehull(N1 , M1 , [0, 1, 1, 0, 1, 0, 1]) produces the following standard


description of the purification of BL = σ2 v2 ⊕ σ3 v3 ⊕ σ5 v5 ⊕ σ7 v7 .

 −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

which means that BL is pure in X.

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

imtau(OM, i), imstau(OM, i), i = 1, . . . , 7.

E.g.,

X(σ1 ) has indicator matrix [1, 0, 1, 1, 1, 1, 0],


X (σ1 ) has indicator matrix [0, 0, 1, 1, 1, 1, 0],
X(σ2 ) has indicator matrix [0, 1, 1, 0, 1, 1, 1],
X (σ2 ) has indicator matrix [0, 0, 1, 0, 1, 1, 1],
X(σ3 ) has indicator matrix [0, 0, 1, 0, 1, 1, 0],
X (σ3 ) has indicator matrix [0, 0, 0, 0, 1, 1, 0].

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

taudata(N1 , M1 , i, OM) and tausdata(N1 , M1 , i, OM), i = 1, . . . , 7,

with the following results:


 −1  
1 0 0 2 0 3 4 6 6 0

X(σ1 ) = A(σ1 ) + Z  0 1 0  8 0 10 8 12 15 0  v  ,
6 6 9 15 0 12 18 10 20 0
 −1  
1 0 0 0 0 3 4 6 6 0

X (σ1 ) = A (σ1 ) + Z  0 1 0 0 0 10 8 12 15 0  v  ,
6 6 9 0 0 12 18 10 20 0
 −1  
1 0 0 0 2 3 0 6 6 3

X(σ2 ) = A(σ2 ) + Z  0 2 0 0 9 10 0 12 15 14  v  ,
6 3 9 0 21 12 0 10 20 21
 −1  
1 0 0 0 0 3 0 6 6 3

X (σ2 ) = A (σ2 ) + Z  0 1 0 0 0 10 0 12 15 14  v  ,
6 6 9 0 0 12 0 10 20 21
 −1  
1 0 0 0 0 3 0 6 6 0

X(σ3 ) = A(σ3 ) + Z  0 1 0 0 0 10 0 12 15 0  v  ,
6 6 9 0 0 12 0 10 20 0
 −1  
1 0 0 0 0 0 0 6 6 0

X (σ3 ) = A (σ3 ) + Z  0 1 0 0 0 0 0 12 15 0  v  .
0 0 3 0 0 0 0 10 20 0

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.

We need a test to see whether A is a regulating subgroup or not.

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

7. Construction of a regulating subgroup

Algorithm (Description and justification of Procedure creggsgp).

(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

element x that is an integral linear combination of the basis elements vj with σj  σi ,


b as in the proof of Lemma 3.13). jtrafo returns a (rational) transformation matrix
T1 such that

[v1 , v2 , . . . , vr ]tr = T1 [w1 , v2 , . . . , vr ]tr


   
and X = A1 + ZN −1 M v  = A1 + ZN −1 (MT1 ) v  1 with v  1 = [w1 , v2 , . . . , vr ]tr . The
coordinate matrix MT1 need not be integral, but jtrafo also returns a value bound
such that bound·T1 is integral. Setting N1 = bound · N and M1 = bound · MT1 , we

obtain the standard description X = (σ1 v1 ⊕· · ·⊕σr vr )+ Z(N1 )−1 M1 v 1 with integral


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.

By recursion it is also established that, for 1  i < j ,


 X
X(σi ) = σi wi ⊕ σ
(w|v)
:
= i, σ
 σi .

The procedure call jtrafo(Nj −1 , Mj −1 , OM, j ) replaces σj vj by σj wj in such a


way that
 X
X(σj ) = σj wj ⊕ σi (v|w)i : σi  σj , i = j

and


 
X = σj wj ⊕ σi (v|w)i + ZNj−1
−1 Mj −1 v j −1
i=j

(Lemma 3.13). Actually, jtrafo finds the r × r rational transformation matrix Tj


  
such that v j −1 = Tj v j where v j = [w1 , . . . , wj , vj +1 , . . . , vr ]tr and


 
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

where (Lemma 3.9):

• 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

alpha:= evalm(P &* evalm(NBinvs &*


submatrix(m,1..k,j..j)))[k,1];
beta:= submatrix(evalm(P &* evalm(NBinvs &* MB)),
k..k,1..r);
[n0, bound, alpha, beta, NB, MB, P]
end;

Example 7.2. Let X = A + ZN1−1 M1 v  be as in Example 6.23. The command line
cycdescr(N1, M1 , 1) returns n0 = 36, bound = 54, α = 5, β = [0, 7, 4, 6, 10/3, 20/3,
7],
   
1 0 0 0 2 3 4 6 6 3
NB =  4 6 0 , MB =  0 9 10 8 12 15 14  .
21 18 27 0 21 12 18 10 20 21

Hence, setting B = j =1 σj vj , we obtained that

   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;

Example 7.4. The command line eb:= ebez(2000,1350,400); returns eb:=


[50, -2, 3] which says that gcd(2000, 1350) = 50 = (−2) · 2000 + 3 · 1350 and, as
required, gcd(400, 3) = 1.
482 K. Benabdallah, A. Mader / Journal of Algebra 281 (2004) 450–486

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  .

Nsigmaj:= td[1]; Msigmaj:= td[2];


cd:= cycdescr(Nsigmaj,Msigmaj,j);

# cycdescr returns a list [n0,bound,alpha,beta,NB,MB,P]

mv:= cd[3]; NBj:= cd[5]; MBj:= cd[6]; bound:= cd[2];


kBj:= det(Nsigmaj)/det(NBj);

# Relevant theory (Corollary 3.7):


# M v  = m v + b  + c 

# X(τ ) = (τ v ⊕ B) + ZNτ−1 ( m v + b ), Nτ = gcdA (N, c ), nτ = det Nτ ,

# B∗X = B + ZNB−1 b , NB = gcdA (Nτ , m v), nB = det NB = [B∗X : B],
# Nτ = NB KB , kB = det KB , P KB Q = diag(1, . . . , 1, kB ),
k P NB−1 ( m v + b ) = mv + b,
# X(τ ) = (τ v ⊕ B∗X ) + Z k1B e, e = 
#m= k P NB−1 m ∈ Z, b = 
k P NB−1 b ∈ B∗X ,
# X(τ ) = τ w ⊕ B∗ , 1 = sm + tkB , gcd(nB , t) = 1,
X

# w = s(1/kB )e + tv = (1/kB )(v + sb), v = kB w − sb.

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

evalm(inverse(NBj) &* MBj)),s),


k..k,1..r));
if j=1 then
Tj:= stackmatrix(rowj,submatrix(idm(r),j+1..r,1..r))
elif j=r then
Tj:= stackmatrix(submatrix(idm(r),1..j-1,1..r), rowj)
else
Tj:= stackmatrix(stackmatrix(submatrix(idm(r),1..j-1,
1..r), rowj),
submatrix(idm(r),j+1..r,1..r))
fi;
[Tj,bound];
end;

The procedure constructing a regulating subgroup is the following.

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);

# jtrafo returns [T , bound].

nj:= scalarmul(n, jtr[2]);


mj:= evalm(m &* jtr[1]);
mj:= scalarmul(mj,jtr[2]);
xr:= xreddescr(nj,mj,S0);
xrc:= cutgens(xr[1],xr[2]);
adj:= adjust(xrc[1],xrc[2],S0);
[xr[1],adj]
end;

Procedure 7.7. Given a standard description X = A + ZN −1 M v  , creggs computes
 −1
a standard description X = B + ZNrg Mrg w where B is regulating in X. The proce-
dure accepts N , M, an order matrix OM, and a divisibility matrix S0 . It returns the list
[Nrg , Mrg ].

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;

We conclude with two runs of the final and main procedure.

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

N2 = [36], M2 = [243 18 0 162 162 243 7].

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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy