What’s new
Let denote the space of
matrices with integer entries, and let
be the group of invertible
matrices with integer entries. The Smith normal form takes an arbitrary matrix
and factorises it as
, where
,
, and
is a rectangular diagonal matrix, by which we mean that the principal
minor is diagonal, with all other entries zero. Furthermore the diagonal entries of
are
for some
(which is also the rank of
) with the numbers
(known as the invariant factors) principal divisors with
. The invariant factors are uniquely determined; but there can be some freedom to modify the invertible matrices
. The Smith normal form can be computed easily; for instance, in SAGE, it can be computed calling the
function from the matrix class. The Smith normal form is also available for other principal ideal domains than the integers, but we will only be focused on the integer case here. For the purposes of this post, we will view the Smith normal form as a primitive operation on matrices that can be invoked as a “black box”.
In this post I would like to record how to use the Smith normal form to computationally manipulate two closely related classes of objects:
- Subgroups
of a standard lattice
(or lattice subgroups for short);
- Closed subgroups
of a standard torus
(or closed torus subgroups for short).
(This arose for me due to the need to actually perform (with a collaborator) some numerical calculations with a number of lattice subgroups and closed torus subgroups.) It’s possible that all of these operations are already encoded in some existing object classes in a computational algebra package; I would be interested to know of such packages and classes for lattice subgroups or closed torus subgroups in the comments.
(This arose for me due to the need to actually perform (with a collaborator) some numerical calculations with a number of lattice subgroups and closed torus subgroups.) It’s possible that all of these operations are already encoded in some existing object classes in a computational algebra package; I would be interested to know of such packages and classes for lattice subgroups or closed torus subgroups in the comments.
The above two classes of objects are isomorphic to each other by Pontryagin duality: if is a lattice subgroup, then the orthogonal complement
is a closed torus subgroup (with the usual Fourier pairing); conversely, if
is a closed torus subgroup, then
is a closed torus subgroup (withthe usual Fourier pairing); conversely, ifis a closed torus subgroup, then
is a lattice subgroup. These two operations invert each other: and
.
is a lattice subgroup. These two operations invert each other:and
Example 1 The orthogonal complement of the lattice subgroup
is the closed torus subgroup
and conversely.
Let us focus first on lattice subgroups . As all such subgroups are finitely generated abelian groups, one way to describe a lattice subgroup is to specify a set
of generators of
. Equivalently, we have
where is the matrix whose columns are
. Applying the Smith normal form
, we conclude that
whereis the matrix whose columns are. Applying the Smith normal form, we conclude that
so in particular is isomorphic (with respect to the automorphism group
of
) to
. In particular, we see that
is a free abelian group of rank
, where
is the rank of
(or
). This representation also allows one to trim the representation
down to
, where
is the matrix formed from the
left columns of
; the columns of
then give a basis for
. Let us call this a trimmed representation of
.
so in particularis isomorphic (with respect to the automorphism groupof) to. In particular, we see thatis a free abelian group of rank, whereis the rank of(or). This representation also allows one to trim the representationdown to, whereis the matrix formed from theleft columns of; the columns ofthen give a basis for. Let us call this a trimmed representation of
Example 2 Let
be the lattice subgroup generated by
,
,
, thus
with
. A Smith normal form for
is given by
so
is a rank two lattice with a basis of
and
(and the invariant factors are
and
). The trimmed representation is
There are other Smith normal forms for
, giving slightly different representations here, but the rank and invariant factors will always be the same.
By the above discussion we can represent a lattice subgroup by a matrix
for some
; this representation is not unique, but we will address this issue shortly. For now, we focus on the question of how to use such data representations of subgroups to perform basic operations on lattice subgroups. There are some operations that are very easy to perform using this data representation:
- (Applying a linear transformation) if
, so that
is also a linear transformation from
to
, then
maps lattice subgroups to lattice subgroups, and clearly maps the lattice subgroup
to
for any
.
- (Sum) Given two lattice subgroups
for some
,
, the sum
is equal to the lattice subgroup
, where
is the matrix formed by concatenating the columns of
with the columns of
.
- (Direct sum) Given two lattice subgroups
,
, the direct sum
is equal to the lattice subgroup
, where
is the block matrix formed by taking the direct sum of
and
.
One can also use Smith normal form to detect when one lattice subgroup is a subgroup of another lattice subgroup
. Using Smith normal form factorization
, with invariant factors
, the relation
is equivalent after some manipulation to
The group is generated by the columns of
, so this gives a test to determine whether
: the
row of
must be divisible by
for
, and all other rows must vanish.
The groupis generated by the columns of, so this gives a test to determine whether: therow ofmust be divisible byfor, and all other rows must vanish.
Example 3 To test whether the lattice subgroup
generated by
and
is contained in the lattice subgroup
from Example 2, we write
as
with
, and observe that
The first row is of course divisible by
, and the last row vanishes as required, but the second row is not divisible by
, so
is not contained in
(but
is); also a similar computation verifies that
is conversely contained in
.
One can now test whether by testing whether
and
simultaneously hold (there may be more efficient ways to do this, but this is already computationally manageable in many applications). This in principle addresses the issue of non-uniqueness of representation of a subgroup
in the form
.
Next, we consider the question of representing the intersection of two subgroups
in the form
for some
and
. We can write
where is the matrix formed by concatenating
and
, and similarly for
(here we use the change of variable
). We apply the Smith normal form to
to write
whereis the matrix formed by concatenatingand, and similarly for(here we use the change of variable). We apply the Smith normal form toto write
where ,
,
with
of rank
. We can then write
wherewithof rank. We can then write
(making the change of variables ). Thus we can write
where
consists of the right
columns of
.
(making the change of variables). Thus we can writewhereconsists of the rightcolumns of
Example 4 With the lattice
from Example 2, we shall compute the intersection of
with the subgroup
, which one can also write as
with
. We obtain a Smith normal form
so
. We have
and so we can write
where
One can trim this representation if desired, for instance by deleting the first column of
(and replacing
with
). Thus the intersection of
with
is the rank one subgroup generated by
.
A similar calculation allows one to represent the pullback of a subgroup
via a linear transformation
, since
where is the concatenation of the
identity matrix
and the
zero matrix. Applying the Smith normal form to write
with
of rank
, the same argument as before allows us to write
where
consists of the right
columns of
.
whereis the concatenation of theidentity matrixand thezero matrix. Applying the Smith normal form to writewithof rank, the same argument as before allows us to writewhereconsists of the rightcolumns of
Among other things, this allows one to describe lattices given by systems of linear equations and congruences in the format. Indeed, the set of lattice vectors
that solve the system of congruences
for , some natural numbers
, and some lattice vectors
, together with an additional system of equations
and some lattice vectors
, can be written as
where
is the matrix with rows
, and
is the diagonal matrix with diagonal entries
. Conversely, any subgroup
can be described in this form by first using the trimmed representation
, at which point membership of a lattice vector
in
is seen to be equivalent to the congruences
for, some natural numbers, and some lattice vectors, together with an additional system of equations
forand some lattice vectors, can be written aswhereis the matrix with rows, andis the diagonal matrix with diagonal entries. Conversely, any subgroupcan be described in this form by first using the trimmed representation, at which point membership of a lattice vectorinis seen to be equivalent to the congruences
for (where
is the rank,
are the invariant factors, and
is the standard basis of
) together with the equations
for(whereis the rank,are the invariant factors, andis the standard basis of) together with the equations
for . Thus one can obtain a representation in the form
, and
to be the rows of
in order.
for. Thus one can obtain a representation in the form (1) (2) with, andto be the rows ofin order.
Example 5 With the lattice subgroup
from Example 2, we have
, and so
consists of those triples
which obey the (redundant) congruence
the congruence
and the identity
Conversely, one can use the above procedure to convert the above system of congruences and identities back into a form
(though depending on which Smith normal form one chooses, the end result may be a different representation of the same lattice group
).
Now we apply Pontryagin duality. We claim the identity
for any (where
induces a homomorphism from
to
in the obvious fashion). This can be verified by direct computation when
is a (rectangular) diagonal matrix, and the general case then easily follows from a Smith normal form computation (one can presumably also derive it from the category-theoretic properties of Pontryagin duality, although I will not do so here). So closed torus subgroups that are defined by a system of linear equations (over
, with integer coefficients) are represented in the form
of an orthogonal complement of a lattice subgroup. Using the trimmed form
, we see that
for any(whereinduces a homomorphism fromtoin the obvious fashion). This can be verified by direct computation whenis a (rectangular) diagonal matrix, and the general case then easily follows from a Smith normal form computation (one can presumably also derive it from the category-theoretic properties of Pontryagin duality, although I will not do so here). So closed torus subgroups that are defined by a system of linear equations (over, with integer coefficients) are represented in the formof an orthogonal complement of a lattice subgroup. Using the trimmed form, we see that
giving an explicit representation “in coordinates” of such a closed torus subgroup. In particular we can read off the isomorphism class of a closed torus subgroup as the product of a finite number of cyclic groups and a torus:
giving an explicit representation “in coordinates” of such a closed torus subgroup. In particular we can read off the isomorphism class of a closed torus subgroup as the product of a finite number of cyclic groups and a torus:
Example 6 The orthogonal complement of the lattice subgroup
from Example 2 is the closed torus subgroup
using the trimmed representation of
, one can simplify this a little to
and one can also write this as the image of the group
under the torus isomorphism
In other words, one can write
so that
is isomorphic to
.
We can now dualize all of the previous computable operations on subgroups of to produce computable operations on closed subgroups of
. For instance:
- To form the intersection or sum of two closed torus subgroups
, use the identities
and
and then calculate the sum or intersection of the lattice subgroups
by the previous methods. Similarly, the operation of direct sum of two closed torus subgroups dualises to the operation of direct sum of two lattice subgroups.
- To determine whether one closed torus subgroup
is contained in (or equal to) another closed torus subgroup
, simply use the preceding methods to check whether the lattice subgroup
is contained in (or equal to) the lattice subgroup
.
- To compute the pull back
of a closed torus subgroup
via a linear transformation
, use the identity
Similarly, to compute the image
of a closed torus subgroup
, use the identity
Example 7 Suppose one wants to compute the sum of the closed torus subgroup
from Example 6 with the closed torus subgroup
. This latter group is the orthogonal complement of the lattice subgroup
considered in Example 4. Thus we have
where
is the matrix from Example 6; discarding the zero column, we thus have


















![Toni Kroos là ai? [ sự thật về tiểu sử đầy đủ Toni Kroos ]](https://evbn.org/wp-content/uploads/New-Project-6635-1671934592.jpg)


