mailr6934 - /branches/rdc_analysis/specific_fns/n_state_model.py


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

Header


Content

Posted by edward on July 10, 2008 - 13:42:
Author: bugman
Date: Thu Jul 10 13:42:41 2008
New Revision: 6934

URL: http://svn.gna.org/viewcvs/relax?rev=6934&view=rev
Log:
Made some more use of the scaling matrix.


Modified:
    branches/rdc_analysis/specific_fns/n_state_model.py

Modified: branches/rdc_analysis/specific_fns/n_state_model.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/rdc_analysis/specific_fns/n_state_model.py?rev=6934&r1=6933&r2=6934&view=diff
==============================================================================
--- branches/rdc_analysis/specific_fns/n_state_model.py (original)
+++ branches/rdc_analysis/specific_fns/n_state_model.py Thu Jul 10 13:42:41 
2008
@@ -736,23 +736,24 @@
         # Create the initial parameter vector.
         param_vector = self.assemble_param_vector(sim_index=sim_index)
 
+        # Determine if alignment tensors or RDCs are to be used.
+        data_type = self.__determine_data_type()
+
+        # Diagonal scaling.
+        scaling_matrix = self.__assemble_scaling_matrix(data_type=data_type, 
scaling=scaling)
+        param_vector = dot(inv(scaling_matrix), param_vector)
+
         # Linear constraints.
         if constraints:
-            A, b = self.linear_constraints()
-
-        # Determine if alignment tensors or RDCs are to be used.
-        data_type = self.__determine_data_type()
-
-        # Diagonal scaling.
-        scaling_matrix = self.__assemble_scaling_matrix(data_type=data_type, 
scaling=scaling)
+            A, b = self.linear_constraints(data_type=data_type, 
scaling_matrix=scaling_matrix)
 
         # Set up minimisation using alignment tensors.
         if data_type == 'tensor':
-            model = self.minimise_setup_tensors(param_vector=param_vector)
+            model = self.minimise_setup_tensors(param_vector=param_vector, 
scaling_matrix=scaling_matrix)
 
         # Set up minimisation using RDCs.
         elif data_type == 'rdc':
-            model = self.minimise_setup_rdcs(param_vector=param_vector)
+            model = self.minimise_setup_rdcs(param_vector=param_vector, 
scaling_matrix=scaling_matrix)
 
         # Minimisation.
         if constraints:
@@ -817,11 +818,13 @@
             cdp.warning = warning
 
 
-    def minimise_setup_rdcs(self, param_vector=None):
+    def minimise_setup_rdcs(self, param_vector=None, scaling_matrix=None):
         """Set up minimisation for the N-state model using RDCs.
 
         @keyword param_vector:  The parameter vector.
         @type param_vector:     list of str
+        @scaling_matrix:        The square and diagonal scaling matrix.
+        @scaling_matrix:        numpy rank-2 array
         @return:                The initialised N_state_opt class for 
minimisation.
         @rteyp:                 N_state_opt instance
         """
@@ -869,17 +872,19 @@
                 xh_vect_numpy[i,j] = xh_vectors[i][j]
 
         # Set up the class instance containing the target function.
-        model = N_state_opt(model=cdp.model, N=cdp.N, 
init_params=param_vector, rdcs=rdcs_numpy, xh_vect=xh_vect_numpy)
+        model = N_state_opt(model=cdp.model, N=cdp.N, 
init_params=param_vector, rdcs=rdcs_numpy, xh_vect=xh_vect_numpy, 
scaling_matrix=scaling_matrix)
 
         # Return the instantiated class.
         return model
 
 
-    def minimise_setup_tensors(self, param_vector=None):
+    def minimise_setup_tensors(self, param_vector=None, scaling_matrix=None):
         """Set up minimisation for the N-state model using alignment tensors.
 
         @keyword param_vector:  The parameter vector.
         @type param_vector:     list of str
+        @scaling_matrix:        The square and diagonal scaling matrix.
+        @scaling_matrix:        numpy rank-2 array
         @return:                The initialised N_state_opt class for 
minimisation.
         @rteyp:                 N_state_opt instance
         """
@@ -933,7 +938,7 @@
         full_in_ref_frame = array(full_in_ref_frame, float64)
 
         # Set up the class instance containing the target function.
-        model = N_state_opt(model=cdp.model, N=cdp.N, 
init_params=param_vector, full_tensors=full_tensors, 
red_data=red_tensor_elem, red_errors=red_tensor_err, 
full_in_ref_frame=full_in_ref_frame)
+        model = N_state_opt(model=cdp.model, N=cdp.N, 
init_params=param_vector, full_tensors=full_tensors, 
red_data=red_tensor_elem, red_errors=red_tensor_err, 
full_in_ref_frame=full_in_ref_frame, scaling_matrix=scaling_matrix)
 
         # Return the instantiated class.
         return model




Related Messages


Powered by MHonArc, Updated Thu Jul 10 14:00:18 2008