This preview shows pages 1–2. Sign up to view the full content.
Smith Normal Form and
Integer solutions to linear equations
Jonathan L.F. King
University of Florida, Gainesville FL 326112082, USA
[email protected]
26 August, 2007
(at
21:07
)
In this tract, Gcd(0
,...,
0) is zero; this, since every
integer divides zero.
All matrices (and vectors) are
integervalued
,
♥
1
unless speciﬁed otherwise
. So a square matrix
R
is
invertible
♥
1
IFF
Det(
R
)
∈ {±
1
}
.
For two, say, 3
×
5 matrices
A
and
B
, write:
A
r
∼
B
,
read “
A
is
row equivalent
to
B
”;
A
c
∼
B
,
read “
A
is
column equiv.
to
B
”;
A
r c
∼∼
B
,
read “
A
is
rowcol equivalent
to
B
”;
if there exist
invertible
matrices
3
×
3
R
and
5
×
5
C
such that,
respectively,
R
A
=
B
;
A
C
=
B
;
R
A
C
=
B
.
Smith Normal Form
An
r
×
c
matrix
G
δ
1
0
δ
2
0
.
.
.
.
.
.
δ
m
0
(
Here,
m
:= Min(
r
,
c
).
In
this example,
c
equals
r
+ 1.
All unshown entries are zero.
)
5
:
is in
Smith form
if its only nonzero entries –the
pivotvalues
– are on its maindiagonal. (Zeros are
allowed on the maindiagonal).
Smith form
requires
that the matrix be integervalued, and that all non
zero values on the diagonal occur
before
the zeros.
Let
π
=
π
(
G
) denote the number of pivots (nonzero
values).
Our
r
×
c
matrix
G
is in
Smith normal
form
δ
1
0
.
.
.
.
.
.
δ
π
.
.
.
0
... ...
0
...
0
(
In this example,
m
=
r
and
π
=
r

1. Thus
δ
m
is
necessarily 0.
)
6
:
♥
1
More generally, our matrices’ entries come from a
euclidean
domain
,
ED
. An
invertible
R
has Det(
R
)
∈
Units(
ED
). For
row operations, we may:
Add any
ED
multiple of a row to
another; Multiply a row by any
ED

unit
.
Ditto for columnops.
if, in addition, the pivotsvalues are positive
and
δ
1
•
...
•
δ
π

1
•
δ
π
• ··· •
δ
m
.
7
:
(
This divisibilitycondition forces zeros on the diagonal to occur
last.
)
Elementary row operations.
Applied to an
r
×
c
matrix Γ, the (elementary) rowoperations
♥
1
are
a
:
Exchanging two rows.
b
:
Adding a
Z
multiple of one row to another.
c
:
Multiplying a row by
1.
Applying a rowop to Γ produces
E
Γ, where
E
is an
r
×
r
elementary matrix
. Notice that Det(
E
) is
±
1,
since we are allowed to multiply a row only
♥
1
by
1.
Analogously, there are the
column operations
.
Applying a colop to Γ produces Γ
b
E
, where
b
E
is an
c
×
c
elementary matrix.
Applying
j
–many rowops and
k
–many colops to Γ
produces a matrix
G
:=
R
Γ
C
,
where
R
:=
E
j
···
E
2
E
1
and
C
:=
b
E
1
b
E
2
···
b
E
k
.
This
R
is an integer matrix with Det(
R
)
∈ {±
1
}
.
Ditto
C
. These are the
bookkeeping
matrices; our
R
keeps track of the (cumulative) rowops, and
C
keeps
track of the colops. Converting Γ to
G
via elem.
rowops and colops manifests
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview. Sign up
to
access the rest of the document.