Minimize a function func using the LBFGSB algorithm.
Parameters :  func : callable f(x, *args)
x0 : ndarray
fprime : callable fprime(x, *args)
args : tuple
approx_grad : bool
bounds : list
m : int
factr : float
pgtol : float
epsilon : float
iprint : int
disp : int, optional
maxfun : int


Returns :  x : ndarray
f : float
d : dict

Notes
License of LBFGSB (Fortran code):
The version included here (in fortran code) is 2.1 (released in 1997). It was written by Ciyou Zhu, Richard Byrd, and Jorge Nocedal <nocedal@ece.nwu.edu>. It carries the following condition for use:
This software is freely available, but we expect that all publications describing work using this software , or all commercial products using it, quote at least one of the references given below.
References