From 84f2c451e58736976454b68b745cf8c9e85ce979 Mon Sep 17 00:00:00 2001 From: Thomas Capricelli Date: Tue, 25 Aug 2009 19:57:42 +0200 Subject: [PATCH] cleaning --- .../src/NonLinear/HybridNonLinearSolver.h | 31 +++++-------- .../Eigen/src/NonLinear/LevenbergMarquardt.h | 44 ++++++++----------- 2 files changed, 31 insertions(+), 44 deletions(-) diff --git a/unsupported/Eigen/src/NonLinear/HybridNonLinearSolver.h b/unsupported/Eigen/src/NonLinear/HybridNonLinearSolver.h index 58a4da2dc..c854f947a 100644 --- a/unsupported/Eigen/src/NonLinear/HybridNonLinearSolver.h +++ b/unsupported/Eigen/src/NonLinear/HybridNonLinearSolver.h @@ -117,7 +117,6 @@ HybridNonLinearSolver::solve( int sing; int iter; Scalar temp; - int iflag; Scalar delta; int jeval; int ncsuc; @@ -129,7 +128,6 @@ HybridNonLinearSolver::solve( Scalar actred, prered; /* Function Body */ - iflag = 0; nfev = 0; njev = 0; @@ -145,9 +143,9 @@ HybridNonLinearSolver::solve( /* evaluate the function at the starting point */ /* and calculate its norm. */ - iflag = functor.f(x, fvec); nfev = 1; - if (iflag < 0) return UserAksed; + if ( functor.f(x, fvec) < 0) + return UserAksed; fnorm = fvec.stableNorm(); /* initialize iteration counter and monitors. */ @@ -165,10 +163,9 @@ HybridNonLinearSolver::solve( /* calculate the jacobian matrix. */ - iflag = functor.df(x, fjac); - ++njev; - if (iflag < 0) + if ( functor.df(x, fjac) < 0) return UserAksed; + ++njev; /* compute the qr factorization of the jacobian. */ @@ -255,9 +252,9 @@ HybridNonLinearSolver::solve( /* evaluate the function at x + p and calculate its norm. */ - iflag = functor.f(wa2, wa4); + if ( functor.f(wa2, wa4) < 0) + return UserAksed; ++nfev; - if (iflag < 0) return UserAksed; fnorm1 = wa4.stableNorm(); /* compute the scaled actual reduction. */ @@ -440,7 +437,7 @@ HybridNonLinearSolver::solveNumericalDiff( int sing; int iter; Scalar temp; - int msum, iflag; + int msum; Scalar delta; int jeval; int ncsuc; @@ -453,7 +450,6 @@ HybridNonLinearSolver::solveNumericalDiff( /* Function Body */ - iflag = 0; nfev = 0; /* check the input parameters for errors. */ @@ -468,9 +464,8 @@ HybridNonLinearSolver::solveNumericalDiff( /* evaluate the function at the starting point */ /* and calculate its norm. */ - iflag = functor.f(x, fvec); nfev = 1; - if (iflag < 0) + if ( functor.f(x, fvec) < 0) return UserAksed; fnorm = fvec.stableNorm(); @@ -495,11 +490,9 @@ HybridNonLinearSolver::solveNumericalDiff( /* calculate the jacobian matrix. */ - iflag = ei_fdjac1(functor, x, fvec, fjac, - nb_of_subdiagonals, nb_of_superdiagonals, epsfcn); - nfev += msum; - if (iflag < 0) + if (ei_fdjac1(functor, x, fvec, fjac, nb_of_subdiagonals, nb_of_superdiagonals, epsfcn) <0) return UserAksed; + nfev += msum; /* compute the qr factorization of the jacobian. */ @@ -586,9 +579,9 @@ HybridNonLinearSolver::solveNumericalDiff( /* evaluate the function at x + p and calculate its norm. */ - iflag = functor.f(wa2, wa4); + if ( functor.f(wa2, wa4) < 0) + return UserAksed; ++nfev; - if (iflag < 0) return UserAksed; fnorm1 = wa4.stableNorm(); /* compute the scaled actual reduction. */ diff --git a/unsupported/Eigen/src/NonLinear/LevenbergMarquardt.h b/unsupported/Eigen/src/NonLinear/LevenbergMarquardt.h index 5bd0223a0..064256e2f 100644 --- a/unsupported/Eigen/src/NonLinear/LevenbergMarquardt.h +++ b/unsupported/Eigen/src/NonLinear/LevenbergMarquardt.h @@ -145,14 +145,12 @@ LevenbergMarquardt::minimize( Scalar par, sum; int iter; Scalar temp, temp1, temp2; - int iflag; Scalar delta; Scalar ratio; Scalar fnorm, gnorm; Scalar pnorm, xnorm, fnorm1, actred, dirder, prered; /* Function Body */ - iflag = 0; nfev = 0; njev = 0; @@ -169,9 +167,9 @@ LevenbergMarquardt::minimize( /* evaluate the function at the starting point */ /* and calculate its norm. */ - iflag = functor.f(x, fvec); nfev = 1; - if (iflag < 0) return UserAsked; + if ( functor.f(x, fvec) < 0) + return UserAsked; fnorm = fvec.stableNorm(); /* initialize levenberg-marquardt parameter and iteration counter. */ @@ -185,9 +183,9 @@ LevenbergMarquardt::minimize( /* calculate the jacobian matrix. */ - iflag = functor.df(x, fjac); + if (functor.df(x, fjac) < 0) + return UserAsked; ++njev; - if (iflag < 0) return UserAsked; /* compute the qr factorization of the jacobian. */ @@ -278,9 +276,9 @@ LevenbergMarquardt::minimize( /* evaluate the function at x + p and calculate its norm. */ - iflag = functor.f(wa2, wa4); + if ( functor.f(wa2, wa4) < 0) + return UserAsked; ++nfev; - if (iflag < 0) return UserAsked; fnorm1 = wa4.stableNorm(); /* compute the scaled actual reduction. */ @@ -429,14 +427,12 @@ LevenbergMarquardt::minimizeNumericalDiff( Scalar par, sum; int iter; Scalar temp, temp1, temp2; - int iflag; Scalar delta; Scalar ratio; Scalar fnorm, gnorm; Scalar pnorm, xnorm, fnorm1, actred, dirder, prered; /* Function Body */ - iflag = 0; nfev = 0; /* check the input parameters for errors. */ @@ -451,9 +447,9 @@ LevenbergMarquardt::minimizeNumericalDiff( /* evaluate the function at the starting point */ /* and calculate its norm. */ - iflag = functor.f(x, fvec); nfev = 1; - if (iflag < 0) return UserAsked; + if ( functor.f(x, fvec) < 0) + return UserAsked; fnorm = fvec.stableNorm(); /* initialize levenberg-marquardt parameter and iteration counter. */ @@ -467,9 +463,9 @@ LevenbergMarquardt::minimizeNumericalDiff( /* calculate the jacobian matrix. */ - iflag = ei_fdjac2(functor, x, fvec, fjac, epsfcn); + if ( ei_fdjac2(functor, x, fvec, fjac, epsfcn) < 0) + return UserAsked; nfev += n; - if (iflag < 0) return UserAsked; /* compute the qr factorization of the jacobian. */ @@ -560,9 +556,9 @@ LevenbergMarquardt::minimizeNumericalDiff( /* evaluate the function at x + p and calculate its norm. */ - iflag = functor.f(wa2, wa4); + if ( functor.f(wa2, wa4) < 0) + return UserAsked; ++nfev; - if (iflag < 0) return UserAsked; fnorm1 = wa4.stableNorm(); /* compute the scaled actual reduction. */ @@ -712,14 +708,12 @@ LevenbergMarquardt::minimizeOptimumStorage( Scalar par, sum; int sing, iter; Scalar temp, temp1, temp2; - int iflag; Scalar delta; Scalar ratio; Scalar fnorm, gnorm; Scalar pnorm, xnorm, fnorm1, actred, dirder, prered; /* Function Body */ - iflag = 0; nfev = 0; njev = 0; @@ -736,9 +730,9 @@ LevenbergMarquardt::minimizeOptimumStorage( /* evaluate the function at the starting point */ /* and calculate its norm. */ - iflag = functor.f(x, fvec); nfev = 1; - if (iflag < 0) return UserAsked; + if ( functor.f(x, fvec) < 0) + return UserAsked; fnorm = fvec.stableNorm(); /* initialize levenberg-marquardt parameter and iteration counter. */ @@ -757,12 +751,12 @@ LevenbergMarquardt::minimizeOptimumStorage( qtf.fill(0.); fjac.fill(0.); - iflag = 2; + int rownb = 2; for (i = 0; i < m; ++i) { - if (functor.df(x, wa3, iflag) < 0) return UserAsked; + if (functor.df(x, wa3, rownb) < 0) return UserAsked; temp = fvec[i]; ei_rwupdt(n, fjac.data(), fjac.rows(), wa3.data(), qtf.data(), &temp, wa1.data(), wa2.data()); - ++iflag; + ++rownb; } ++njev; @@ -861,9 +855,9 @@ LevenbergMarquardt::minimizeOptimumStorage( /* evaluate the function at x + p and calculate its norm. */ - iflag = functor.f(wa2, wa4); + if ( functor.f(wa2, wa4) < 0) + return UserAsked; ++nfev; - if (iflag < 0) return UserAsked; fnorm1 = wa4.stableNorm(); /* compute the scaled actual reduction. */