algorithm L-BFGS code OPTIM contributor Jacob Stevenson