mailr4867 - /branches/N_state_model/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 January 21, 2008 - 12:59:
Author: bugman
Date: Mon Jan 21 12:59:49 2008
New Revision: 4867

URL: http://svn.gna.org/viewcvs/relax?rev=4867&view=rev
Log:
Wrote the N-state model default_value() method.


Modified:
    branches/N_state_model/specific_fns/n_state_model.py

Modified: branches/N_state_model/specific_fns/n_state_model.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/N_state_model/specific_fns/n_state_model.py?rev=4867&r1=4866&r2=4867&view=diff
==============================================================================
--- branches/N_state_model/specific_fns/n_state_model.py (original)
+++ branches/N_state_model/specific_fns/n_state_model.py Mon Jan 21 12:59:49 
2008
@@ -80,6 +80,45 @@
 
         # Return a numpy arrary.
         return array(param_vector, float64)
+
+
+    def default_value(self, param):
+        """
+        N-state model default values
+        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+        
______________________________________________________________________________________
+        |                             |                             |        
                |
+        | Data type                   | Object name                 | Value  
                |
+        
|_____________________________|_____________________________|________________________|
+        |                             |                             |        
                |
+        | Probabilities               | 'p0', 'p1', 'p2', ..., 'pN' | 1/N    
                |
+        |                             |                             |        
                |
+        | Euler angle alpha           | 'alpha0', 'alpha1', ...     | c * pi 
/ (N+1)         |
+        |                             |                             |        
                |
+        | Euler angle beta            | 'beta0', 'beta1', ...       | c * pi 
/ (N+1)         |
+        |                             |                             |        
                |
+        | Euler angle gamma           | 'gamma0', 'gamma1', ...     | c * pi 
/ (N+1)         |
+        
|_____________________________|_____________________________|________________________|
+
+        In this table, N is the total number of states and c is the index of 
a given state ranging
+        from 0 to N-1.
+        """
+        __docformat__ = "plaintext"
+
+        # Split the parameter into its base name and index.
+        name, index = self.return_data_name(param, index=True)
+
+        # The number of states as a float.
+        N = float(relax_data_store[relax_data_store.current_pipe].N)
+
+        # Probability.
+        if name == 'p':
+            return 1.0 / N
+
+        # Euler angles.
+        elif name == 'alpha' or name == 'beta' or name == 'gamma':
+            return float(index) * pi / (N+1.0)
 
 
     def disassemble_param_vector(self, param_vector=None, sim_index=None):




Related Messages


Powered by MHonArc, Updated Mon Jan 21 13:20:09 2008