The *Scipy* library has an optimization method called `Basinhopping`

which we can optimize an arbitrary function and extract variables which minimize its function’s value. We also can combine this method with ** L-BFGS**. However, the problem is that, it is indeed extremely slow, and the main issue is that

*Scipy*is

**single-threaded**.

I know that PyTorch does have a

**L-BFGS**algorithm. Does this PyTorch version of

`L-BFGS`

support multi-threading and GPU-based? (In fact, I want to be able to get an enormous speedup by using that.)Moreover, can I optimize a function and find its corresponding variables that minimize the function with it?