Author: bugman Date: Fri Apr 5 18:17:00 2013 New Revision: 19391 URL: http://svn.gna.org/viewcvs/relax?rev=19391&view=rev Log: The grid search bounds for the relaxation curve-fitting are no longer affected by scaling. The parameter scaling activated a few commits ago revealed a bug in the lower and upper data structures for the grid search in that these were continuously scaled down. Modified: trunk/specific_analyses/relax_fit.py Modified: trunk/specific_analyses/relax_fit.py URL: http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_fit.py?rev=19391&r1=19390&r2=19391&view=diff ============================================================================== --- trunk/specific_analyses/relax_fit.py (original) +++ trunk/specific_analyses/relax_fit.py Fri Apr 5 18:17:00 2013 @@ -346,12 +346,15 @@ lower.append(0.0) upper.append(average(spin.intensities[id])) - # Parameter scaling. + # Diagonal scaling of minimisation options. + lower_new = [] + upper_new = [] for i in range(n): - lower[i] = lower[i] / scaling_matrix[i, i] - upper[i] = upper[i] / scaling_matrix[i, i] - - return inc, lower, upper + lower_new.append(lower[i] / scaling_matrix[i, i]) + upper_new.append(upper[i] / scaling_matrix[i, i]) + + # Return the minimisation options. + return inc, lower_new, upper_new def _linear_constraints(self, spin=None, scaling_matrix=None): @@ -657,7 +660,7 @@ # Get the grid search minimisation options. if match('^[Gg]rid', min_algor): - inc, lower, upper = self._grid_search_setup(spin=spin, param_vector=param_vector, lower=lower, upper=upper, inc=inc, scaling_matrix=scaling_matrix) + inc, lower_new, upper_new = self._grid_search_setup(spin=spin, param_vector=param_vector, lower=lower, upper=upper, inc=inc, scaling_matrix=scaling_matrix) # Linear constraints. if constraints: @@ -733,7 +736,7 @@ # Grid search. if search('^[Gg]rid', min_algor): - results = grid(func=self._func, args=(), num_incs=inc, lower=lower, upper=upper, A=A, b=b, verbosity=verbosity) + results = grid(func=self._func, args=(), num_incs=inc, lower=lower_new, upper=upper_new, A=A, b=b, verbosity=verbosity) # Unpack the results. param_vector, chi2, iter_count, warning = results