mailr18634 - /branches/frame_order_testing/auto_analyses/frame_order.py


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

Header


Content

Posted by edward on March 05, 2013 - 11:52:
Author: bugman
Date: Tue Mar  5 11:52:41 2013
New Revision: 18634

URL: http://svn.gna.org/viewcvs/relax?rev=18634&view=rev
Log:
The grid search for the frame order auto-analysis with translation is now 
handled differently.

This is to avoid getting trapped into a local minimum.  The grid for this 
split into a grid search
over the rotational space first, then a grid search over the translation.  
This is repeated for good
measure.  This is much more accurate and reliable for finding the global 
minimum and is also much
faster.


Modified:
    branches/frame_order_testing/auto_analyses/frame_order.py

Modified: branches/frame_order_testing/auto_analyses/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/auto_analyses/frame_order.py?rev=18634&r1=18633&r2=18634&view=diff
==============================================================================
--- branches/frame_order_testing/auto_analyses/frame_order.py (original)
+++ branches/frame_order_testing/auto_analyses/frame_order.py Tue Mar  5 
11:52:41 2013
@@ -409,8 +409,22 @@
         # Select the Frame Order model.
         self.interpreter.frame_order.select_model(model=model)
 
-        # Grid search (avoid the domain translation).
-        self.interpreter.grid_search(inc=self.grid_inc_rigid, 
constraints=False)
+        # Split grid search if translation is active.
+        if cdp.ave_pos_translation:
+            # Printout.
+            print("\n\nTranslation active - splitting the grid search and 
iterating.")
+
+            # Loop twice.
+            for i in range(2):
+                # First optimise the rotation.
+                self.interpreter.grid_search(inc=[None, None, None, 
self.grid_inc_rigid, self.grid_inc_rigid, self.grid_inc_rigid], 
constraints=False)
+
+                # Then the translation.
+                self.interpreter.grid_search(inc=[self.grid_inc_rigid, 
self.grid_inc_rigid, self.grid_inc_rigid, None, None, None], 
constraints=False)
+
+        # Standard grid search.
+        else:
+            self.interpreter.grid_search(inc=self.grid_inc_rigid, 
constraints=False)
 
         # Minimise.
         self.interpreter.minimise(self.min_algor, constraints=False)




Related Messages


Powered by MHonArc, Updated Tue Mar 05 13:40:02 2013