Singular value decomposition (full) of matrix
Syntax: @svdfull(m1, m2, m3)
m1: matrix, sym
m2: matrix
m3: matrix, sym
Return: matrix
Performs a singular value decomposition of the matrix m1.
The matrix
is returned by the function, the matrix
m2 will be assigned (resized if necessary) the matrix
, and the matrix
m3 will be assigned (resized if necessary) the other matrix,
, of the decomposition. The singular value decomposition satisfies:
where
is a diagonal matrix with the singular values along the diagonal. Singular values close to zero indicate that the matrix may not be of full rank. See the
@rank function for a related discussion.
Examples
matrix x = @mnrnd(5, 7)
matrix w
matrix v
matrix u = @svdfull(x, w, v)
performs the full SVD of the matrix X. U is
, W is
diagonal matrix with singular values on the diagonal, and V is
.
Alternately, if the rank is less than the number of rows,
matrix x = @mnrnd(7, 5)
matrix u = @svdfull(x, w, v)
then U is
, W is a
matrix with the singular values on the main diagonal and V is a
matrix.
In both cases, the following demonstrate the properties of the decomposition:
sym i1 = @inner(u)
sym i2 = @inner(v)
matrix x1 = u * w * v.@t
where I1 and I2 and the identity matrix, and X1 is equal to X.
Cross-references
See also
@svd,
@cholesky,
@lu, and
@qr.