$$ \gdef\pd#1#2{\frac{\partial #1}{\partial #2}} \gdef\d#1{\, \mathrm{d}#1} \gdef\dx{\d{x}} \gdef\tr#1{\operatorname{tr} (#1)} $$ $$ \gdef\norm#1{\left \lVert #1 \right\rVert} \gdef\seminorm#1{| #1 |} $$ $$ \gdef\vec#1{\mathbf{\boldsymbol{#1}}} $$

Function fenris::util::rotation_svd[][src]

pub fn rotation_svd<T, D>(
    matrix: &OMatrix<T, D, D>
) -> (OMatrix<T, D, D>, OVector<T, D>, OMatrix<T, D, D>) where
    T: RealField,
    D: DimName + DimMin<D, Output = D> + DimSub<U1>,
    DefaultAllocator: Allocator<T, D> + Allocator<T, D, D> + Allocator<T, <D as DimSub<U1>>::Output> + Allocator<(usize, usize), D>, 
Expand description

An SVD-like decomposition in which the orthogonal matrices U and V are rotation matrices.

Given a matrix A, this method returns factors U, S and V such that A = U S V^T, with U, V orthogonal and det(U) = det(V) = 1 and S a diagonal matrix whose entries are represented by a vector.

Note that unlike the standard SVD, S may contain negative entries, and so they do not generally coincide with singular values. However, it holds that S(i)^2 == sigma_i^2, where sigma_i is the ith singular value of A.

Returns a tuple (U, S, V^T).