25 using typename polysolve::nonlinear::Problem::Scalar;
26 using typename polysolve::nonlinear::Problem::THessian;
27 using typename polysolve::nonlinear::Problem::TVector;
31 double value(
const TVector& x)
override;
32 void gradient(
const TVector& x, TVector& gradv)
override;
33 void hessian(
const TVector& x, THessian& hessian)
override
35 log_and_throw_error(
"Sparse functions do not exist, use dense solver");
37 void hessian(
const TVector& x, MatrixXd& hessian)
override;
39 void solution_changed(
const TVector& new_x)
override {}
42 std::shared_ptr<SampleEnvelope> m_envelope;
52 using typename polysolve::nonlinear::Problem::Scalar;
53 using typename polysolve::nonlinear::Problem::THessian;
54 using typename polysolve::nonlinear::Problem::TVector;
58 double value(
const TVector& x)
override;
59 void gradient(
const TVector& x, TVector& gradv)
override;
60 void hessian(
const TVector& x, THessian& hessian)
override
62 log_and_throw_error(
"Sparse functions do not exist, use dense solver");
64 void hessian(
const TVector& x, MatrixXd& hessian)
override;
66 void solution_changed(
const TVector& new_x)
override {}
69 std::shared_ptr<SampleEnvelope> m_envelope;