Non-Linear Least Squares Minimization, with flexible Parameter settings, based on scipy.optimize, and with many additional classes and methods for curve fitting.
If one sets initial_simplex for the minimizer method='nelder', the value will be handed over to scipy.optimize, without any transformation, unlike a bounded parameter value. This poses a confusing condition for the underline algorithm when min/max are set in Parameters.
In this specific case, It might be good just ignoring the parameter bounds in lmfit (since it's already implicitly defined by initial_simplex), or let lmfit also transform initial_simplex into the internal parameter space?
I have to say this is more like a user problem, but it takes me a while to catch this issue.
Description
If one sets
initial_simplex
for the minimizermethod='nelder'
, the value will be handed over toscipy.optimize
, without any transformation, unlike a bounded parameter value. This poses a confusing condition for the underline algorithm whenmin
/max
are set inParameters
.In this specific case, It might be good just ignoring the parameter bounds in
lmfit
(since it's already implicitly defined byinitial_simplex
), or letlmfit
also transforminitial_simplex
into the internal parameter space?I have to say this is more like a user problem, but it takes me a while to catch this issue.