Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

CConjugateGradientMinimizer Class Reference

#include <ConjugateGradientMinimizer.h>

Inheritance diagram for CConjugateGradientMinimizer:

Inheritance graph
[legend]
Collaboration diagram for CConjugateGradientMinimizer:

Collaboration graph
[legend]
List of all members.

Public Methods

 CConjugateGradientMinimizer (bool searchFlag, CParameterFilter *pFilter, int nIterations, double funcAccuracy, int nRestarts=3, double gradTol=1.0e-06, double funcTol=1.0e-08)
virtual ~CConjugateGradientMinimizer ()
double Minimize (double *parameters, Minimizable *minimizable)
void ComputeGradient (double *parameters)
void BracketMinimum (double *xA, double *fA, double *xB, double *fB, double *xC, double *fC)
void BrentLine (double xA, double xB, double xC, double *xM, double *fM)
bool CheckGradTol (double norm)
bool CheckFuncTol (double diff)
double LineEvaluate (double alpha)
double SgnProduct (double a, double b)
const double * GetForceVector () const
int GetNParameters ()

Private Attributes

bool m_bSearchFlag
int m_iNIterations
int m_iNRestarts
double m_dFuncAccuracy
double m_dGradTol
double m_dFuncTol
double * m_pdCurrentParameters
double * m_pdSearchDirection
double * m_pdGradient
double * m_pdForceVector
double m_dMinTol
CMatrixOperationsm_pMO
CParameterFilterm_pFilter
Minimizablem_pMinimizable

Static Private Attributes

const double m_dGOLD = 1.618034

Constructor & Destructor Documentation

CConjugateGradientMinimizer::CConjugateGradientMinimizer bool    searchFlag,
CParameterFilter   pFilter,
int    nIterations,
double    funcAccuracy,
int    nRestarts = 3,
double    gradTol = 1.0e-06,
double    funcTol = 1.0e-08
 

Definition at line 14 of file ConjugateGradientMinimizer.cpp.

References m_bSearchFlag, m_dFuncAccuracy, m_dFuncTol, m_dGradTol, m_dMinTol, m_iNIterations, m_iNRestarts, m_pFilter, and m_pMO.

CConjugateGradientMinimizer::~CConjugateGradientMinimizer   [virtual]
 

Definition at line 27 of file ConjugateGradientMinimizer.cpp.

References m_pMO.


Member Function Documentation

void CConjugateGradientMinimizer::BracketMinimum double *    xA,
double *    fA,
double *    xB,
double *    fB,
double *    xC,
double *    fC
 

Definition at line 261 of file ConjugateGradientMinimizer.cpp.

References LineEvaluate, and m_dGOLD.

Referenced by Minimize.

void CConjugateGradientMinimizer::BrentLine double    xA,
double    xB,
double    xC,
double *    xM,
double *    fM
 

Definition at line 345 of file ConjugateGradientMinimizer.cpp.

References LineEvaluate, m_dGOLD, m_dMinTol, and SgnProduct.

Referenced by Minimize.

bool CConjugateGradientMinimizer::CheckFuncTol double    diff
 

Definition at line 509 of file ConjugateGradientMinimizer.cpp.

References m_dFuncTol.

Referenced by Minimize.

bool CConjugateGradientMinimizer::CheckGradTol double    norm
 

Definition at line 496 of file ConjugateGradientMinimizer.cpp.

References m_dGradTol.

Referenced by Minimize.

void CConjugateGradientMinimizer::ComputeGradient double *    parameters
 

Definition at line 205 of file ConjugateGradientMinimizer.cpp.

References CParameterFilter::BackwardTransformation, CParameterFilter::ForwardTransformation, m_dFuncAccuracy, m_pdForceVector, m_pdGradient, m_pFilter, m_pMinimizable, Subject::Notify, Minimizer::nParameters, Minimizable::ObjectiveFunction, CParameterFilter::Operator, and CParameterFilter::OperatorInverse.

Referenced by Minimize.

const double* CConjugateGradientMinimizer::GetForceVector   const [inline]
 

Definition at line 43 of file ConjugateGradientMinimizer.h.

References m_pdForceVector.

Referenced by CConjugateGradientObserver::Update.

int CConjugateGradientMinimizer::GetNParameters   [inline]
 

Definition at line 44 of file ConjugateGradientMinimizer.h.

References Minimizer::nParameters.

Referenced by CConjugateGradientObserver::Update.

double CConjugateGradientMinimizer::LineEvaluate double    alpha
 

Definition at line 522 of file ConjugateGradientMinimizer.cpp.

References CParameterFilter::BackwardTransformation, m_pdCurrentParameters, m_pdSearchDirection, m_pFilter, m_pMinimizable, m_pMO, Minimizer::nParameters, Minimizable::ObjectiveFunction, and CMatrixOperations::TwoVectorLC.

Referenced by BracketMinimum, BrentLine, and Minimize.

double CConjugateGradientMinimizer::Minimize double *    parameters,
Minimizable   minimizable
[virtual]
 

Implements Minimizer.

Definition at line 32 of file ConjugateGradientMinimizer.cpp.

References CParameterFilter::BackwardTransformation, BracketMinimum, BrentLine, CheckFuncTol, CheckGradTol, ComputeGradient, CMatrixOperations::DotProduct, CMatrixOperations::ElementCopy, CParameterFilter::ForwardTransformation, Minimizable::GetNParameters, LineEvaluate, m_bSearchFlag, m_iNIterations, m_iNRestarts, m_pdCurrentParameters, m_pdForceVector, m_pdGradient, m_pdSearchDirection, m_pFilter, m_pMinimizable, m_pMO, Minimizer::nParameters, CParameterFilter::OperatorInverse, ParameterReader::ReadParameter, CMatrixOperations::RescaleVector, CMatrixOperations::TwoVectorLC, and CMatrixOperations::VectorSupNorm.

double CConjugateGradientMinimizer::SgnProduct double    a,
double    b
 

Definition at line 538 of file ConjugateGradientMinimizer.cpp.

Referenced by BrentLine.


Member Data Documentation

bool CConjugateGradientMinimizer::m_bSearchFlag [private]
 

Definition at line 46 of file ConjugateGradientMinimizer.h.

Referenced by CConjugateGradientMinimizer, and Minimize.

double CConjugateGradientMinimizer::m_dFuncAccuracy [private]
 

Definition at line 51 of file ConjugateGradientMinimizer.h.

Referenced by CConjugateGradientMinimizer, and ComputeGradient.

double CConjugateGradientMinimizer::m_dFuncTol [private]
 

Definition at line 53 of file ConjugateGradientMinimizer.h.

Referenced by CConjugateGradientMinimizer, and CheckFuncTol.

const double CConjugateGradientMinimizer::m_dGOLD = 1.618034 [static, private]
 

Definition at line 11 of file ConjugateGradientMinimizer.cpp.

Referenced by BracketMinimum, and BrentLine.

double CConjugateGradientMinimizer::m_dGradTol [private]
 

Definition at line 52 of file ConjugateGradientMinimizer.h.

Referenced by CConjugateGradientMinimizer, and CheckGradTol.

double CConjugateGradientMinimizer::m_dMinTol [private]
 

Definition at line 59 of file ConjugateGradientMinimizer.h.

Referenced by BrentLine, and CConjugateGradientMinimizer.

int CConjugateGradientMinimizer::m_iNIterations [private]
 

Definition at line 48 of file ConjugateGradientMinimizer.h.

Referenced by CConjugateGradientMinimizer, and Minimize.

int CConjugateGradientMinimizer::m_iNRestarts [private]
 

Definition at line 49 of file ConjugateGradientMinimizer.h.

Referenced by CConjugateGradientMinimizer, and Minimize.

double* CConjugateGradientMinimizer::m_pdCurrentParameters [private]
 

Definition at line 54 of file ConjugateGradientMinimizer.h.

Referenced by LineEvaluate, and Minimize.

double* CConjugateGradientMinimizer::m_pdForceVector [private]
 

Definition at line 57 of file ConjugateGradientMinimizer.h.

Referenced by ComputeGradient, GetForceVector, and Minimize.

double* CConjugateGradientMinimizer::m_pdGradient [private]
 

Definition at line 56 of file ConjugateGradientMinimizer.h.

Referenced by ComputeGradient, and Minimize.

double* CConjugateGradientMinimizer::m_pdSearchDirection [private]
 

Definition at line 55 of file ConjugateGradientMinimizer.h.

Referenced by LineEvaluate, and Minimize.

CParameterFilter* CConjugateGradientMinimizer::m_pFilter [private]
 

Definition at line 61 of file ConjugateGradientMinimizer.h.

Referenced by CConjugateGradientMinimizer, ComputeGradient, LineEvaluate, and Minimize.

Minimizable* CConjugateGradientMinimizer::m_pMinimizable [private]
 

Definition at line 62 of file ConjugateGradientMinimizer.h.

Referenced by ComputeGradient, LineEvaluate, and Minimize.

CMatrixOperations* CConjugateGradientMinimizer::m_pMO [private]
 

Definition at line 60 of file ConjugateGradientMinimizer.h.

Referenced by CConjugateGradientMinimizer, LineEvaluate, Minimize, and ~CConjugateGradientMinimizer.


The documentation for this class was generated from the following files:
Generated on Mon Nov 3 10:01:33 2003 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002