$BS      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRI ST !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG F !"#$%&'()*+,-./0123456789:;<=>?@ABCDEG   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF experimentalDanil de Kok <me@danieldk.eu>:G?Type signature for a function reporting on the progress of the  optimization. Instance data "Variables (should not be modified  by the function) "Gradients (should not be modified  by the function)  Value of the objective function  Euclidean norm of the variables  Eucledian norm of the gradients "Step of the line search algorithm Number of variables Iteration count )Number of evaluations for this iteration (Return zero to continue the evaluation,  non-zero otherwise HDType signature for the objective function and gradient evaluations. Instance data !Current variables (should not be  modified by the function)  Gradients Number of variables "Step of the line search algorithm  Value of the objective function IUVWXYZ[\]^_`abcdefghijklmnopqrstuvJFVarious line search algorithms. Wolfe backtracking algorithms require  a coefficient. KLMNOPQwxyz{|}~R=Start a L-BFGS optimization. The initial variables should be  provided as a list of doubles. The line search algorithm Objective function Progress report function Instance data Initial variable values Result and variable values GHIJKLMNOPQR JQPONLKMMHGIR GHIJQPONLKMMKLMNOPQR       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ lbfgs-0.0.3Numeric.LBFGS.Raw Numeric.LBFGS c_lbfgs_freec_lbfgs_mallocc_lbfgsc_lbfgs_progress_t_wrapc_lbfgs_evaluate_t_wrap CProgressFun CEvaluateFunCLBFGSParametermepsilonpastdeltamax_iterations linesearchmax_linesearchmin_stepmax_stepftolwolfegtolxtol orthantwise_corthantwise_startorthantwise_end CLBFGSResultunCLBFGSResultCLineSearchAlgorithmdefaultLineSearch moreThuentebacktrackingArmijo backtrackingbacktrackingWolfebacktrackingStrongWolfe lbfgsSuccesslbfgsConvergence lbfgsStoplbfgsAlreadyMinimizedlbfgserrUnknownerrorlbfgserrLogicerrorlbfgserrOutofmemorylbfgserrCanceledlbfgserrInvalidNlbfgserrInvalidNSselbfgserrInvalidXSselbfgserrInvalidEpsilonlbfgserrInvalidTestperiodlbfgserrInvalidDeltalbfgserrInvalidLinesearchlbfgserrInvalidMinsteplbfgserrInvalidMaxsteplbfgserrInvalidFtollbfgserrInvalidWolfelbfgserrInvalidGtollbfgserrInvalidXtollbfgserrInvalidMaxlinesearchlbfgserrInvalidOrthantwiselbfgserrInvalidOrthantwiseStartlbfgserrInvalidOrthantwiseEndlbfgserrOutofintervallbfgserrIncorrectTminmaxlbfgserrRoundingErrorlbfgserrMinimumsteplbfgserrMaximumsteplbfgserrMaximumlinesearchlbfgserrMaximumiterationlbfgserrWidthtoosmalllbfgserrInvalidparameterslbfgserrIncreasegradient defaultCParam ProgressFun EvaluateFun LBFGSResultLineSearchAlgorithmBacktrackingStrongWolfeBacktrackingWolfecoeff BacktrackingBacktrackingArmijo MoreThuenteDefaultLineSearchlbfgsunCLineSearchAlgorithmIncreaseGradientInvalidParameters WidthTooSmallMaximumIterationMaximumLineSearch MaximumStep MinimumStep RoundingErrorIncorrectTMinMax OutOfIntervalInvalidOrthantwiseEndInvalidOrthantwiseStartInvalidOrthantwiseInvalidMaxLineSearch InvalidXtol InvalidGtol InvalidWolfe InvalidFtolInvalidMaxStepInvalidMinStepInvalidLineSearch InvalidDeltaInvalidTestPeriodInvalidEpsilon InvalidXSSE InvalidNSSEInvalidNCanceled OutOfMemory LogicError UnknownErrorAlreadyMinimizedStopSuccessmergeLineSearchAlgorithm withParam deriveResultcDoublePlusPtr listToVectorcopyList freeVector vectorToList vectorToList_wrapEvaluateFunwrapProgressFunlbfgs_