scsolver::numeric::NumericalDiffer Class Reference

#include <diff.hxx>

Collaboration diagram for scsolver::numeric::NumericalDiffer:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 NumericalDiffer ()
 ~NumericalDiffer () throw ()
void setPrecision (unsigned long n)
void setSecondOrder (bool b)
void setVariable (double var)
void setFuncObject (SingleVarFuncObj *pFuncObj)
double run ()

Private Member Functions

void initialize ()
void setDirty ()
void appendNewH ()
void setT (unsigned long m, unsigned long i, double fVal)
double getT (unsigned long m, unsigned long i)
double T0 (unsigned long i)
double Tm ()
double Tm (unsigned long m, unsigned long i=0)

Private Attributes

unsigned long m_nPrec
bool m_bSecondOrder
SingleVarFuncObjm_pFuncObj
double m_var
::std::vector< double > m_cnX
::std::vector< double > m_cnH
::std::vector
< ::std::vector
< double > > 
m_cnT

Static Private Attributes

static const double OMEGA = 2.0


Detailed Description

Algorithm derived from Chapter 4.2 (p.93) of "A First Course In Numerical Analysis 2nd ed. by Anthony Ralston and Philip Rabinowitz".

Definition at line 46 of file diff.hxx.


Constructor & Destructor Documentation

scsolver::numeric::NumericalDiffer::NumericalDiffer (  ) 

Definition at line 43 of file diff.cxx.

scsolver::numeric::NumericalDiffer::~NumericalDiffer (  )  throw ()

Definition at line 50 of file diff.cxx.


Member Function Documentation

void scsolver::numeric::NumericalDiffer::setPrecision ( unsigned long  n  ) 

Definition at line 54 of file diff.cxx.

References m_nPrec.

Referenced by scsolver::numeric::calcStepLength(), and scsolver::numeric::nlp::QuasiNewtonImpl::evaluateFunc().

void scsolver::numeric::NumericalDiffer::setSecondOrder ( bool  b  ) 

Definition at line 59 of file diff.cxx.

References m_bSecondOrder, and setDirty().

void scsolver::numeric::NumericalDiffer::setVariable ( double  var  ) 

Definition at line 65 of file diff.cxx.

References m_var, and setDirty().

Referenced by scsolver::numeric::calcStepLength(), scsolver::numeric::nlp::QuasiNewtonImpl::evaluateFunc(), and scsolver::numeric::BisectionSearch::solve().

void scsolver::numeric::NumericalDiffer::setFuncObject ( SingleVarFuncObj pFuncObj  ) 

Definition at line 71 of file diff.cxx.

References m_pFuncObj, and setDirty().

Referenced by scsolver::numeric::calcStepLength(), scsolver::numeric::nlp::QuasiNewtonImpl::evaluateFunc(), and scsolver::numeric::BisectionSearch::solve().

double scsolver::numeric::NumericalDiffer::run (  ) 

Definition at line 187 of file diff.cxx.

References appendNewH(), initialize(), m_nPrec, m_pFuncObj, and Tm().

Referenced by scsolver::numeric::calcStepLength(), scsolver::numeric::nlp::QuasiNewtonImpl::evaluateFunc(), and scsolver::numeric::BisectionSearch::solve().

void scsolver::numeric::NumericalDiffer::initialize (  )  [private]

Definition at line 77 of file diff.cxx.

References m_cnH.

Referenced by run().

void scsolver::numeric::NumericalDiffer::setDirty (  )  [private]

Definition at line 85 of file diff.cxx.

References m_cnT.

Referenced by setFuncObject(), setSecondOrder(), and setVariable().

void scsolver::numeric::NumericalDiffer::appendNewH (  )  [private]

Definition at line 90 of file diff.cxx.

References m_cnH.

Referenced by run().

void scsolver::numeric::NumericalDiffer::setT ( unsigned long  m,
unsigned long  i,
double  fVal 
) [private]

Definition at line 95 of file diff.cxx.

References m_cnT.

Referenced by T0(), and Tm().

double scsolver::numeric::NumericalDiffer::getT ( unsigned long  m,
unsigned long  i 
) [private]

Definition at line 114 of file diff.cxx.

References m_cnT.

Referenced by Tm().

double scsolver::numeric::NumericalDiffer::T0 ( unsigned long  i  )  [private]

Definition at line 126 of file diff.cxx.

References scsolver::numeric::SingleVarFuncObj::eval(), m_bSecondOrder, m_cnH, m_pFuncObj, m_var, setT(), and scsolver::numeric::SingleVarFuncObj::setVar().

Referenced by Tm().

double scsolver::numeric::NumericalDiffer::Tm (  )  [private]

Definition at line 157 of file diff.cxx.

References m_cnH.

Referenced by run(), and Tm().

double scsolver::numeric::NumericalDiffer::Tm ( unsigned long  m,
unsigned long  i = 0 
) [private]

Definition at line 163 of file diff.cxx.

References getT(), m_cnH, OMEGA, setT(), T0(), and Tm().


Member Data Documentation

const double scsolver::numeric::NumericalDiffer::OMEGA = 2.0 [static, private]

Definition at line 48 of file diff.hxx.

Referenced by Tm().

unsigned long scsolver::numeric::NumericalDiffer::m_nPrec [private]

Definition at line 72 of file diff.hxx.

Referenced by run(), and setPrecision().

bool scsolver::numeric::NumericalDiffer::m_bSecondOrder [private]

Definition at line 73 of file diff.hxx.

Referenced by setSecondOrder(), and T0().

SingleVarFuncObj* scsolver::numeric::NumericalDiffer::m_pFuncObj [private]

Definition at line 74 of file diff.hxx.

Referenced by run(), setFuncObject(), and T0().

double scsolver::numeric::NumericalDiffer::m_var [private]

Definition at line 75 of file diff.hxx.

Referenced by setVariable(), and T0().

::std::vector<double> scsolver::numeric::NumericalDiffer::m_cnX [private]

Definition at line 77 of file diff.hxx.

::std::vector<double> scsolver::numeric::NumericalDiffer::m_cnH [private]

Definition at line 78 of file diff.hxx.

Referenced by appendNewH(), initialize(), T0(), and Tm().

::std::vector< ::std::vector<double> > scsolver::numeric::NumericalDiffer::m_cnT [private]

Definition at line 79 of file diff.hxx.

Referenced by getT(), setDirty(), and setT().


The documentation for this class was generated from the following files:
Generated on Mon Jul 28 09:13:49 2008 for scsolver by  doxygen 1.5.3