mailr21092 - in /branches/relax_disp/specific_analyses/relax_disp: api.py optimisation.py


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

Header


Content

Posted by edward on October 14, 2013 - 14:39:
Author: bugman
Date: Mon Oct 14 14:39:35 2013
New Revision: 21092

URL: http://svn.gna.org/viewcvs/relax?rev=21092&view=rev
Log:
Added a printout for the pre-set dispersion parameter skipping in grid search.


Modified:
    branches/relax_disp/specific_analyses/relax_disp/api.py
    branches/relax_disp/specific_analyses/relax_disp/optimisation.py

Modified: branches/relax_disp/specific_analyses/relax_disp/api.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp/api.py?rev=21092&r1=21091&r2=21092&view=diff
==============================================================================
--- branches/relax_disp/specific_analyses/relax_disp/api.py (original)
+++ branches/relax_disp/specific_analyses/relax_disp/api.py Mon Oct 14 
14:39:35 2013
@@ -342,7 +342,7 @@
                 # Get the grid search minimisation options.
                 lower_new, upper_new = None, None
                 if match('^[Gg]rid', min_algor):
-                    grid_size, inc_new, lower_new, upper_new = 
grid_search_setup(spins=[spin], param_vector=param_vector, lower=lower, 
upper=upper, inc=inc, scaling_matrix=scaling_matrix)
+                    grid_size, inc_new, lower_new, upper_new = 
grid_search_setup(spins=[spin], spin_ids=[spin_id], 
param_vector=param_vector, lower=lower, upper=upper, inc=inc, 
scaling_matrix=scaling_matrix)
 
                 # Linear constraints.
                 A, b = None, None

Modified: branches/relax_disp/specific_analyses/relax_disp/optimisation.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp/optimisation.py?rev=21092&r1=21091&r2=21092&view=diff
==============================================================================
--- branches/relax_disp/specific_analyses/relax_disp/optimisation.py 
(original)
+++ branches/relax_disp/specific_analyses/relax_disp/optimisation.py Mon Oct 
14 14:39:35 2013
@@ -41,11 +41,13 @@
 from target_functions.relax_disp import Dispersion
 
 
-def grid_search_setup(spins=None, param_vector=None, lower=None, upper=None, 
inc=None, scaling_matrix=None):
+def grid_search_setup(spins=None, spin_ids=None, param_vector=None, 
lower=None, upper=None, inc=None, scaling_matrix=None):
     """The grid search setup function.
 
     @keyword spins:             The list of spin data containers for the 
block.
     @type spins:                list of SpinContainer instances
+    @keyword spin_ids:          The corresponding spin ID strings.
+    @type spin_ids:             list of str
     @keyword param_vector:      The parameter vector.
     @type param_vector:         numpy array
     @keyword lower:             The lower bounds of the grid search which 
must be equal to the number of parameters in the model.  This optional 
argument is only used when doing a grid search.
@@ -150,14 +152,18 @@
 
     # Pre-set parameters.
     index = 0
-    for spin in spins:
-        for param in spin.params:
+    for spin_index in range(len(spins)):
+        for param in spins[spin_index].params:
             # Get the parameter.
-            if hasattr(spin, param):
-                val = getattr(spin, param)
+            if hasattr(spins[spin_index], param):
+                val = getattr(spins[spin_index], param)
 
                 # Value already set.
                 if is_float(val) and val != 0.0:
+                    # Printout.
+                    print("The spin '%s' parameter '%s' is pre-set to %s, 
skipping it in the grid search." % (spin_ids[spin_index], param, val))
+
+                    # Turn of the grid search for this parameter.
                     inc[index] = 1
                     lower[index] = val
                     upper[index] = val
@@ -279,7 +285,7 @@
         # Get the grid search minimisation options.
         self.lower_new, self.upper_new = None, None
         if search('^[Gg]rid', min_algor):
-            self.grid_size, self.inc_new, self.lower_new, self.upper_new = 
grid_search_setup(spins=spins, param_vector=self.param_vector, lower=lower, 
upper=upper, inc=inc, scaling_matrix=self.scaling_matrix)
+            self.grid_size, self.inc_new, self.lower_new, self.upper_new = 
grid_search_setup(spins=spins, spin_ids=spin_ids, 
param_vector=self.param_vector, lower=lower, upper=upper, inc=inc, 
scaling_matrix=self.scaling_matrix)
 
         # Linear constraints.
         self.A, self.b = None, None




Related Messages


Powered by MHonArc, Updated Mon Oct 14 15:40:02 2013