chainerx.linalg.svd¶
- chainerx.linalg.svd(a, full_matrices=True, compute_uv=True)¶
Singular Value Decomposition.
Factorizes the matrix
ainto two unitary matricesUandVt, and a 1-D arraysof singular values such thata == U * S * Vt, whereSis a suitably shaped matrix of zeros with main diagonalsand*represents a dot product.- Parameters
- Returns
A tuple of
(U, s, Vt)such thata = U * diag(s) * Vt. Whencompute_uvis False only singular valuessare returned.- Return type
tuple of
chainerx.ndarray
Note
The
dtypemust befloat32orfloat64(float16is not supported yet.)The SVD is commonly written as a = U * diag(s) * V^T. The
Vtreturned by this function is V^T.During backpropagation, this function requires
UandVtcomputed, therefore differentiation does not work forcompute_uv=False.Backpropagation is not implemented for
full_matrices=True.
See also