27 virtual double call(
double) = 0;
41 virtual double deriv(
double) = 0;
63 virtual std::vector<double>
call(
const std::vector<double>&) = 0;
64 virtual std::vector<std::vector<double>>
Jacobian(
const std::vector<double>&);
74double Brent(
FuncWrapper1D* f,
double a,
double b,
double macheps,
double t,
int maxiter);
83inline double Brent(
FuncWrapper1D& f,
double a,
double b,
double macheps,
double t,
int maxiter) {
84 return Brent(&f, a, b, macheps, t, maxiter);
87 return Secant(&f, x0, dx, ftol, maxiter);
97 return Newton(&f, x0, ftol, maxiter);
100 return Halley(&f, x0, ftol, maxiter, xtol_rel);
107std::vector<double>
NDNewtonRaphson_Jacobian(FuncWrapperND* f,
const std::vector<double>& x0,
double tol,
int maxiter,
double w = 1.0);