mailr19391 - /trunk/specific_analyses/relax_fit.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on April 05, 2013 - 18:17:
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




Related Messages


Powered by MHonArc, Updated Fri Apr 05 18:40:01 2013