#include <svd.h>
Public Types | |
| typedef FloatType | scalar_t |
Public Member Functions | |
| bidiagonal_2x2_decomposition (scalar_t f, scalar_t g, scalar_t h, bool compute_singular_vectors) | |
Public Attributes | |
| scalar_t | s_min |
| scalar_t | s_max |
| scalar_t | c_u |
| scalar_t | s_u |
| scalar_t | c_v |
| scalar_t | s_v |
Reference: LAPACK DLASV2
| bidiagonal_2x2_decomposition | ( | scalar_t | f, | |
| scalar_t | g, | |||
| scalar_t | h, | |||
| bool | compute_singular_vectors | |||
| ) | [inline] |
Singular values of [ f g ] [ 0 h ] If the argument compute_singular_vectors is false, only the singular values are computed and they are both non-negative (making that code more or less equivalent to DLAS2 in LAPACK). Otherwise, s_max and s_min have respectively the sign of f and g.
References bidiagonal_2x2_decomposition::c_u, bidiagonal_2x2_decomposition::c_v, and bidiagonal_2x2_decomposition::s_min.
| scalar_t s_min |
singular values: |s_min| < |s_max| U^T A V = [ s_max 0 ] [ 0 s_min ]
Referenced by bidiagonal_2x2_decomposition::bidiagonal_2x2_decomposition().
| scalar_t c_u |
U = [ c_u -s_u ] [ s_u c_u ]
Referenced by bidiagonal_2x2_decomposition::bidiagonal_2x2_decomposition().
| scalar_t c_v |
V = [ c_v -s_v ] [ s_v c_v ]
Referenced by bidiagonal_2x2_decomposition::bidiagonal_2x2_decomposition().
1.5.6