22#include <Eigen/Cholesky>
49 typename HessianSolver =
50 Eigen::LLT<typename ObjectiveFunction::hessian_type>>
53 newton_optimizer<ObjectiveFunction, LineSearcher, HessianSolver>,
67 using hessian_type =
typename objective_function_type::hessian_type;
111 iteration_logger.template append<index_type>(
113 iteration_logger.template append<index_type>(
115 iteration_logger.template append<value_type>(
117 iteration_logger.template append<value_type>(
Definition of backtracking_line_searcher class.
Class to write logs of iterations.
Class of tags of logs without memory management.
Class to perform backtracking line search.
typename objective_function_type::value_type value_type
auto gradient() const -> const variable_type &
auto iterations() const noexcept -> index_type
descent_method_base(logging::log_tag_view tag, const objective_function_type &obj_fun=objective_function_type())
Constructor.
typename objective_function_type::variable_type variable_type
auto evaluations() const noexcept -> index_type
typename line_searcher_type::objective_function_type objective_function_type
auto gradient_norm() const -> value_type
auto opt_value() const -> const value_type &
auto line_searcher() -> line_searcher_type &
hessian_solver_type solver_
auto calc_direction() -> variable_type
Calculate search direction.
auto line_searcher() -> line_searcher_type &
Access object to perform line search.
auto hessian() const -> const hessian_type &
Get Hessian for current optimal variable.
newton_optimizer< ObjectiveFunction, LineSearcher, HessianSolver > this_type
This class.
auto gradient() const -> const variable_type &
Get gradient for current optimal variable.
HessianSolver hessian_solver_type
void configure_iteration_logger(logging::iterations::iteration_logger< this_type > &iteration_logger) const
Configure an iteration logger.
auto calc_direction_impl(const hessian_type &hessian) -> variable_type
Calculate search direction.
descent_method_base< this_type, LineSearcher > base_type
typename line_searcher_type::objective_function_type objective_function_type
typename objective_function_type::hessian_type hessian_type
typename objective_function_type::variable_type variable_type
newton_optimizer(const objective_function_type &obj_fun=objective_function_type())
Constructor.
Concept of objects to perform line search in optimization.
Concept of multi-variate second-order differentiable objective functions in optimization.
Definition of descent_method_base class.
Definition of index_type type.
Definition of iteration_logger class.
Definition of line_searcher concept.
Definition of log_tag_view class.
Definition of multi_variate_twice_differentiable_objective_function concept.
Namespace of optimization algorithms.
constexpr auto newton_optimizer_tag
Tag of newton_optimizer.