| qub_dfpmin.h.html | mathcode2html |
| Source file: qub_dfpmin.h | |
| Converted: Tue Apr 17 2012 at 11:03:38 | |
| This documentation file will not reflect any later changes in the source file. |
$$\phantom{******** If you see this on the webpage then the
browser could not locate *********}$$
$$\phantom{******** jsMath/easy/load.js or the variable root
is set wrong in this file *********}$$
$$\newcommand{\vector}[1]{\left[\begin{array}{c} #1 \end{array}\right]}$$
$$\newenvironment{matrix}{\left[\begin{array}{cccccccccc}} {\end{array}\right]}$$
$$\newcommand{\A}{{\cal A}}$$
$$\newcommand{\W}{{\cal W}}$$
/* Copyright 1998-2011 Research Foundation State University of New York */
/* This file is part of QUB Express. */
/* QUB Express is free software; you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation, either version 3 of the License, or */
/* (at your option) any later version. */
/* QUB Express is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
/* GNU General Public License for more details. */
/* You should have received a copy of the GNU General Public License, */
/* named LICENSE.txt, in the QUB Express program directory. If not, see */
/* <http://www.gnu.org/licenses/>. */
#ifndef QUB_DFMPIN_H
#define QUB_DFPMIN_H
#ifdef __cplusplus
extern "C" {
#endif
// return 0 for success
typedef int (*dfp_func)(void*, double*, double*, double*, int*, int*, int);
// caller, params, grads, ll, nf, ndf, (bool) computeGrads
typedef int (*dfp_check)(void*, int, int, int, double, double*, double*);
// caller, iters, nf, ndf, ll params, grads
QUBFAST_API double qub_dfpmin( void *call_obj, int npar, double *initPar, double *hessianOut,
dfp_func func, dfp_check check,
int maxIter, double convLL, double convGrad, double stepMax,
int *errOut );
// errOut: 0 success
// -1 func returned error
// -2 check returned error
// -3 exceeded max iter
#ifdef __cplusplus
}
#endif
#endif