#ifndef _LBFGS_H_ #define _LBFGS_H_ // template // std::vector // perform_LBFGS(FuncGrad func_grad, const std::vector & x0); std::vector perform_LBFGS( double (*func_grad)(const std::vector &, std::vector &), const std::vector &x0); std::vector perform_OWLQN( double (*func_grad)(const std::vector &, std::vector &), const std::vector &x0, const double C); // const int LBFGS_M = 7; const int LBFGS_M = 10; #endif