![]()  | 
  
    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.  More... | |
| virtual int | nSize () const =0 | 
| virtual int | nParms () const =0 | 
| void | setMaxIters (int m) | 
| Sets the maximum number of iterations.  More... | |
| int | maxIters () const | 
| Maximum number iterations for valid solution.  More... | |
| 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.  More... | |
| bool | success () const | 
| Determine success from last fit processing.  More... | |
| bool | success (int status) const | 
| Check status for success of the given condition  More...  | |
| std::string | statusstr () const | 
| Return error message pertaining to last fit procesing.  More... | |
| std::string | statusstr (int status) const | 
| Return error message given status condition.  More... | |
| virtual int | checkIteration (const int Iter, const NLVector &fitcoefs, const NLVector &uncerts, double cplxconj, int Istatus) | 
| Default interation test simply returns input status.  More... | |
| NLVector | coefs () const | 
| Return coefficients from last fit processing.  More... | |
| NLVector | uncert () const | 
| Return uncertainties from last fit processing.  More... | |
| int | nIterations () const | 
| Return number of iterations from last fit processing.  More... | |
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().