11 using typename polysolve::nonlinear::Problem::Scalar;
12 using typename polysolve::nonlinear::Problem::THessian;
13 using typename polysolve::nonlinear::Problem::TVector;
24 TVector initial_position()
const;
26 double value(
const TVector& x)
override;
27 void gradient(
const TVector& x, TVector& gradv)
override;
28 void hessian(
const TVector& x, THessian& hessian)
override
30 log_and_throw_error(
"Sparse functions do not exist, use dense solver");
32 void hessian(
const TVector& x, MatrixXd& hessian)
override;
34 void solution_changed(
const TVector& new_x)
override;
36 bool is_step_valid(
const TVector& x0,
const TVector& x1)
override;
39 std::vector<std::array<double, 6>> m_cells;