#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