26 virtual double call(
double) = 0;
40 virtual double deriv(
double) = 0;
62 virtual std::vector<double>
call(
const std::vector<double>&) = 0;
63 virtual std::vector<std::vector<double>>
Jacobian(
const std::vector<double>&);
73 double Brent(
FuncWrapper1D* f,
double a,
double b,
double macheps,
double t,
int maxiter);
82 inline double Brent(
FuncWrapper1D& f,
double a,
double b,
double macheps,
double t,
int maxiter) {
83 return Brent(&f, a, b, macheps, t, maxiter);
86 return Secant(&f, x0, dx, ftol, maxiter);
96 return Newton(&f, x0, ftol, maxiter);
99 return Halley(&f, x0, ftol, maxiter, xtol_rel);
106 std::vector<double>
NDNewtonRaphson_Jacobian(FuncWrapperND* f,
const std::vector<double>& x0,
double tol,
int maxiter,
double w = 1.0);