From a736378331bde6cc5d9c9b9787c26f645eb42fae Mon Sep 17 00:00:00 2001 From: Thomas Capricelli Date: Tue, 25 Aug 2009 14:03:30 +0200 Subject: [PATCH] cleaning --- unsupported/Eigen/src/NonLinear/hybrd.h | 7 ++++--- unsupported/Eigen/src/NonLinear/hybrj.h | 8 ++------ unsupported/test/NonLinear.cpp | 3 ++- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/unsupported/Eigen/src/NonLinear/hybrd.h b/unsupported/Eigen/src/NonLinear/hybrd.h index 69243f0e1..210313e45 100644 --- a/unsupported/Eigen/src/NonLinear/hybrd.h +++ b/unsupported/Eigen/src/NonLinear/hybrd.h @@ -5,12 +5,13 @@ class HybridNonLinearSolverNumericalDiff public: HybridNonLinearSolverNumericalDiff(const FunctorType &_functor) : functor(_functor) {} + int solve( Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &fvec, + Matrix< Scalar, Dynamic, Dynamic > &fjac, Scalar tol = ei_sqrt(epsilon()) ); - int solve( Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &fvec, @@ -39,17 +40,17 @@ template int HybridNonLinearSolverNumericalDiff::solve( Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &fvec, + Matrix< Scalar, Dynamic, Dynamic > &fjac, Scalar tol ) { const int n = x.size(); int info, nfev=0; - Matrix< Scalar, Dynamic, Dynamic > fjac; Matrix< Scalar, Dynamic, 1> R, qtf, diag; /* check the input parameters for errors. */ if (n <= 0 || tol < 0.) { - printf("solve bad args : n,tol,..."); + printf("HybridNonLinearSolver::solve() bad args : n,tol,..."); return 0; } diff --git a/unsupported/Eigen/src/NonLinear/hybrj.h b/unsupported/Eigen/src/NonLinear/hybrj.h index 6f6511158..f120572c4 100644 --- a/unsupported/Eigen/src/NonLinear/hybrj.h +++ b/unsupported/Eigen/src/NonLinear/hybrj.h @@ -1,5 +1,4 @@ - template class HybridNonLinearSolver { @@ -7,19 +6,16 @@ public: HybridNonLinearSolver(const FunctorType &_functor) : functor(_functor) {} - int solve( Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &fvec, Matrix< Scalar, Dynamic, Dynamic > &fjac, Scalar tol = ei_sqrt(epsilon()) ); - int solve( Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &fvec, - int &nfev, - int &njev, + int &nfev, int &njev, Matrix< Scalar, Dynamic, Dynamic > &fjac, Matrix< Scalar, Dynamic, 1 > &R, Matrix< Scalar, Dynamic, 1 > &qtf, @@ -51,7 +47,7 @@ int HybridNonLinearSolver::solve( /* check the input parameters for errors. */ if (n <= 0 || tol < 0.) { - printf("ei_hybrd1 bad args : n,tol,..."); + printf("HybridNonLinearSolver::solve() bad args : n,tol,..."); return 0; } diff --git a/unsupported/test/NonLinear.cpp b/unsupported/test/NonLinear.cpp index 3a1c81f19..342d759e6 100644 --- a/unsupported/test/NonLinear.cpp +++ b/unsupported/test/NonLinear.cpp @@ -351,6 +351,7 @@ void testHybrd1() { int n=9, info; VectorXd x(n), fvec(n); + MatrixXd fjac; /* the following starting values provide a rough solution. */ x.setConstant(n, -1.); @@ -358,7 +359,7 @@ void testHybrd1() // do the computation hybrd_functor functor; HybridNonLinearSolverNumericalDiff solver(functor); - info = solver.solve(x, fvec); + info = solver.solve(x, fvec, fjac); // check return value VERIFY( 1 == info);