Skip to content

Commit c2b7ea1

Browse files
committed
correctly create non-constraint parameter values and bounds for least_squares()
1 parent 6122a77 commit c2b7ea1

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

lmfit/minimizer.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1204,9 +1204,13 @@ def least_squares(self, params=None, **kws):
12041204
result.method = 'least_squares'
12051205

12061206
replace_none = lambda x, sign: sign*np.inf if x is None else x
1207-
upper_bounds = [replace_none(i.max, 1) for i in self.params.values()]
1208-
lower_bounds = [replace_none(i.min, -1) for i in self.params.values()]
1209-
start_vals = [i.value for i in self.params.values()]
1207+
1208+
start_vals, lower_bounds, upper_bounds = [], [], []
1209+
for vname in result.var_names:
1210+
par = self.params[vname]
1211+
start_vals.append(par.value)
1212+
lower_bounds.append(replace_none(par.min, -1))
1213+
upper_bounds.append(replace_none(par.max, -1))
12101214

12111215
ret = least_squares(self.__residual, start_vals,
12121216
bounds=(lower_bounds, upper_bounds),

0 commit comments

Comments
 (0)