pub fn decompose<const K: usize>(matrix: &[[f64; K]; K]) -> Decomposition<K>Expand description
The full decomposition: magnitudes and directions.
The method orthogonalises columns by rotations. The same rotations
accumulate into an identity matrix, which yields V, since
A·V = U·Σ. The directions are what let the answer be “this particular
motion is unobservable” rather than “the problem is ill-conditioned”.