Lines Matching refs:RealScalar
79 typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
80 typedef typename NumTraits<RealScalar>::Literal Literal;
96 typedef Matrix<RealScalar, Dynamic, Dynamic, ColMajor> MatrixXr;
97 typedef Matrix<RealScalar, Dynamic, 1> VectorType;
98 typedef Array<RealScalar, Dynamic, 1> ArrayXr;
186 …atic RealScalar secularEq(RealScalar x, const ArrayRef& col0, const ArrayRef& diag, const IndicesR…
246 const RealScalar considerZero = (std::numeric_limits<RealScalar>::min)();
262 RealScalar scale = matrix.cwiseAbs().maxCoeff();
283 RealScalar a = abs(m_computed.coeff(i, i));
399 const RealScalar considerZero = (std::numeric_limits<RealScalar>::min)();
400 RealScalar alphaK;
401 RealScalar betaK;
402 RealScalar r0;
403 RealScalar lambda, phi, c0, s0;
488 RealScalar q1 = m_naiveU(0, firstCol + k);
545 Map<Matrix<RealScalar,2,Dynamic>,Aligned> tmp(m_workspace.data(),2,n+1);
573 const RealScalar considerZero = (std::numeric_limits<RealScalar>::min)();
692 …RealScalar BDCSVD<MatrixType>::secularEq(RealScalar mu, const ArrayRef& col0, const ArrayRef& diag…
695 RealScalar res = Literal(1);
729 RealScalar left = diag(k);
730 …RealScalar right; // was: = (k != actual_n-1) ? diag(k+1) : (diag(actual_n-1) + col0.matrix().norm…
742 RealScalar mid = left + (right-left) / Literal(2);
743 RealScalar fMid = secularEq(mid, col0, diag, perm, diag, Literal(0));
759 RealScalar shift = (k == actual_n-1 || fMid > Literal(0)) ? left : right;
766 RealScalar muPrev, muCur;
769 muPrev = (right - left) * RealScalar(0.1);
771 else muCur = (right - left) * RealScalar(0.5);
775 muPrev = -(right - left) * RealScalar(0.1);
776 muCur = -(right - left) * RealScalar(0.5);
779 RealScalar fPrev = secularEq(muPrev, col0, diag, perm, diagShifted, shift);
780 RealScalar fCur = secularEq(muCur, col0, diag, perm, diagShifted, shift);
790 …al(8) * NumTraits<RealScalar>::epsilon() * numext::maxi<RealScalar>(abs(muCur), abs(muPrev)) && ab…
795 RealScalar a = (fCur - fPrev) / (Literal(1)/muCur - Literal(1)/muPrev);
796 RealScalar b = fCur - a / muCur;
798 RealScalar muZero = -a/b;
799 RealScalar fZero = secularEq(muZero, col0, diag, perm, diagShifted, shift);
818 RealScalar leftShifted, rightShifted;
821 leftShifted = (std::numeric_limits<RealScalar>::min)();
824 …rightShifted = (k==actual_n-1) ? right : ((right - left) * RealScalar(0.6)); // theoretically we c…
828 leftShifted = -(right - left) * RealScalar(0.6);
829 rightShifted = -(std::numeric_limits<RealScalar>::min)();
832 RealScalar fLeft = secularEq(leftShifted, col0, diag, perm, diagShifted, shift);
835 RealScalar fRight = secularEq(rightShifted, col0, diag, perm, diagShifted, shift);
847 …rightShifted - leftShifted > Literal(2) * NumTraits<RealScalar>::epsilon() * numext::maxi<RealScal…
849 RealScalar midShifted = (leftShifted + rightShifted) / Literal(2);
901 RealScalar dk = diag(k);
902 RealScalar prod = (singVals(last) + dk) * (mus(last) + (shifts(last) - dk));
921 RealScalar tmp = sqrt(prod);
981 RealScalar c = m_computed(start, start);
982 RealScalar s = m_computed(start+i, start);
983 RealScalar r = sqrt(numext::abs2(c) + numext::abs2(s));
993 JacobiRotation<RealScalar> J(c/r,-s/r);
1010 RealScalar c = m_computed(firstColm+i, firstColm);
1011 RealScalar s = m_computed(firstColm+j, firstColm);
1012 RealScalar r = sqrt(numext::abs2(c) + numext::abs2(s));
1035 JacobiRotation<RealScalar> J(c,-s);
1054 const RealScalar considerZero = (std::numeric_limits<RealScalar>::min)();
1055 RealScalar maxDiag = diag.tail((std::max)(Index(1),length-1)).cwiseAbs().maxCoeff();
1056 …RealScalar epsilon_strict = numext::maxi<RealScalar>(considerZero,NumTraits<RealScalar>::epsilon()…
1057 …RealScalar epsilon_coarse = Literal(8) * NumTraits<RealScalar>::epsilon() * numext::maxi<RealScala…
1192 if( (diag(i) - diag(i-1)) < NumTraits<RealScalar>::epsilon()*maxDiag )
1195 …= " << i << " because " << (diag(i) - diag(i-1)) << " < " << NumTraits<RealScalar>::epsilon()*diag…