codudi wrote:

This is really interesting since I have derived my derivatives using Wolfram alpha (Mathematica).

Maybe you've made mistake when coding them in C#. It is possible with such complex expressions. This is one of the reasons why I want to add automatic differentiation in one of the next releases. It will make possible to replace subsequent calls to

*MinLBFGSIteration* with just one call like

*MinLBFGSOptimize("F(a,b,c,d)=d-a*exp(-(x-b)^2/c^2)")* which will automatically and efficiently calculate and differentiate F.

codudi wrote:

Do you think your procedures can be improved using parallelism?

it can benefit from parallelism in two cases:

* when attempting to find global minimum using multistart technique (you can execute multiple optimizations in parallel)

* when you have very complex function whose calculation takes so much time that it is beneficial to calculate it in parallel

In your case (simple function, easy-to-find minimum), I think, parallelism won't help you.