Author: bugman Date: Fri Jun 19 15:57:11 2009 New Revision: 9099 URL: http://svn.gna.org/viewcvs/relax?rev=9099&view=rev Log: Created the compile_2nd_matrix_iso_cone() function for building the 2nd degree Frame Order matrix. Modified: branches/frame_order/maths_fns/frame_order_matrix_ops.py Modified: branches/frame_order/maths_fns/frame_order_matrix_ops.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order/maths_fns/frame_order_matrix_ops.py?rev=9099&r1=9098&r2=9099&view=diff ============================================================================== --- branches/frame_order/maths_fns/frame_order_matrix_ops.py (original) +++ branches/frame_order/maths_fns/frame_order_matrix_ops.py Fri Jun 19 15:57:11 2009 @@ -25,6 +25,31 @@ # Python module imports. from math import cos + + + +def compile_2nd_matrix_iso_cone(matrix, R_kron, theta): + """Generate the rotated 2nd degree Frame Order matrix. + + @param matrix: The Frame Order matrix, 2nd degree. + @type matrix: numpy 9D, rank-2 array + @param R_kron: The 2nd degree Kronecker product of the rotation. + @type R_kron: numpy 9D, rank-2 array + @param theta: The cone angle in radians. + @type theta: float + """ + + # Populate the Frame Order matrix in the eigenframe. + populate_2nd_eigenframe_iso_cone(matrix, theta) + + # Perform the T14 transpose to obtain the Kronecker product matrix! + matrix = transpose_14(matrix) + + # Rotate. + matrix = dot(R_kron, dot(matrix, transpose(R_kron))) + + # Perform T14 again to return back. + matrix = transpose_14(matrix) def populate_1st_eigenframe_iso_cone(matrix, angle):