mailr12589 - /1.3/generic_fns/diffusion_tensor.py


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

Header


Content

Posted by edward on February 19, 2011 - 15:39:
Author: bugman
Date: Sat Feb 19 15:39:47 2011
New Revision: 12589

URL: http://svn.gna.org/viewcvs/relax?rev=12589&view=rev
Log:
Fix for the diffusion tensor module.

This was also destroyed in the merger of the bmrb branch.


Modified:
    1.3/generic_fns/diffusion_tensor.py

Modified: 1.3/generic_fns/diffusion_tensor.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/generic_fns/diffusion_tensor.py?rev=12589&r1=12588&r2=12589&view=diff
==============================================================================
--- 1.3/generic_fns/diffusion_tensor.py (original)
+++ 1.3/generic_fns/diffusion_tensor.py Sat Feb 19 15:39:47 2011
@@ -26,8 +26,9 @@
 # Python module imports.
 from copy import deepcopy
 from math import cos, pi, sin
-from numpy.linalg import eig, norm
 from numpy import cross, float64, int32, ones, transpose, zeros
+from numpy.linalg import norm, svd
+from operator import itemgetter
 from re import search
 import string
 
@@ -1754,17 +1755,27 @@
     """
 
     # Eigenvalues.
-    Di, R = eig(tensor)
+    R, Di, A = svd(tensor)
+    D_diag = zeros((3, 3), float64)
+    for i in range(3):
+        D_diag[i, i] = Di[i]
 
     # Reordering structure.
+    tup_struct = []
+    for i in range(3):
+        tup_struct.append((i, Di[i]))
+
+    # The indices.
+    reorder_data = sorted(tup_struct, key=itemgetter(1))
     reorder = zeros(3, int)
-    Di_sort = sorted(Di)
-    Di = Di.tolist()
+    Di_sort = zeros(3, float)
+    for i in range(3):
+        reorder[i], Di_sort[i] = reorder_data[i]
+
+    # Reorder columns.
     R_new = zeros((3, 3), float64)
-
-    # Reorder columns.
     for i in range(3):
-        R_new[:, i] = R[:, Di.index(Di_sort[i])]
+        R_new[:, i] = R[:, reorder[i]]
 
     # Switch from the left handed to right handed universes (if needed).
     if norm(cross(R_new[:, 0], R_new[:, 1]) - R_new[:, 2]) > 1e-7:




Related Messages


Powered by MHonArc, Updated Sat Feb 19 16:00:02 2011