SolverNleQNumeric Class Reference

#include <SolverNleQ.h>

Inheritance diagram for SolverNleQNumeric:

Public Member Functions

 SolverNleQNumeric (int n, ObjectiveNleInterface &of)
 
 ~SolverNleQNumeric (void)
 
void resize (int n) override
 sets the number of unknowns More...
 
- Public Member Functions inherited from SolverNleQ
 SolverNleQ (int, ObjectiveNleInterface &)
 
void resize (int n) override
 sets the number of unknowns More...
 
double norm (const double *x) override
 return root mean square (RMS) norm More...
 
int solve (void) override
 
std::string message (int code) override
 
void setTolerances (double lambdaMin, double epsilon, double lambda0, double) override
 
- Public Member Functions inherited from SolverNleInterface
 SolverNleInterface (ObjectiveNleInterface &of)
 
int size (void) const
 
virtual void resize (int n)
 sets the number of unknowns More...
 
void print_table (double *xmin, double *xmax, int nsteps)
 print dependence on all unknowns More...
 
void printResults (void)
 print vector of results More...
 
void printMetrics (void)
 print metric counters More...
 
virtual void setTolerances (double, double, double, double)=0
 virtual function, has different meaning for the different solvers derived from SolverNleInterface More...
 
void setMaximumIterations (int m)
 sets the maximum number of iterations More...
 
void setMaximumStepSize (double stpmx)
 
void bmpout (char *file_out_name) const
 
double residual (int i)
 returns current value of the ith component of the residual vector More...
 
virtual double norm (const double *x)=0
 return root mean square (RMS) norm More...
 
virtual double calculateF (void)=0
 calculates F; returns the norm of the residuals More...
 
virtual double calculateFJ (void)=0
 calculates F and J; returns the norm of the residuals More...
 
virtual int solve (void)=0
 
virtual std::string message (int code)=0
 convert return code returned by solve method to human-readable message More...
 
virtual void verifySolution (void)=0
 evaluate equation set at the current set up estimates for the unknowns; useful to test for convergence after sequential solution More...
 
bool nonConverged (void)
 
- Public Member Functions inherited from Diagnostic
 Diagnostic (void)
 
void setVerbosity (int verbosity)
 sets the verbosity level for this instance More...
 
int verbosity (void) const
 
- Public Member Functions inherited from Numeric
 Numeric (ObjectiveNleInterface &of)
 
 ~Numeric (void)
 
double calculateF (void) override
 calculates F; returns the norm of the residuals More...
 
double calculateFJ (void) override
 calculates F and J; returns the norm of the residuals More...
 
void verifySolution (void) override
 evaluate equation set at the current set up estimates for the unknowns; useful to test for convergence after sequential solution More...
 
void resize (int n) override
 sets the number of unknowns More...
 

Additional Inherited Members

- Public Attributes inherited from SolverNleInterface
int NITER
 
double * F_
 current values of residuals More...
 
double * x_
 current values of unknowns More...
 
Jacobian J
 
- Protected Member Functions inherited from SolverNleQ
 ~SolverNleQ (void)
 
- Protected Member Functions inherited from SolverNleInterface
 ~SolverNleInterface (void)
 
void clearCounters (void)
 
- Protected Member Functions inherited from Diagnostic
virtual ~Diagnostic ()=default
 
- Protected Attributes inherited from SolverNleInterface
ObjectiveNleInterfaceofp_
 
int MAXITS
 maximum number of Newton iterations More...
 
int verbosityLocal
 
int nSyst_
 Number of system evaluations. More...
 
int nNewt_
 Number of Newton method applications. More...
 
int nQuas_
 Number of Quasi Newton method applications. More...
 
int nAuto_
 Number of analytical Jacobian evaluations. More...
 
int nNume_
 Number of numerical Jacobian evaluations. More...
 
double STPMX
 scaled maximum step length allowed in line searches More...
 
- Protected Attributes inherited from Diagnostic
int verbosityInstance
 

Detailed Description

Resolution of systems of non-linear equations, based on the NLEQ-ERR algorithm in: Peter Deuflhard, "Newton Methods for Nonlinear Problems Affine Invariance and Adaptive Algorithms" Springer Series in Computational Mathematics 35 2011, page 148

Computes derivatives numerically

parameters: lambda0, epsilon

#include <libpf/core/SolverNleQ.h>

Remarks
Warning
Thread safe:
Extendable:
Platform dependencies:

Constructor & Destructor Documentation

◆ SolverNleQNumeric()

SolverNleQNumeric::SolverNleQNumeric ( int  n,
ObjectiveNleInterface of 
)

◆ ~SolverNleQNumeric()

SolverNleQNumeric::~SolverNleQNumeric ( void  )

Member Function Documentation

◆ resize()

void SolverNleQNumeric::resize ( int  n)
overridevirtual

sets the number of unknowns

Reimplemented from Numeric.


The documentation for this class was generated from the following file: