Isis Developer Reference
|
NonLinearLSQ Computes a fit using a Levenberg-Marquardt algorithm. More...
#include <NonLinearLSQ.h>
Public Types | |
typedef TNT::Array1D< double > | NLVector |
typedef TNT::Array2D< double > | NLMatrix |
Public Member Functions | |
NonLinearLSQ () | |
virtual | ~NonLinearLSQ () |
Destructor. | |
virtual int | nSize () const =0 |
virtual int | nParms () const =0 |
void | setMaxIters (int m) |
Sets the maximum number of iterations. | |
int | maxIters () const |
Maximum number iterations for valid solution. | |
virtual NLVector | guess ()=0 |
virtual NLVector | f_x (const NLVector &x)=0 |
virtual NLMatrix | df_x (const NLVector &x)=0 |
virtual double | absErr () const |
virtual double | relErr () const |
int | curvefit () |
int | status () const |
Return status of last fit processing. | |
bool | success () const |
Determine success from last fit processing. | |
bool | success (int status) const |
Check status for success of the given condition | |
std::string | statusstr () const |
Return error message pertaining to last fit procesing. | |
std::string | statusstr (int status) const |
Return error message given status condition. | |
virtual int | checkIteration (const int Iter, const NLVector &fitcoefs, const NLVector &uncerts, double cplxconj, int Istatus) |
Default interation test simply returns input status. | |
NLVector | coefs () const |
Return coefficients from last fit processing. | |
NLVector | uncert () const |
Return uncertainties from last fit processing. | |
int | nIterations () const |
Return number of iterations from last fit processing. | |
Protected Member Functions | |
void | Terminate (const std::string &message="") |
void | Abort (const std::string &reason="") |
bool | doContinue () const |
NonLinearLSQ Computes a fit using a Levenberg-Marquardt algorithm.
This virtual base class uses the GSL toolkit to apply the Levenberg-Marquardt algorithm to fit data to a non-linear equation using least squares.
typedef TNT::Array2D<double> Isis::NonLinearLSQ::NLMatrix |
typedef TNT::Array1D<double> Isis::NonLinearLSQ::NLVector |
|
inline |
|
inlinevirtual |
Destructor.
|
protected |
|
inlinevirtual |
Reimplemented in Isis::ZeroBufferFit.
Referenced by curvefit().
|
inlinevirtual |
Default interation test simply returns input status.
Reimplemented in Isis::ZeroBufferFit.
Referenced by curvefit().
|
inline |
Return coefficients from last fit processing.
Referenced by Isis::ZeroBufferFit::Solve().
int Isis::NonLinearLSQ::curvefit | ( | ) |
References absErr(), checkIteration(), doContinue(), guess(), nParms(), nSize(), and relErr().
Referenced by Isis::ZeroBufferFit::Solve().
Implemented in Isis::ZeroBufferFit.
|
inlineprotected |
Referenced by curvefit().
Implemented in Isis::ZeroBufferFit.
|
pure virtual |
Implemented in Isis::ZeroBufferFit.
Referenced by curvefit().
|
inline |
Maximum number iterations for valid solution.
Referenced by Isis::ZeroBufferFit::ZeroBufferFit().
|
inline |
Return number of iterations from last fit processing.
Referenced by Isis::ZeroBufferFit::Solve().
|
pure virtual |
Implemented in Isis::ZeroBufferFit.
Referenced by curvefit().
|
pure virtual |
Implemented in Isis::ZeroBufferFit.
Referenced by curvefit().
|
inlinevirtual |
Reimplemented in Isis::ZeroBufferFit.
Referenced by curvefit().
|
inline |
Sets the maximum number of iterations.
m | User provides the maximum number iterations |
Referenced by Isis::ZeroBufferFit::ZeroBufferFit().
|
inline |
Return status of last fit processing.
Referenced by statusstr(), and success().
|
inline |
Return error message pertaining to last fit procesing.
Referenced by Isis::ZeroBufferFit::Solve().
|
inline |
Return error message given status condition.
References status().
|
inline |
Determine success from last fit processing.
Referenced by Isis::ZeroBufferFit::Solve().
|
inline |
Check status for success of the given condition
References status().
|
protected |
|
inline |
Return uncertainties from last fit processing.
Referenced by Isis::ZeroBufferFit::Solve().