/*--------------------------------------------------------------------------
 * maximize.h - definitions/declarations for numerical differentiation
 *              and function maximization
 *
 *       (C) Jurgen Doornik 1994-2001
 *
 *--------------------------------------------------------------------------*/

#ifndef MAXIMIZE_INCLUDED
#define MAXIMIZE_INCLUDED

enum
{
    MAX_CONV, MAX_WEAK_CONV, MAX_MAXIT, MAX_LINE_FAIL, MAX_FUNC_FAIL, MAX_NOCONV
};

MaxBFGS(const func, const avP, const adFunc, const amHessian, const fNumDer, ...);
MaxNewton(const func, const avP, const adFunc, const amHessian, const fNumDer, ...);
MaxSimplex(const func, const avP, const adFunc, vDelta);
MaxConvergenceMsg(const iCode);
MaxControlEps(const dEps1, const dEps2);
MaxControl(const mxIter, const iPrint, ...);
GetMaxControl();
GetMaxControlEps();

Num1Derivative(const func, vP, const avScore);
Num2Derivative(const func, vP, const amHessian);
NumJacobian(const func, vU, const amJacobian);

#endif /* MAXIMIZE_INCLUDED */
