mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 19:59:05 +08:00
cleaning
This commit is contained in:
parent
201f58e528
commit
38fc6c8553
@ -10,7 +10,7 @@ public:
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
Matrix< Scalar, Dynamic, 1 > &fvec,
|
||||
Matrix< Scalar, Dynamic, Dynamic > &fjac,
|
||||
Scalar tol = ei_sqrt(epsilon<Scalar>())
|
||||
const Scalar tol = ei_sqrt(epsilon<Scalar>())
|
||||
);
|
||||
int solve(
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
@ -20,14 +20,14 @@ public:
|
||||
Matrix< Scalar, Dynamic, 1 > &R,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode=1,
|
||||
const int mode=1,
|
||||
int nb_of_subdiagonals = -1,
|
||||
int nb_of_superdiagonals = -1,
|
||||
int maxfev = 2000,
|
||||
Scalar factor = Scalar(100.),
|
||||
Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
Scalar epsfcn = Scalar(0.),
|
||||
int nprint=0
|
||||
const int maxfev = 2000,
|
||||
const Scalar factor = Scalar(100.),
|
||||
const Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
const Scalar epsfcn = Scalar(0.),
|
||||
const int nprint=0
|
||||
);
|
||||
|
||||
private:
|
||||
@ -41,7 +41,7 @@ int HybridNonLinearSolverNumericalDiff<FunctorType,Scalar>::solve(
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
Matrix< Scalar, Dynamic, 1 > &fvec,
|
||||
Matrix< Scalar, Dynamic, Dynamic > &fjac,
|
||||
Scalar tol
|
||||
const Scalar tol
|
||||
)
|
||||
{
|
||||
const int n = x.size();
|
||||
@ -79,14 +79,14 @@ int HybridNonLinearSolverNumericalDiff<FunctorType,Scalar>::solve(
|
||||
Matrix< Scalar, Dynamic, 1 > &R,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode,
|
||||
const int mode,
|
||||
int nb_of_subdiagonals,
|
||||
int nb_of_superdiagonals,
|
||||
int maxfev,
|
||||
Scalar factor,
|
||||
Scalar xtol,
|
||||
Scalar epsfcn,
|
||||
int nprint
|
||||
const int maxfev,
|
||||
const Scalar factor,
|
||||
const Scalar xtol,
|
||||
const Scalar epsfcn,
|
||||
const int nprint
|
||||
)
|
||||
{
|
||||
const int n = x.size();
|
||||
|
@ -10,7 +10,7 @@ public:
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
Matrix< Scalar, Dynamic, 1 > &fvec,
|
||||
Matrix< Scalar, Dynamic, Dynamic > &fjac,
|
||||
Scalar tol = ei_sqrt(epsilon<Scalar>())
|
||||
const Scalar tol = ei_sqrt(epsilon<Scalar>())
|
||||
);
|
||||
int solve(
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
@ -20,11 +20,11 @@ public:
|
||||
Matrix< Scalar, Dynamic, 1 > &R,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode=1,
|
||||
int maxfev = 1000,
|
||||
Scalar factor = Scalar(100.),
|
||||
Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
int nprint=0
|
||||
const int mode=1,
|
||||
const int maxfev = 1000,
|
||||
const Scalar factor = Scalar(100.),
|
||||
const Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
const int nprint=0
|
||||
);
|
||||
|
||||
private:
|
||||
@ -38,7 +38,7 @@ int HybridNonLinearSolver<FunctorType,Scalar>::solve(
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
Matrix< Scalar, Dynamic, 1 > &fvec,
|
||||
Matrix< Scalar, Dynamic, Dynamic > &fjac,
|
||||
Scalar tol
|
||||
const Scalar tol
|
||||
)
|
||||
{
|
||||
const int n = x.size();
|
||||
@ -77,11 +77,11 @@ int HybridNonLinearSolver<FunctorType,Scalar>::solve(
|
||||
Matrix< Scalar, Dynamic, 1 > &R,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode,
|
||||
int maxfev,
|
||||
Scalar factor,
|
||||
Scalar xtol,
|
||||
int nprint
|
||||
const int mode,
|
||||
const int maxfev,
|
||||
const Scalar factor,
|
||||
const Scalar xtol,
|
||||
const int nprint
|
||||
)
|
||||
{
|
||||
const int n = x.size();
|
||||
|
@ -21,13 +21,13 @@ public:
|
||||
VectorXi &ipvt,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode=1,
|
||||
Scalar factor = 100.,
|
||||
int maxfev = 400,
|
||||
Scalar ftol = ei_sqrt(epsilon<Scalar>()),
|
||||
Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
Scalar gtol = Scalar(0.),
|
||||
int nprint=0
|
||||
const int mode=1,
|
||||
const Scalar factor = 100.,
|
||||
const int maxfev = 400,
|
||||
const Scalar ftol = ei_sqrt(epsilon<Scalar>()),
|
||||
const Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
const Scalar gtol = Scalar(0.),
|
||||
const int nprint=0
|
||||
);
|
||||
|
||||
private:
|
||||
@ -46,7 +46,7 @@ int LevenbergMarquardt<FunctorType,Scalar>::minimize(
|
||||
int info, nfev=0, njev=0;
|
||||
Matrix< Scalar, Dynamic, Dynamic > fjac(m, n);
|
||||
Matrix< Scalar, Dynamic, 1> diag, qtf;
|
||||
VectorXi ipvt(n);
|
||||
VectorXi ipvt;
|
||||
|
||||
/* check the input parameters for errors. */
|
||||
if (n <= 0 || m < n || tol < 0.) {
|
||||
@ -55,14 +55,14 @@ int LevenbergMarquardt<FunctorType,Scalar>::minimize(
|
||||
}
|
||||
|
||||
info = minimize(
|
||||
x, fvec,
|
||||
nfev, njev,
|
||||
fjac, ipvt, qtf, diag,
|
||||
1,
|
||||
100.,
|
||||
(n+1)*100,
|
||||
tol, tol, Scalar(0.)
|
||||
);
|
||||
x, fvec,
|
||||
nfev, njev,
|
||||
fjac, ipvt, qtf, diag,
|
||||
1,
|
||||
100.,
|
||||
(n+1)*100,
|
||||
tol, tol, Scalar(0.)
|
||||
);
|
||||
return (info==8)?4:info;
|
||||
}
|
||||
|
||||
@ -77,13 +77,13 @@ int LevenbergMarquardt<FunctorType,Scalar>::minimize(
|
||||
VectorXi &ipvt,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode,
|
||||
Scalar factor,
|
||||
int maxfev,
|
||||
Scalar ftol,
|
||||
Scalar xtol,
|
||||
Scalar gtol,
|
||||
int nprint
|
||||
const int mode,
|
||||
const Scalar factor,
|
||||
const int maxfev,
|
||||
const Scalar ftol,
|
||||
const Scalar xtol,
|
||||
const Scalar gtol,
|
||||
const int nprint
|
||||
)
|
||||
{
|
||||
const int m = fvec.size(), n = x.size();
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
|
||||
template<typename FunctorType, typename Scalar>
|
||||
class LevenbergMarquardtNumericalDiff
|
||||
{
|
||||
@ -21,14 +20,14 @@ public:
|
||||
VectorXi &ipvt,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode=1,
|
||||
Scalar factor = 100.,
|
||||
int maxfev = 400,
|
||||
Scalar ftol = ei_sqrt(epsilon<Scalar>()),
|
||||
Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
Scalar gtol = Scalar(0.),
|
||||
Scalar epsfcn = Scalar(0.),
|
||||
int nprint=0
|
||||
const int mode=1,
|
||||
const Scalar factor = 100.,
|
||||
const int maxfev = 400,
|
||||
const Scalar ftol = ei_sqrt(epsilon<Scalar>()),
|
||||
const Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
const Scalar gtol = Scalar(0.),
|
||||
const Scalar epsfcn = Scalar(0.),
|
||||
const int nprint=0
|
||||
);
|
||||
|
||||
private:
|
||||
@ -40,7 +39,7 @@ template<typename FunctorType, typename Scalar>
|
||||
int LevenbergMarquardtNumericalDiff<FunctorType,Scalar>::minimize(
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
Matrix< Scalar, Dynamic, 1 > &fvec,
|
||||
Scalar tol
|
||||
const Scalar tol
|
||||
)
|
||||
{
|
||||
const int n = x.size(), m=fvec.size();
|
||||
@ -76,14 +75,14 @@ int LevenbergMarquardtNumericalDiff<FunctorType,Scalar>::minimize(
|
||||
VectorXi &ipvt,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode,
|
||||
Scalar factor,
|
||||
int maxfev,
|
||||
Scalar ftol,
|
||||
Scalar xtol,
|
||||
Scalar gtol,
|
||||
Scalar epsfcn,
|
||||
int nprint
|
||||
const int mode,
|
||||
const Scalar factor,
|
||||
const int maxfev,
|
||||
const Scalar ftol,
|
||||
const Scalar xtol,
|
||||
const Scalar gtol,
|
||||
const Scalar epsfcn,
|
||||
const int nprint
|
||||
)
|
||||
{
|
||||
const int m = fvec.size(), n = x.size();
|
||||
|
@ -21,13 +21,13 @@ public:
|
||||
VectorXi &ipvt,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode=1,
|
||||
Scalar factor = 100.,
|
||||
int maxfev = 400,
|
||||
Scalar ftol = ei_sqrt(epsilon<Scalar>()),
|
||||
Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
Scalar gtol = Scalar(0.),
|
||||
int nprint=0
|
||||
const int mode=1,
|
||||
const Scalar factor = 100.,
|
||||
const int maxfev = 400,
|
||||
const Scalar ftol = ei_sqrt(epsilon<Scalar>()),
|
||||
const Scalar xtol = ei_sqrt(epsilon<Scalar>()),
|
||||
const Scalar gtol = Scalar(0.),
|
||||
const int nprint=0
|
||||
);
|
||||
|
||||
private:
|
||||
@ -39,14 +39,14 @@ template<typename FunctorType, typename Scalar>
|
||||
int LevenbergMarquardtOptimumStorage<FunctorType,Scalar>::minimize(
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
Matrix< Scalar, Dynamic, 1 > &fvec,
|
||||
Scalar tol
|
||||
const Scalar tol
|
||||
)
|
||||
{
|
||||
const int n = x.size(), m=fvec.size();
|
||||
int info, nfev=0, njev=0;
|
||||
Matrix< Scalar, Dynamic, Dynamic > fjac(m, n);
|
||||
Matrix< Scalar, Dynamic, 1> diag, qtf;
|
||||
VectorXi ipvt(n);
|
||||
VectorXi ipvt;
|
||||
|
||||
/* check the input parameters for errors. */
|
||||
if (n <= 0 || m < n || tol < 0.) {
|
||||
@ -76,13 +76,13 @@ int LevenbergMarquardtOptimumStorage<FunctorType,Scalar>::minimize(
|
||||
VectorXi &ipvt,
|
||||
Matrix< Scalar, Dynamic, 1 > &qtf,
|
||||
Matrix< Scalar, Dynamic, 1 > &diag,
|
||||
int mode,
|
||||
Scalar factor,
|
||||
int maxfev,
|
||||
Scalar ftol,
|
||||
Scalar xtol,
|
||||
Scalar gtol,
|
||||
int nprint
|
||||
const int mode,
|
||||
const Scalar factor,
|
||||
const int maxfev,
|
||||
const Scalar ftol,
|
||||
const Scalar xtol,
|
||||
const Scalar gtol,
|
||||
const int nprint
|
||||
)
|
||||
{
|
||||
const int m = fvec.size(), n = x.size();
|
||||
@ -115,6 +115,7 @@ int LevenbergMarquardtOptimumStorage<FunctorType,Scalar>::minimize(
|
||||
|
||||
if (n <= 0 || m < n || ftol < 0. || xtol < 0. || gtol < 0. || maxfev <= 0 || factor <= 0.)
|
||||
goto algo_end;
|
||||
|
||||
if (mode == 2)
|
||||
for (j = 0; j < n; ++j)
|
||||
if (diag[j] <= 0.) goto algo_end;
|
||||
|
Loading…
x
Reference in New Issue
Block a user