mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-02 16:54:10 +08:00
Remove LM::sqrt_() member function in favor of a shortcut for sqrt(epsilon())
This commit is contained in:
parent
ff9bfc45f7
commit
280661e67d
@ -45,6 +45,12 @@ namespace LevenbergMarquardtSpace {
|
||||
template<typename FunctorType, typename Scalar=double>
|
||||
class LevenbergMarquardt
|
||||
{
|
||||
static Scalar sqrt_epsilon()
|
||||
{
|
||||
using std::sqrt;
|
||||
return sqrt(NumTraits<Scalar>::epsilon());
|
||||
}
|
||||
|
||||
public:
|
||||
LevenbergMarquardt(FunctorType &_functor)
|
||||
: functor(_functor) { nfev = njev = iter = 0; fnorm = gnorm = 0.; useExternalScaling=false; }
|
||||
@ -55,8 +61,8 @@ public:
|
||||
Parameters()
|
||||
: factor(Scalar(100.))
|
||||
, maxfev(400)
|
||||
, ftol(sqrt_(NumTraits<Scalar>::epsilon()))
|
||||
, xtol(sqrt_(NumTraits<Scalar>::epsilon()))
|
||||
, ftol(sqrt_epsilon())
|
||||
, xtol(sqrt_epsilon())
|
||||
, gtol(Scalar(0.))
|
||||
, epsfcn(Scalar(0.)) {}
|
||||
Scalar factor;
|
||||
@ -72,7 +78,7 @@ public:
|
||||
|
||||
LevenbergMarquardtSpace::Status lmder1(
|
||||
FVectorType &x,
|
||||
const Scalar tol = sqrt_(NumTraits<Scalar>::epsilon())
|
||||
const Scalar tol = sqrt_epsilon()
|
||||
);
|
||||
|
||||
LevenbergMarquardtSpace::Status minimize(FVectorType &x);
|
||||
@ -83,12 +89,12 @@ public:
|
||||
FunctorType &functor,
|
||||
FVectorType &x,
|
||||
Index *nfev,
|
||||
const Scalar tol = sqrt_(NumTraits<Scalar>::epsilon())
|
||||
const Scalar tol = sqrt_epsilon()
|
||||
);
|
||||
|
||||
LevenbergMarquardtSpace::Status lmstr1(
|
||||
FVectorType &x,
|
||||
const Scalar tol = sqrt_(NumTraits<Scalar>::epsilon())
|
||||
const Scalar tol = sqrt_epsilon()
|
||||
);
|
||||
|
||||
LevenbergMarquardtSpace::Status minimizeOptimumStorage(FVectorType &x);
|
||||
@ -109,7 +115,6 @@ public:
|
||||
|
||||
Scalar lm_param(void) { return par; }
|
||||
private:
|
||||
static Scalar sqrt_(const Scalar& x) { using std::sqrt; return sqrt(x); }
|
||||
|
||||
FunctorType &functor;
|
||||
Index n;
|
||||
|
Loading…
x
Reference in New Issue
Block a user