Go to the source code of this file.
|
typedef float64_t(* | lbfgs_evaluate_t )(void *instance, const float64_t *x, float64_t *g, const int n, const float64_t step) |
|
typedef int(* | lbfgs_progress_t )(void *instance, const float64_t *x, const float64_t *g, const float64_t fx, const float64_t xnorm, const float64_t gnorm, const float64_t step, int n, int k, int ls) |
|
typedef float64_t(* | lbfgs_adjust_step_t )(void *instance, const float64_t *x, const float64_t *d, const int n, const float64_t step) |
|
|
enum | {
LBFGS_SUCCESS = 0,
LBFGS_CONVERGENCE = 0,
LBFGS_STOP,
LBFGS_ALREADY_MINIMIZED,
LBFGSERR_UNKNOWNERROR = -1024,
LBFGSERR_LOGICERROR,
LBFGSERR_OUTOFMEMORY,
LBFGSERR_CANCELED,
LBFGSERR_INVALID_N,
LBFGSERR_INVALID_N_SSE,
LBFGSERR_INVALID_X_SSE,
LBFGSERR_INVALID_EPSILON,
LBFGSERR_INVALID_TESTPERIOD,
LBFGSERR_INVALID_DELTA,
LBFGSERR_INVALID_LINESEARCH,
LBFGSERR_INVALID_MINSTEP,
LBFGSERR_INVALID_MAXSTEP,
LBFGSERR_INVALID_FTOL,
LBFGSERR_INVALID_WOLFE,
LBFGSERR_INVALID_GTOL,
LBFGSERR_INVALID_XTOL,
LBFGSERR_INVALID_MAXLINESEARCH,
LBFGSERR_INVALID_ORTHANTWISE,
LBFGSERR_INVALID_ORTHANTWISE_START,
LBFGSERR_INVALID_ORTHANTWISE_END,
LBFGSERR_OUTOFINTERVAL,
LBFGSERR_INCORRECT_TMINMAX,
LBFGSERR_ROUNDING_ERROR,
LBFGSERR_MINIMUMSTEP,
LBFGSERR_MAXIMUMSTEP,
LBFGSERR_MAXIMUMLINESEARCH,
LBFGSERR_MAXIMUMITERATION,
LBFGSERR_WIDTHTOOSMALL,
LBFGSERR_INVALIDPARAMETERS,
LBFGSERR_INCREASEGRADIENT,
LBFGSERR_INVALID_VALUE
} |
|
enum | {
LBFGS_LINESEARCH_DEFAULT = MORETHUENTE,
LBFGS_LINESEARCH_MORETHUENTE = MORETHUENTE,
LBFGS_LINESEARCH_BACKTRACKING_ARMIJO = BACKTRACKING_ARMIJO,
LBFGS_LINESEARCH_BACKTRACKING = BACKTRACKING_WOLFE,
LBFGS_LINESEARCH_BACKTRACKING_WOLFE = BACKTRACKING_WOLFE,
LBFGS_LINESEARCH_BACKTRACKING_STRONG_WOLFE = BACKTRACKING_STRONG_WOLFE
} |
|
|
int | lbfgs (int n, float64_t *x, float64_t *ptr_fx, lbfgs_evaluate_t proc_evaluate, lbfgs_progress_t proc_progress, void *instance, lbfgs_parameter_t *param, lbfgs_adjust_step_t proc_adjust_step=NULL) |
|
void | lbfgs_parameter_init (lbfgs_parameter_t *param) |
|