mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 03:39:01 +08:00
cleaning
This commit is contained in:
parent
d880e6f774
commit
a736378331
@ -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<Scalar>())
|
||||
);
|
||||
|
||||
int solve(
|
||||
Matrix< Scalar, Dynamic, 1 > &x,
|
||||
Matrix< Scalar, Dynamic, 1 > &fvec,
|
||||
@ -39,17 +40,17 @@ template<typename FunctorType, typename Scalar>
|
||||
int HybridNonLinearSolverNumericalDiff<FunctorType,Scalar>::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;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
|
||||
template<typename FunctorType, typename Scalar>
|
||||
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<Scalar>())
|
||||
);
|
||||
|
||||
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<FunctorType,Scalar>::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;
|
||||
}
|
||||
|
||||
|
@ -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 <hybrd_functor,double> solver(functor);
|
||||
info = solver.solve(x, fvec);
|
||||
info = solver.solve(x, fvec, fjac);
|
||||
|
||||
// check return value
|
||||
VERIFY( 1 == info);
|
||||
|
Loading…
x
Reference in New Issue
Block a user