12#ifndef TLAPACK_SVD22_HH
13#define TLAPACK_SVD22_HH
54template <
typename T, enable_if_t<!is_complex<T>,
bool> = true>
152 r = sqrt(
l *
l +
mm);
168 t = (m / (
s +
t) + m / (
r +
l)) * (
one + a);
void svd22(const T &f, const T &g, const T &h, T &ssmin, T &ssmax, T &csl, T &snl, T &csr, T &snr)
Computes the singular value decomposition of a 2-by-2 real triangular matrix.
Definition svd22.hpp:55
void swap(vectorX_t &x, vectorY_t &y)
Swap vectors, .
Definition swap.hpp:31
Sort the numbers in D in increasing order (if ID = 'I') or in decreasing order (if ID = 'D' ).
Definition arrayTraits.hpp:15
typename traits::real_type_traits< Types..., int >::type real_type
The common real type of the list of types.
Definition scalar_type_traits.hpp:113
constexpr int sgn(const T &val)
Type-safe sgn function.
Definition utils.hpp:109