QMCEigenSearch Class Reference

Abstract implementation of a line search numerical optimization algorithm. More...

#include <QMCEigenSearch.h>

Inheritance diagram for QMCEigenSearch:

QMCOptimizationAlgorithm

List of all members.

Public Member Functions

 QMCEigenSearch (QMCObjectiveFunction *function, QMCLineSearchStepLengthSelectionAlgorithm *stepAlg, int maxSteps, double tol)
 Constructs and initializes an instance of this class.
virtual ~QMCEigenSearch ()
 Virtual destructor.
double get_a_diag (QMCDerivativeProperties &dp, double factor)
void setupHalfStep ()
Array1D< double > getParameters (QMCDerivativeProperties &dp, double a_diag, bool verbose)
Array1D< double > optimize (Array1D< double > &initialGuess, QMCDerivativeProperties &dp, double a_diag_factor, int optStep)
 Optimize the function starting from the provided initial guess parameters.

Protected Member Functions

QMCObjectiveFunctiongetObjectiveFunction ()
 Gets the objective function for the calculation.

Protected Attributes

int optStep
int dim
stringstream stepinfo

Static Protected Attributes

static bool currentlyHalf = true
static vector< double > f
static vector< double > variance
static vector< Array1D< double > > x

Private Attributes

QMCObjectiveFunctionOF
 Objective function to optimize.
QMCLineSearchStepLengthSelectionAlgorithmstepLengthAlg
 Step length determining algorithm to use.
double epsilon
 Tolerance to converge the solution to.
int maximumSteps
 Maximum number of steps allowed for the search.

Static Private Attributes

static int orig_steps = 0
static vector< double > adiag_tests
static Array1D< double > orig_params
static Array2D< double > hamiltonian
static Array2D< double > overlap


Detailed Description

Abstract implementation of a line search numerical optimization algorithm.

As is standard in the field, the optimization is a minimization.

Definition at line 29 of file QMCEigenSearch.h.


Constructor & Destructor Documentation

QMCEigenSearch::QMCEigenSearch ( QMCObjectiveFunction function,
QMCLineSearchStepLengthSelectionAlgorithm stepAlg,
int  maxSteps,
double  tol 
)

Constructs and initializes an instance of this class.

Parameters:
function objective function to optimize.
stepAlg algorithm to use claculate the step length.
maxSteps maximum number of steps to be performed during the line search.
tol tolerance to converge the solution to. Calculation is converged when $\left| 1-\frac{f(x_{i+1})}{f(x_{i})} \right| < tol $.

Definition at line 32 of file QMCEigenSearch.cpp.

References dim, epsilon, maximumSteps, OF, and stepLengthAlg.

virtual QMCEigenSearch::~QMCEigenSearch (  )  [inline, virtual]

Virtual destructor.

Definition at line 49 of file QMCEigenSearch.h.


Member Function Documentation

double QMCEigenSearch::get_a_diag ( QMCDerivativeProperties dp,
double  factor 
)

void QMCEigenSearch::setupHalfStep (  ) 

Array1D< double > QMCEigenSearch::getParameters ( QMCDerivativeProperties dp,
double  a_diag,
bool  verbose 
)

Array1D< double > QMCEigenSearch::optimize ( Array1D< double > &  initialGuess,
QMCDerivativeProperties dp,
double  ,
int   
) [virtual]

QMCObjectiveFunction * QMCEigenSearch::getObjectiveFunction (  )  [protected]

Gets the objective function for the calculation.

Definition at line 499 of file QMCEigenSearch.cpp.

References OF.


Member Data Documentation

bool QMCEigenSearch::currentlyHalf = true [static, protected]

Definition at line 63 of file QMCEigenSearch.h.

Referenced by optimize().

int QMCEigenSearch::optStep [protected]

Definition at line 70 of file QMCEigenSearch.h.

Referenced by get_a_diag(), and optimize().

int QMCEigenSearch::dim [protected]

Definition at line 71 of file QMCEigenSearch.h.

Referenced by getParameters(), optimize(), and QMCEigenSearch().

stringstream QMCEigenSearch::stepinfo [protected]

Definition at line 72 of file QMCEigenSearch.h.

Referenced by getParameters(), and optimize().

vector< double > QMCEigenSearch::f [static, protected]

Definition at line 74 of file QMCEigenSearch.h.

Referenced by optimize().

vector< double > QMCEigenSearch::variance [static, protected]

Definition at line 75 of file QMCEigenSearch.h.

Referenced by optimize().

vector< Array1D< double > > QMCEigenSearch::x [static, protected]

Definition at line 76 of file QMCEigenSearch.h.

Referenced by optimize().

int QMCEigenSearch::orig_steps = 0 [static, private]

Definition at line 79 of file QMCEigenSearch.h.

Referenced by optimize().

vector< double > QMCEigenSearch::adiag_tests [static, private]

Definition at line 80 of file QMCEigenSearch.h.

Referenced by get_a_diag(), and optimize().

Array1D< double > QMCEigenSearch::orig_params [static, private]

Definition at line 81 of file QMCEigenSearch.h.

Referenced by getParameters(), and optimize().

Array2D< double > QMCEigenSearch::hamiltonian [static, private]

Definition at line 82 of file QMCEigenSearch.h.

Referenced by getParameters(), and optimize().

Array2D< double > QMCEigenSearch::overlap [static, private]

Definition at line 83 of file QMCEigenSearch.h.

Referenced by getParameters(), and optimize().

Objective function to optimize.

Definition at line 88 of file QMCEigenSearch.h.

Referenced by getObjectiveFunction(), getParameters(), and QMCEigenSearch().

Step length determining algorithm to use.

Definition at line 93 of file QMCEigenSearch.h.

Referenced by getParameters(), and QMCEigenSearch().

double QMCEigenSearch::epsilon [private]

Tolerance to converge the solution to.

Definition at line 98 of file QMCEigenSearch.h.

Referenced by QMCEigenSearch().

Maximum number of steps allowed for the search.

Definition at line 103 of file QMCEigenSearch.h.

Referenced by QMCEigenSearch().


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

Generated on Sat Jul 5 16:14:03 2008 for QMcBeaver by  doxygen 1.5.6