Applications of the singular value decomposition:
a nonnegative real number s
is a singular value of matrix
m
if there exist unit-length vectors u
and v
such
that m # v = s * u
and transpose(m) # u = s * v
.
u
and v
are then called the left-singular and
right-singular vectors for s
. After svd, m, u2, s2, v2
,
the elements of s2
are the singular values of m
.
The pseudo-inverse of matrix m
with singular value
decomposition m = u2 # mdiagonal(s2) # transpose(v2)
is
equal to Mpi = v2 # mdiagonal(Spi) # transpose(u2)
, where
vector Spi
is obtained from vector s2
by replacing each
non-zero element by its reciprocal. The solution of the linear
least-squares problem m # b = y
is bs = Mpi # y
, but
going through the pseudoinverse is not the most efficient method of
solving the least-squares problem.
The unit vector x
that yields the smallest m # x
is the
right singular vector of m
corresponding to the smallest
singular value.
The null space of matrix m
is spanned by the right singular
vectors corresponding to vanishing singular values of m
. The
range of matrix m
is spanned by the left singular vectors
corresponding to non-zero singular values of m
. The rank of
matrix m
equals the number of non-zero singular values.
The matrix Mr
of rank r
that best approximates matrix
m
(by minimizing the Frobenius norm of the difference) is
Mr = u2 # mdiagonal(Sr) # transpose(v2)
where Sr
is
the same as s2
but has all singular values beyond the first
r
set to zero.
The orthonormal matrix r
closest to m
(under the
Frobenius norm) is u # transpose(v)
– i.e., has all singular
values replaced by 1.
The orthonormal matrix r
which most closely maps a
to
b
(for the orthogonal Procrustes problem) is the nearest
orthonormal matrix to transpose(a) # b
.