mailr6979 - /branches/rdc_analysis/maths_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 25, 2008 - 14:12:
Author: bugman
Date: Fri Jul 25 14:12:21 2008
New Revision: 6979

URL: http://svn.gna.org/viewcvs/relax?rev=6979&view=rev
Log:
Created the pc partial derivative part of the RDC gradient.


Modified:
    branches/rdc_analysis/maths_fns/n_state_model.py

Modified: branches/rdc_analysis/maths_fns/n_state_model.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/rdc_analysis/maths_fns/n_state_model.py?rev=6979&r1=6978&r2=6979&view=diff
==============================================================================
--- branches/rdc_analysis/maths_fns/n_state_model.py (original)
+++ branches/rdc_analysis/maths_fns/n_state_model.py Fri Jul 25 14:12:21 2008
@@ -27,7 +27,7 @@
 # relax module imports.
 from alignment_tensor import dAi_dAxx, dAi_dAyy, dAi_dAxy, dAi_dAxz, 
dAi_dAyz, to_tensor
 from chi2 import chi2, dchi2_element, d2chi2_element
-from rdc import ave_rdc_tensor, ave_rdc_tensor_dDij_dAmn
+from rdc import ave_rdc_tensor, ave_rdc_tensor_dDij_dAmn, rdc_tensor
 from rotation_matrix import R_euler_zyz
 
 
@@ -509,7 +509,6 @@
         @rtype:         numpy rank-1 array
         """
 
-        print "\nGrad call"
         # Scaling.
         if self.scaling_flag:
             params = dot(params, self.scaling_matrix)
@@ -529,7 +528,21 @@
                 self.dDij_theta[i*5+3, i, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.mu[j], self.N, self.dA[3], 
weights=self.probs)
                 self.dDij_theta[i*5+4, i, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.mu[j], self.N, self.dA[4], 
weights=self.probs)
 
-        print self.dDij_theta
+            # Construct the pc partial derivative part of the RDC gradient, 
looping over each state.
+            for c in xrange(self.N - 1):
+                # Index in the parameter array.
+                param_index = self.num_align_params + c
+
+                # Loop over the spins.
+                for j in xrange(self.num_spins):
+                    # Calculate the RDC for state c (this is the pc partial 
derivative).
+                    self.dDij_theta[param_index, i, j] = 
rdc_tensor(self.dip_const[j], self.mu[j, c], self.A[i])
+
+        # Debugging print out.
+        for k in xrange(self.total_num_params):
+            print "\nParam: " + `k`
+            print self.dDij_theta[k]
+
         # Diagonal scaling.
         if self.scaling_flag:
             self.dchi2 = dot(self.dchi2, self.scaling_matrix)




Related Messages


Powered by MHonArc, Updated Fri Jul 25 14:20:10 2008