Implementation of the Trust-region method for solving nonlinear equations. More...
#include <iosfwd>#include <dune/common/float_cmp.hh>#include <spdlog/spdlog.h>#include <Eigen/Sparse>#include <ikarus/linearalgebra/truncatedconjugategradient.hh>#include <ikarus/solver/nonlinearsolver/solverinfos.hh>#include <ikarus/utils/defaultfunctions.hh>#include <ikarus/utils/linearalgebrahelper.hh>#include <ikarus/utils/observer/observer.hh>#include <ikarus/utils/observer/observermessages.hh>#include <ikarus/utils/traits.hh>Go to the source code of this file.
Classes | |
| struct | Ikarus::TRSettings |
| struct | Ikarus::TrustRegionConfig< preConditioner, UF > |
| struct | Ikarus::AlgoInfo |
| Additional information about the TrustRegion algorithm. More... | |
| struct | Ikarus::Stats |
| Information about the TrustRegion solver. More... | |
| class | Ikarus::TrustRegion< NLO, preConditioner, UF > |
| Trust Region solver for non-linear optimization problems. More... | |
Namespaces | |
| namespace | Ikarus |
Enumerations | |
| enum class | Ikarus::PreConditioner { Ikarus::IncompleteCholesky , Ikarus::IdentityPreconditioner , Ikarus::DiagonalPreconditioner } |
| Enumeration of available preconditioners for the trust region solver. More... | |
| enum class | Ikarus::StopReason { Ikarus::gradientNormTolReached , Ikarus::correctionNormTolReached , Ikarus::maximumTimeReached , Ikarus::maximumIterationsReached , Ikarus::dontStop } |
| Enumeration of reasons for stopping the TrustRegion solver. More... | |
Functions | |
| template<typename NLO , typename TRConfig > requires traits::isSpecializationNonTypeAndTypes<TrustRegionConfig, std::remove_cvref_t<TRConfig>> | |
| ::value auto | Ikarus::createNonlinearSolver (TRConfig &&config, NLO &&nonLinearOperator) |
| Function to create a trust region non-linear solver. More... | |
| template<typename NLO , PreConditioner preConditioner = PreConditioner::IncompleteCholesky, typename UF = utils::UpdateDefault> | |
| auto | Ikarus::makeTrustRegion (const NLO &nonLinearOperator, UF &&updateFunction={}) |
| Creates an instance of the TrustRegion solver. More... | |
| template<typename NLO , PreConditioner preConditioner = PreConditioner::IncompleteCholesky, typename UF2 = utils::UpdateDefault> | |
| Ikarus::TrustRegion (const NLO &nonLinearOperator, UF2 &&updateFunction={}) -> TrustRegion< NLO, preConditioner, std::remove_cvref_t< UF2 > > | |