Add an first attempt on implementing BFGS
Merge remote-tracking branch 'origin'