|
| using | ValueType = typename NonLinearOperatorImpl::template ParameterValue< 0 > |
| |
| using | CorrectionType = typename NonLinearOperatorImpl::DerivativeType |
| | Type of the correction of x += deltaX. More...
|
| |
| using | UpdateFunctionType = UpdateFunctionTypeImpl |
| | Type of the update function. More...
|
| |
| using | NonLinearOperator = NonLinearOperatorImpl |
| | Type of the non-linear operator. More...
|
| |
| using | ScalarType = std::remove_cvref_t< typename NonLinearOperatorImpl::template FunctionReturnType< 0 > > |
| |
| using | MatrixType = std::remove_cvref_t< typename NonLinearOperatorImpl::template FunctionReturnType< 2 > > |
| | Type of the Hessian. More...
|
| |
|
| | TrustRegion (const NonLinearOperatorImpl &p_nonLinearOperator, UpdateFunctionTypeImpl p_updateFunction={}) |
| | Constructs a TrustRegion solver instance. More...
|
| |
| void | setup (const TrustRegionSettings &p_settings) |
| | Sets up the TrustRegion solver with the provided settings and checks feasibility. More...
|
| |
template<typename SolutionType = NoPredictor>
requires std::is_same_v<SolutionType, NoPredictor> || std::is_convertible_v<SolutionType, CorrectionType> |
| NonLinearSolverInformation | solve (const SolutionType &dx_predictor=NoPredictor{}) |
| | Solves the nonlinear optimization problem using the TrustRegion algorithm. More...
|
| |
| auto & | nonLinearOperator () |
| | Access the nonlinear operator. More...
|
| |
| void | subscribe (NonLinearSolverMessages message, std::shared_ptr< IObserver< NonLinearSolverMessages > > observer) |
| | Subscribe an observer to receive notifications for a specific message type. More...
|
| |
| void | subscribeAll (std::shared_ptr< IObserver< NonLinearSolverMessages > > observer) |
| | Subscribe an observer to receive notifications for all message types. More...
|
| |
| void | subscribeAll (std::initializer_list< std::shared_ptr< IObserver< NonLinearSolverMessages > > > observers) |
| | Subscribe multiple observers to receive notifications for all message types. More...
|
| |
| void | unSubscribe (NonLinearSolverMessages message, std::shared_ptr< IObserver< NonLinearSolverMessages > > observer) |
| | Unsubscribe an observer from receiving notifications for a specific message type. More...
|
| |
| void | unSubscribeAll (std::shared_ptr< IObserver< NonLinearSolverMessages > > observer) |
| | Unsubscribe an observer from receiving notifications for all message types. More...
|
| |
| void | notify (NonLinearSolverMessages message) |
| | Notify observers about a specific message type. More...
|
| |
| void | notify (NonLinearSolverMessages message, ScalarType val) |
| | Notify observers about a specific message type with a floating-point value. More...
|
| |
| void | notify (NonLinearSolverMessages message, int val) |
| | Notify observers about a specific message type with an integer value. More...
|
| |
| void | notify (NonLinearSolverMessages message, const std::string &val) |
| | Notify observers about a specific message type with a string value. More...
|
| |
| void | notify (NonLinearSolverMessages message, int val1, double val2) |
| | Notify observers about a specific message type with an integer and a double value. More...
|
| |
| void | notify (NonLinearSolverMessages message, int val1, const std::string &val2) |
| | Notify observers about a specific message type with an integer value and a string value. More...
|
| |
| void | notify (NonLinearSolverMessages message, Eigen::VectorX< ScalarType > vec) |
| | Notify observers about a specific message type with an Eigen::VectorX. More...
|
| |
template<typename NonLinearOperatorImpl,
PreConditioner preConditioner = PreConditioner::IncompleteCholesky, typename UpdateFunctionTypeImpl = utils::UpdateDefault>
class Ikarus::TrustRegion< NonLinearOperatorImpl, preConditioner, UpdateFunctionTypeImpl >
Refer to [2] for details of the algorithm.
This code is heavily inspired by the trust-region implementation of Manopt.
- Template Parameters
-
| NonLinearOperatorImpl | Type of the nonlinear operator to solve. |
| preConditioner | Type of preconditioner to use (default is IncompleteCholesky). |
| UpdateFunctionTypeImpl | Type of the update function |