| 
| template<typename LS2  = LS, typename UF2  = UF>  | 
|   | NewtonRaphsonWithSubsidiaryFunction (const NLO &nonLinearOperator, LS2 &&linearSolver={}, UF2 &&updateFunction={}) | 
|   | Constructor for NewtonRaphsonWithSubsidiaryFunction.  More...
  | 
|   | 
| void  | setup (const Settings &settings) | 
|   | Setup the Newton-Raphson solver with subsidiary function.  More...
  | 
|   | 
template<typename SolutionType  = NoPredictor, typename SubsidiaryType >  
requires std::is_same_v<SolutionType, NoPredictor> || std::is_convertible_v<SolutionType, std::remove_cvref_t<typename NLO::ValueType>> | 
| NonLinearSolverInformation  | solve (SubsidiaryType &&subsidiaryFunction, SubsidiaryArgs &subsidiaryArgs, const SolutionType &dxPredictor=NoPredictor{}) | 
|   | Solve the nonlinear system using the Newton-Raphson method with subsidiary function.  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, typename LS, typename UF>
class Ikarus::NewtonRaphsonWithSubsidiaryFunction< NLO, LS, UF >
This class provides a Newton-Raphson solver for solving nonlinear systems with a subsidiary function. It uses a linear solver to handle the linear system arising in each iteration.
- Template Parameters
 - 
  
    | NLO | Type of the nonlinear operator.  | 
    | LS | Type of the linear solver used internally (default is SolverDefault).  | 
    | UF | Type of the update function (default is UpdateDefault).  | 
  
   
 
template<typename NLO , typename LS , typename UF > 
template<typename SolutionType  = NoPredictor, typename SubsidiaryType > 
requires std::is_same_v<SolutionType, NoPredictor> || std::is_convertible_v<SolutionType, std::remove_cvref_t<typename NLO::ValueType>>
 
- Template Parameters
 - 
  
    | SolutionType | Type of the solution predictor (default is NoPredictor).  | 
    | SubsidiaryType | Type of the subsidiary function.  | 
  
   
- Parameters
 - 
  
    | subsidiaryFunction | Subsidiary function to be solved.  | 
    | subsidiaryArgs | Additional arguments for the subsidiary function.  | 
    | dxPredictor | Predictor for the solution increment (default is NoPredictor).  | 
  
   
- Returns
 - Information about the solution process. 
 
Initializations
Determine Fext0 It is assumed that Fext = Fext0 * lambda such that dRdlambda = Fext0 Generalization for Fext0 = Fext0(lambda) is not implemented
Iterative solving scheme
Two-step solving procedure