7#ifndef _math_optimize_mcsearch_h
8#define _math_optimize_mcsearch_h
10#include <math/optimize/opt.h>
11#include <util/misc/autovec.h>
24 double gtol_, stpmin_, stpmax_;
27 double dg, fm, fx, fy, dgm, dgx, dgy, fxm, fym, stx, sty, dgxm,
30 double finit, width, stmin, stmax;
32 double width1, ftest1;
34 double dginit, dgtest;
37 double p, q, r__, s, sgnd, stpc, stpf, stpq, gamma, theta;
45 mcstep(
double *stx,
double *fx,
double *dx,
46 double *sty,
double *fy,
double *dy,
double *stp,
47 double *fp,
double *dp,
bool *brackt,
double *stpmin,
48 double *stpmax,
int *info);
51 mcsrch(
int *n,
double *x,
double *f,
52 double *g,
double *s,
double *stp,
double *ftol,
53 double *xtol,
int *maxfev,
int *info,
int *nfev,
static std::ostream & out0()
Return an ostream that writes from node 0.
The LineOpt abstract class is used to perform one dimensional optimizations.
Definition opt.h:125
This performs line searches with cubic steps.
Definition mcsearch.h:20
void print(std::ostream &=ExEnv::out0()) const
Print the object.
void init(RefSCVector &direction)
Initializes the line search object.
MCSearch(const Ref< KeyVal > &)
The MCSearch KeyVal CTOR does not read any input.
void init(RefSCVector &direction, Ref< Function > function)
Initializes the line search object.
Ref< Function > function() const
Returns information about the Function being optimized.
Definition opt.h:113
The RefSCVector class is a smart pointer to an SCVector specialization.
Definition matrix.h:55
A template class that maintains references counts.
Definition ref.h:361
The auto_vec class functions much like auto_ptr, except it contains references to arrays.
Definition autovec.h:59
Contains all MPQC code up to version 3.
Definition mpqcin.h:14