Author: bugman Date: Thu Apr 4 22:59:00 2013 New Revision: 19377 URL: http://svn.gna.org/viewcvs/relax?rev=19377&view=rev Log: Fix for the relaxation dispersion grid search. The lower and upper bounds are no longer continually scaled with each optimisation. Modified: branches/relax_disp/specific_analyses/relax_disp.py Modified: branches/relax_disp/specific_analyses/relax_disp.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp.py?rev=19377&r1=19376&r2=19377&view=diff ============================================================================== --- branches/relax_disp/specific_analyses/relax_disp.py (original) +++ branches/relax_disp/specific_analyses/relax_disp.py Thu Apr 4 22:59:00 2013 @@ -686,12 +686,14 @@ raise RelaxError("A grid search of size %s is too large." % grid_size) # 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] + lower_new.append(lower[i] / scaling_matrix[i, i]) + upper_new.append(upper[i] / scaling_matrix[i, i]) # Return the data structures. - return grid_size, inc, lower, upper, sparseness + return grid_size, inc, lower_new, upper_new, sparseness def _linear_constraints(self, spins=None, scaling_matrix=None): @@ -1122,8 +1124,9 @@ param_vector = dot(inv(scaling_matrix), param_vector) # Get the grid search minimisation options. + lower_new, upper_new = None, None if match('^[Gg]rid', min_algor): - grid_size, inc, lower, upper, sparseness = self._grid_search_setup(spins=spins, param_vector=param_vector, lower=lower, upper=upper, inc=inc, scaling_matrix=scaling_matrix) + grid_size, inc, lower_new, upper_new, sparseness = self._grid_search_setup(spins=spins, param_vector=param_vector, lower=lower, upper=upper, inc=inc, scaling_matrix=scaling_matrix) # Linear constraints. A, b = None, None @@ -1147,7 +1150,7 @@ # Grid search. if search('^[Gg]rid', min_algor): - results = grid(func=model.func, args=(), num_incs=inc, lower=lower, upper=upper, A=A, b=b, sparseness=sparseness, verbosity=verbosity) + results = grid(func=model.func, args=(), num_incs=inc, lower=lower_new, upper=upper_new, A=A, b=b, sparseness=sparseness, verbosity=verbosity) # Unpack the results. param_vector, chi2, iter_count, warning = results