| 
| template<typename UF2  = UF>  | 
|   | TrustRegion (const NLO &nonLinearOperator, UF2 &&updateFunction={}) | 
|   | Constructs a TrustRegion solver instance.  More...
  | 
|   | 
| void  | setup (const Settings &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 &dxPredictor=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...
  | 
|   | 
| void  | notify (MT message) | 
|   | 
| void  | notify (MT message, ScalarType val) | 
|   | 
| void  | notify (MT message, int val) | 
|   | 
| void  | notify (MT message, const std::string &val) | 
|   | 
| void  | notify (MT message, int val1, double val2) | 
|   | 
| void  | notify (MT message, int val1, const std::string &val2) | 
|   | 
| void  | notify (MT message, Eigen::VectorX< ScalarType > vec) | 
|   | 
template<typename NLO, 
PreConditioner preConditioner, typename UF>
class Ikarus::TrustRegion< NLO, preConditioner, UF >
Refer to [2] for details of the algorithm.
This code is heavily inspired by the trust-region implementation of Manopt.
- Template Parameters
 - 
  
    | NLO | Type of the nonlinear operator to solve.  | 
    | preConditioner | Type of preconditioner to use (default is IncompleteCholesky).  | 
    | UF | Type of the update function  |