Information Technology Reference
In-Depth Information
LDL
T
Factorization of SPD Matrices
Now that we know that the Schur complement
S
of
M
is SPD when
M
is SPD, we can show
that every SPD matrix
M
has a factorization as the product
LDL
T
of a unit lower triangular
matrix
L
(each of its diagonal entries is the multiplicative unit of the field
6.5.4
R
), a diagonal
matrix
D
, and the transpose of
L
.
THEOREM
6.5.2
Every
n × n
SPD matrix
M
has a factorization as the product
M
=
LDL
T
,
where
L
is a unit lower triangular matrix and
D
is a diagonal matrix.
Proof
The proof is by induction on
n
.For
n
=
1 the result is obvious because we can write
[
m
1,1
]=[
1
][
m
1,1
][
1
]
. Assume that it holds for
n
≤
N
−
1. We show that it holds for
n
=
N
.
Form the Schur factorization of the
N
×
N
matrix
M
.Sincethe
k
×
k
submatrix
M
1,1
of
M
as well as the
n
k
submatrix
S
of
M
are SPD, by the inductive hypothesis
they can be factored in the same fashion. Let
−
k
×
n
−
M
1,1
=
L
1
D
1
L
1
,
S
=
L
2
D
2
L
2
Then the middle matrix on the right-hand side of equation (
6.8
) can be represented as
M
1,1
=
L
1
D
1
L
1
0
0
0
0
L
2
0
S
0
L
2
0
D
2
0
Substituting the above product for the middle matrix in (
6.8
) and multiplying the two left
and two right matrices gives the following representation for
M
:
M
=
D
1
L
1
L
1
M
−
1
L
1
0
0
1,1
M
1,2
(6.10)
M
2,1
M
−
1
L
2
1,1
L
1
L
2
0
D
2
0
Since
M
is symmetric,
M
1,1
is symmetric,
M
1,2
=
M
2,1
,and
L
1
M
−
1
1,1
M
1,2
=
L
1
(
M
−
1
1,1
)
T
M
2,1
=(
M
2,1
M
−
1
1,1
L
1
)
T
Thus, it suffices to compute
L
1
,
D
1
,
L
2
,
D
2
,and
M
2,1
M
−
1
1,1
L
1
.
When
n
=
2
r
and
k
=
n/
2, the proof of Theorem
6.5.2
describes a recursive procedure,
LDL
T
[
n
], defined on
n
n
SPD matrices that produces their
LDL
T
factorization. Figure
6.6
captures the steps involved. They are also described below.
×
The
LDL
T
•
factorization of the
n/
2
×
n/
2matrix
M
1,1
is computed using the proce-
dure LDL
T
[
n/
2] to produce the
n/
2
×
n/
2 triangular and diagonal matrices
L
1
and
D
1
,
respectively.
1,1
L
1
=
M
2,1
L
−
1
T
D
−
1
which may be computed by inverting the
lower triangular matrix
L
1
with the operation TRI INV
[
n/
2
]
, computing the product
The product
M
2,1
M
−
1
•
M
2,1
L
−
1
T
using MULT
[
n/
2
]
, and multiplying the result with
D
−
1
using a procedure
SCALE
[
n/
2
]
that inverts
D
1
and multiplies it by a square matrix.
Search WWH ::
Custom Search