/arithmetic_ansi.h(另两个arithmetic_sse_double.h和arithmetic_sse_float.h是两个汇编编写的等价形式):相当于一些工具
liblbfgs-1.10...*ptr_fx,// 目标函数值
lbfgs_evaluate_t proc_evaluate,// 计算目标函数值和梯度的回调函数
lbfgs_progress_t proc_progress,//...x和向量g,因此从xp和gp中恢复变量值和梯度值
/* Revert to the previous point. */
veccpy(x, xp, n);
veccpy(g,...根据上述的流程,开始拟合Hessian矩阵:
计算向量序列{sk}\left \{ s_k \right \}和{yk}\left \{ y_k \right \}
// 更新s向量和y向量
it =...的计算方法如下所示:
vecdot(&ys, it->y, it->s, n);// 计算点积
vecdot(&yy, it->y, it->y, n);
it->ys = ys;
bound和end的计算方法如下所示