0

I'm using the differential_evolution algorithm in scipy to fit some data with various exponential functions convolved with gaussian functions - this in itself is not a problem, the function fits it well.

However, it is not giving the jacobian in the result dictionary (which I would like to use to calculate the errors on my fit constants), despite the fact that I have set "polish" (i.e. use scipy.optimize.minimize with the L-BFGS-B method to polish the best population member at the end) to True, and thus the documentation states it should give the jacobian. My function takes the gaussian width and any number of exponents, and is being fit like so:

result = differential_evolution(exponentialfit, bounds, args=(avgspectra, c, fitfrom, errors, numcomponents, 1), tol=0.000000000001, disp=True, polish=True)

Is there any reason it is not giving the jacobian in the result output?

Cleb
  • 25,102
  • 20
  • 116
  • 151
  • That indeed looks strange; polish=True is even the default. I run the examples from the documentation but I never managed to access the Jacobian. Might be worth to contact the developers about it. – Cleb Aug 07 '15 at 14:21
  • Ok, please post the reply here once you received one; I am also curious about it - thanks! – Cleb Aug 07 '15 at 20:27
  • See here: https://github.com/scipy/scipy/issues/5121#issuecomment-129128597 for updates. – user212883 Aug 10 '15 at 09:13
  • Thanks, very interesting. The documentation should then really be improved in my opinion. – Cleb Aug 10 '15 at 09:21

0 Answers0