11 #ifndef EIGEN_REALSVD2X2_H 12 #define EIGEN_REALSVD2X2_H 18 template<
typename MatrixType,
typename RealScalar,
typename Index>
32 if(
abs(d) < (std::numeric_limits<RealScalar>::min)())
34 rot1.s() = RealScalar(0);
35 rot1.c() = RealScalar(1);
43 rot1.s() = RealScalar(1) / tmp;
46 m.applyOnTheLeft(0,1,rot1);
55 #endif // EIGEN_REALSVD2X2_H
EIGEN_DEVICE_FUNC RealReturnType real() const
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
Rotation given by a cosine-sine pair.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const AbsReturnType abs() const
bool makeJacobi(const MatrixBase< Derived > &, Index p, Index q)
JacobiRotation transpose() const
void real_2x2_jacobi_svd(const MatrixType &matrix, Index p, Index q, JacobiRotation< RealScalar > *j_left, JacobiRotation< RealScalar > *j_right)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
EIGEN_DEVICE_FUNC const Scalar & q
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Abs2ReturnType abs2() const
The matrix class, also used for vectors and row-vectors.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar & coeff(Index rowId, Index colId) const