Implement of BFGS using strong wolfe condition