chainerx.linalg.svd¶
-
chainerx.linalg.
svd
(a, full_matrices=True, compute_uv=True)¶ Singular Value Decomposition.
Factorizes the matrix
a
into two unitary matricesU
andVt
, and a 1-D arrays
of singular values such thata == U * S * Vt
, whereS
is a suitably shaped matrix of zeros with main diagonals
and*
represents a dot product.- Parameters
- Returns
A tuple of
(U, s, Vt)
such thata = U * diag(s) * Vt
. Whencompute_uv
is False only singular valuess
are returned.- Return type
tuple of
chainerx.ndarray
Note
The
dtype
must befloat32
orfloat64
(float16
is not supported yet.)The SVD is commonly written as a = U * diag(s) * V^T. The
Vt
returned by this function is V^T.During backpropagation, this function requires
U
andVt
computed, therefore differentiation does not work forcompute_uv=False
.Backpropagation is not implemented for
full_matrices=True
.
See also