|
| NewtonRaphson (const NonLinearOperatorImpl &p_nonLinearOperator, LinearSolver &&p_linearSolver={}, UpdateFunctionTypeImpl p_updateFunction={}) |
| Constructor for NewtonRaphson. More...
|
|
void | setup (const NewtonRaphsonSettings &p_settings) |
| Set up the solver with the given settings. More...
|
|
template<typename SolutionType = NoPredictor>
requires std::is_same_v<SolutionType, NoPredictor> || std::is_convertible_v< SolutionType, std::remove_cvref_t<typename NonLinearOperatorImpl::ValueType>> |
Ikarus::NonLinearSolverInformation | solve (const SolutionType &dx_predictor=NoPredictor{}) |
| Solve the nonlinear system. 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, typename
LinearSolver = utils::SolverDefault, typename UpdateFunctionTypeImpl = utils::UpdateDefault>
class Ikarus::NewtonRaphson< NonLinearOperatorImpl, LinearSolver, UpdateFunctionTypeImpl >
- Template Parameters
-
NonLinearOperatorImpl | Type of the nonlinear operator to solve. |
LinearSolver | Type of the linear solver used internally (default is SolverDefault). |
UpdateFunctionTypeImpl | Type of the update function (default is UpdateDefault). |