Public Member Functions | Protected Member Functions | Protected Attributes

mmdb::math::BFGSMin Class Reference

#include <mmdb_math_bfgsmin.h>

List of all members.

Public Member Functions

 BFGSMin ()
virtual ~BFGSMin ()
virtual void MinFunc (rvector X, realtype &F)
virtual void Print (int Itn, rvector X, rvector G, realtype F)
void SetMinFunction (void *UserData, PBFGSMinFunc Fnc)
void SetPrintFunction (void *UserData, PBFGSPrintFunc Fnc)
void BFGS_Driver (int MinN, rvector x0, rvector TypX, realtype &FuncValue, int &TerminationCode, int Digits=0, int ItnLmt=0, realtype TypF=0.0, realtype GrdTol=0.0, realtype StpTol=0.0, realtype MaxStp=MaxReal, bool Hess=false, rvector LowLimit=NULL, rvector TopLimit=NULL)
void Stop ()

Protected Member Functions

void MinFunc1 (rvector X, realtype &F)
void UMInCk (rvector x0, rvector TypX, int Digits, realtype TypF, realtype GrdTol, realtype StpTol, realtype MaxStp, int ItnLmt)
void UMStop0 (rvector x0, rvector Grad)
void UMStop (rvector x0, rvector Grad, int RetCode, int ItnCnt, bool MaxTkn)
virtual void Gradient (rvector X, rvector G, realtype Fc)
virtual void FDHessF (realtype Fc, rvector X)
void FDGrad (rvector X, rvector G, realtype Fc)
void CDGrad (rvector X, rvector G)
void MdHess (rmatrix H, rvector HDg)
void InitHessUnFac (realtype F, rmatrix H)
void BFGSUnFac (rvector Xc, rvector Xp, rvector Gc, rvector Gp, bool AnalGrad, rvector HDg, rmatrix H)
void Choose_Lambda (rvector X, rvector S, realtype &Lambda0)
void LineSearch (rvector px0, rvector G, rvector P, realtype pFunc, int &RetCode, bool &MaxTkn)
void GetMemory ()
void FreeMemory ()
void Relax ()
void CopyPlus (rvector x0)

Protected Attributes

PBFGSMinFunc MFunc
void * MFuncData
PBFGSPrintFunc PFunc
void * PFuncData
int N
int NAlloc
rmatrix Hsn
rvector TL
rvector LL
rvector XOpt
rvector XPlus
rvector Sx
rvector SN
rvector HDiag
rvector GradX
rvector GPlus
rvector StepSize
rvector FNeighbor
rvector us
rvector uy
rvector ut
bvector Freese
realtype Func
realtype FPlus
realtype FOpt
realtype TakenLambda
bool ForDiff
bool CalcHess
realtype Etha
realtype SqrtEtha
realtype CubertEtha
realtype TpF
realtype GrdEps
realtype StpEps
realtype MxStep
realtype SqrtEps
int CnsMax
int MaxItn
int TermCode
bool ModF

Constructor & Destructor Documentation

mmdb::math::BFGSMin::BFGSMin (  )
mmdb::math::BFGSMin::~BFGSMin (  ) [virtual]

Member Function Documentation

void mmdb::math::BFGSMin::BFGS_Driver ( int  MinN,
rvector  x0,
rvector  TypX,
realtype &  FuncValue,
int &  TerminationCode,
int  Digits = 0,
int  ItnLmt = 0,
realtype  TypF = 0.0,
realtype  GrdTol = 0.0,
realtype  StpTol = 0.0,
realtype  MaxStp = MaxReal,
bool  Hess = false,
rvector  LowLimit = NULL,
rvector  TopLimit = NULL 
)
void mmdb::math::BFGSMin::BFGSUnFac ( rvector  Xc,
rvector  Xp,
rvector  Gc,
rvector  Gp,
bool  AnalGrad,
rvector  HDg,
rmatrix  H 
) [protected]
void mmdb::math::BFGSMin::CDGrad ( rvector  X,
rvector  G 
) [protected]
void mmdb::math::BFGSMin::Choose_Lambda ( rvector  X,
rvector  S,
realtype &  Lambda0 
) [protected]
void mmdb::math::BFGSMin::CopyPlus ( rvector  x0 ) [protected]
void mmdb::math::BFGSMin::FDGrad ( rvector  X,
rvector  G,
realtype  Fc 
) [protected]
void mmdb::math::BFGSMin::FDHessF ( realtype  Fc,
rvector  X 
) [protected, virtual]
void mmdb::math::BFGSMin::FreeMemory (  ) [protected]
void mmdb::math::BFGSMin::GetMemory (  ) [protected]
void mmdb::math::BFGSMin::Gradient ( rvector  X,
rvector  G,
realtype  Fc 
) [protected, virtual]
void mmdb::math::BFGSMin::InitHessUnFac ( realtype  F,
rmatrix  H 
) [protected]
void mmdb::math::BFGSMin::LineSearch ( rvector  px0,
rvector  G,
rvector  P,
realtype  pFunc,
int &  RetCode,
bool &  MaxTkn 
) [protected]
void mmdb::math::BFGSMin::MdHess ( rmatrix  H,
rvector  HDg 
) [protected]
void mmdb::math::BFGSMin::MinFunc ( rvector  X,
realtype &  F 
) [virtual]
void mmdb::math::BFGSMin::MinFunc1 ( rvector  X,
realtype &  F 
) [protected]
void mmdb::math::BFGSMin::Print ( int  Itn,
rvector  X,
rvector  G,
realtype  F 
) [virtual]
void mmdb::math::BFGSMin::Relax (  ) [protected]
void mmdb::math::BFGSMin::SetMinFunction ( void *  UserData,
PBFGSMinFunc  Fnc 
)
void mmdb::math::BFGSMin::SetPrintFunction ( void *  UserData,
PBFGSPrintFunc  Fnc 
)
void mmdb::math::BFGSMin::Stop (  )
void mmdb::math::BFGSMin::UMInCk ( rvector  x0,
rvector  TypX,
int  Digits,
realtype  TypF,
realtype  GrdTol,
realtype  StpTol,
realtype  MaxStp,
int  ItnLmt 
) [protected]
void mmdb::math::BFGSMin::UMStop ( rvector  x0,
rvector  Grad,
int  RetCode,
int  ItnCnt,
bool  MaxTkn 
) [protected]
void mmdb::math::BFGSMin::UMStop0 ( rvector  x0,
rvector  Grad 
) [protected]

Member Data Documentation

int mmdb::math::BFGSMin::CnsMax [protected]
bool mmdb::math::BFGSMin::ForDiff [protected]
int mmdb::math::BFGSMin::MaxItn [protected]
void* mmdb::math::BFGSMin::MFuncData [protected]
bool mmdb::math::BFGSMin::ModF [protected]
int mmdb::math::BFGSMin::N [protected]
int mmdb::math::BFGSMin::NAlloc [protected]
void* mmdb::math::BFGSMin::PFuncData [protected]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines