Lines Matching full:scalar
42 template<typename FunctorType, typename Scalar=double>
53 : factor(Scalar(100.))
55 , xtol(std::sqrt(NumTraits<Scalar>::epsilon()))
58 , epsfcn(Scalar(0.)) {}
59 Scalar factor;
61 Scalar xtol;
64 Scalar epsfcn;
66 typedef Matrix< Scalar, Dynamic, 1 > FVectorType;
67 typedef Matrix< Scalar, Dynamic, Dynamic > JacobianType;
69 typedef Matrix< Scalar, Dynamic, Dynamic > UpperTriangularType;
73 const Scalar tol = std::sqrt(NumTraits<Scalar>::epsilon())
82 const Scalar tol = std::sqrt(NumTraits<Scalar>::epsilon())
97 Scalar fnorm;
102 Scalar sum;
104 Scalar temp;
105 Scalar delta;
108 Scalar ratio;
109 Scalar pnorm, xnorm, fnorm1;
112 Scalar actred, prered;
120 template<typename FunctorType, typename Scalar>
122 HybridNonLinearSolver<FunctorType,Scalar>::hybrj1(
124 const Scalar tol
141 template<typename FunctorType, typename Scalar>
143 HybridNonLinearSolver<FunctorType,Scalar>::solveInit(FVectorType &x)
184 template<typename FunctorType, typename Scalar>
186 HybridNonLinearSolver<FunctorType,Scalar>::solveOneStep(FVectorType &x)
193 std::vector<JacobiRotation<Scalar> > v_givens(n), w_givens(n);
237 internal::dogleg<Scalar>(R, diag, qtf, delta, wa1);
272 if (ratio < Scalar(.1)) {
275 delta = Scalar(.5) * delta;
279 if (ratio >= Scalar(.5) || ncsuc > 1)
280 delta = (std::max)(delta, pnorm / Scalar(.5));
281 if (abs(ratio - 1.) <= Scalar(.1)) {
282 delta = pnorm / Scalar(.5);
287 if (ratio >= Scalar(1e-4)) {
299 if (actred >= Scalar(.001))
303 if (actred >= Scalar(.1))
313 if (Scalar(.1) * (std::max)(Scalar(.1) * delta, pnorm) <= NumTraits<Scalar>::epsilon() * xnorm)
328 if (ratio >= Scalar(1e-4))
333 internal::r1updt<Scalar>(R, wa1, v_givens, w_givens, wa2, wa3, &sing);
334 internal::r1mpyq<Scalar>(n, n, fjac.data(), v_givens, w_givens);
335 internal::r1mpyq<Scalar>(1, n, qtf.data(), v_givens, w_givens);
342 template<typename FunctorType, typename Scalar>
344 HybridNonLinearSolver<FunctorType,Scalar>::solve(FVectorType &x)
356 template<typename FunctorType, typename Scalar>
358 HybridNonLinearSolver<FunctorType,Scalar>::hybrd1(
360 const Scalar tol
378 template<typename FunctorType, typename Scalar>
380 HybridNonLinearSolver<FunctorType,Scalar>::solveNumericalDiffInit(FVectorType &x)
424 template<typename FunctorType, typename Scalar>
426 HybridNonLinearSolver<FunctorType,Scalar>::solveNumericalDiffOneStep(FVectorType &x)
434 std::vector<JacobiRotation<Scalar> > v_givens(n), w_givens(n);
480 internal::dogleg<Scalar>(R, diag, qtf, delta, wa1);
515 if (ratio < Scalar(.1)) {
518 delta = Scalar(.5) * delta;
522 if (ratio >= Scalar(.5) || ncsuc > 1)
523 delta = (std::max)(delta, pnorm / Scalar(.5));
524 if (abs(ratio - 1.) <= Scalar(.1)) {
525 delta = pnorm / Scalar(.5);
530 if (ratio >= Scalar(1e-4)) {
542 if (actred >= Scalar(.001))
546 if (actred >= Scalar(.1))
556 if (Scalar(.1) * (std::max)(Scalar(.1) * delta, pnorm) <= NumTraits<Scalar>::epsilon() * xnorm)
571 if (ratio >= Scalar(1e-4))
576 internal::r1updt<Scalar>(R, wa1, v_givens, w_givens, wa2, wa3, &sing);
577 internal::r1mpyq<Scalar>(n, n, fjac.data(), v_givens, w_givens);
578 internal::r1mpyq<Scalar>(1, n, qtf.data(), v_givens, w_givens);
585 template<typename FunctorType, typename Scalar>
587 HybridNonLinearSolver<FunctorType,Scalar>::solveNumericalDiff(FVectorType &x)