Author: tlinnet Date: Fri Aug 1 18:09:39 2014 New Revision: 24911 URL: http://svn.gna.org/viewcvs/relax?rev=24911&view=rev Log: Replaced all matrix_exponential functions in numerical models to use the new general matrix_exponential function. Modified: trunk/lib/dispersion/ns_cpmg_2site_3d.py trunk/lib/dispersion/ns_cpmg_2site_star.py trunk/lib/dispersion/ns_mmq_2site.py trunk/lib/dispersion/ns_mmq_3site.py trunk/lib/dispersion/ns_r1rho_3site.py Modified: trunk/lib/dispersion/ns_cpmg_2site_3d.py URL: http://svn.gna.org/viewcvs/relax/trunk/lib/dispersion/ns_cpmg_2site_3d.py?rev=24911&r1=24910&r2=24911&view=diff ============================================================================== --- trunk/lib/dispersion/ns_cpmg_2site_3d.py (original) +++ trunk/lib/dispersion/ns_cpmg_2site_3d.py Fri Aug 1 18:09:39 2014 @@ -61,7 +61,7 @@ # relax module imports. from lib.float import isNaN -from lib.dispersion.matrix_exponential import matrix_exponential_rank_NE_NS_NM_NO_ND_x_x +from lib.dispersion.matrix_exponential import matrix_exponential # Repetitive calculations (to speed up calculations). m_r10a = array([ @@ -296,7 +296,7 @@ R_mat = rcpmg_3d_rankN(R1A=r10a, R1B=r10b, R2A=r20a, R2B=r20b, pA=pA, pB=pB, dw=dw, k_AB=k_AB, k_BA=k_BA, tcp=tcp) # This matrix is a propagator that will evolve the magnetization with the matrix R for a delay tcp. - Rexpo_mat = matrix_exponential_rank_NE_NS_NM_NO_ND_x_x(R_mat) + Rexpo_mat = matrix_exponential(R_mat) # The the essential evolution matrix. # This is a dot product of the outer [7][7] matrix of the Rexpo_mat and r180x matrixes, which Modified: trunk/lib/dispersion/ns_cpmg_2site_star.py URL: http://svn.gna.org/viewcvs/relax/trunk/lib/dispersion/ns_cpmg_2site_star.py?rev=24911&r1=24910&r2=24911&view=diff ============================================================================== --- trunk/lib/dispersion/ns_cpmg_2site_star.py (original) +++ trunk/lib/dispersion/ns_cpmg_2site_star.py Fri Aug 1 18:09:39 2014 @@ -63,7 +63,7 @@ # relax module imports. from lib.float import isNaN -from lib.dispersion.matrix_exponential import matrix_exponential_rank_NE_NS_NM_NO_ND_x_x +from lib.dispersion.matrix_exponential import matrix_exponential # Repetitive calculations (to speed up calculations). m_r20a = array([ @@ -223,8 +223,8 @@ # The the essential evolution matrix. # This matrix is a propagator that will evolve the magnetization with the matrix R for a delay tcp. - eR_mat = matrix_exponential_rank_NE_NS_NM_NO_ND_x_x(R_mat) - ecR2_mat = matrix_exponential_rank_NE_NS_NM_NO_ND_x_x(cR2_mat) + eR_mat = matrix_exponential(R_mat) + ecR2_mat = matrix_exponential(cR2_mat) # Preform the matrix. # This is the propagator for an element of [delay tcp; 180 deg pulse; 2 times delay tcp; 180 deg pulse; delay tau], i.e. for 2 times tau-180-tau. Modified: trunk/lib/dispersion/ns_mmq_2site.py URL: http://svn.gna.org/viewcvs/relax/trunk/lib/dispersion/ns_mmq_2site.py?rev=24911&r1=24910&r2=24911&view=diff ============================================================================== --- trunk/lib/dispersion/ns_mmq_2site.py (original) +++ trunk/lib/dispersion/ns_mmq_2site.py Fri Aug 1 18:09:39 2014 @@ -56,7 +56,7 @@ # relax module imports. from lib.float import isNaN -from lib.dispersion.matrix_exponential import matrix_exponential_rank_NS_NM_NO_ND_x_x +from lib.dispersion.matrix_exponential import matrix_exponential # Repetitive calculations (to speed up calculations). m_r20a = array([ @@ -192,9 +192,9 @@ # The M1 and M2 matrices. # Equivalent to D+. - M1_mat = matrix_exponential_rank_NS_NM_NO_ND_x_x(m1_mat, dtype=complex64) + M1_mat = matrix_exponential(m1_mat, dtype=complex64) # Equivalent to Z-. - M2_mat = matrix_exponential_rank_NS_NM_NO_ND_x_x(m2_mat, dtype=complex64) + M2_mat = matrix_exponential(m2_mat, dtype=complex64) # The complex conjugates M1* and M2* # Equivalent to D+*. @@ -351,8 +351,8 @@ m2_mat = rmmq_2site_rankN(R20A=R20A, R20B=R20B, dw=-dw, k_AB=k_AB, k_BA=k_BA, tcp=tcp) # The A+/- matrices. - A_pos_mat = matrix_exponential_rank_NS_NM_NO_ND_x_x(m1_mat, dtype=complex64) - A_neg_mat = matrix_exponential_rank_NS_NM_NO_ND_x_x(m2_mat, dtype=complex64) + A_pos_mat = matrix_exponential(m1_mat, dtype=complex64) + A_neg_mat = matrix_exponential(m2_mat, dtype=complex64) # The evolution for one n. evol_block_mat = einsum('...ij, ...jk', A_neg_mat, A_pos_mat) Modified: trunk/lib/dispersion/ns_mmq_3site.py URL: http://svn.gna.org/viewcvs/relax/trunk/lib/dispersion/ns_mmq_3site.py?rev=24911&r1=24910&r2=24911&view=diff ============================================================================== --- trunk/lib/dispersion/ns_mmq_3site.py (original) +++ trunk/lib/dispersion/ns_mmq_3site.py Fri Aug 1 18:09:39 2014 @@ -62,7 +62,7 @@ # relax module imports. from lib.float import isNaN -from lib.dispersion.matrix_exponential import matrix_exponential_rank_NS_NM_NO_ND_x_x +from lib.dispersion.matrix_exponential import matrix_exponential # Repetitive calculations (to speed up calculations). # R20. @@ -294,9 +294,9 @@ # The M1 and M2 matrices. # Equivalent to D+. - M1_mat = matrix_exponential_rank_NS_NM_NO_ND_x_x(m1_mat) + M1_mat = matrix_exponential(m1_mat) # Equivalent to Z-. - M2_mat = matrix_exponential_rank_NS_NM_NO_ND_x_x(m2_mat) + M2_mat = matrix_exponential(m2_mat) # The complex conjugates M1* and M2* # Equivalent to D+*. @@ -477,8 +477,8 @@ m2_mat = rmmq_3site_rankN(R20A=R20A, R20B=R20B, R20C=R20C, dw_AB=-dw_AB, dw_AC=-dw_AC, k_AB=k_AB, k_BA=k_BA, k_BC=k_BC, k_CB=k_CB, k_AC=k_AC, k_CA=k_CA, tcp=tcp) # The A+/- matrices. - A_pos_mat = matrix_exponential_rank_NS_NM_NO_ND_x_x(m1_mat) - A_neg_mat = matrix_exponential_rank_NS_NM_NO_ND_x_x(m2_mat) + A_pos_mat = matrix_exponential(m1_mat) + A_neg_mat = matrix_exponential(m2_mat) # The evolution for one n. evol_block_mat = einsum('...ij, ...jk', A_neg_mat, A_pos_mat) Modified: trunk/lib/dispersion/ns_r1rho_3site.py URL: http://svn.gna.org/viewcvs/relax/trunk/lib/dispersion/ns_r1rho_3site.py?rev=24911&r1=24910&r2=24911&view=diff ============================================================================== --- trunk/lib/dispersion/ns_r1rho_3site.py (original) +++ trunk/lib/dispersion/ns_r1rho_3site.py Fri Aug 1 18:09:39 2014 @@ -60,7 +60,7 @@ from numpy.ma import fix_invalid, masked_less # relax module imports. -from lib.dispersion.matrix_exponential import matrix_exponential_rank_NE_NS_NM_NO_ND_x_x +from lib.dispersion.matrix_exponential import matrix_exponential # Repetitive calculations (to speed up calculations). m_R1 = array([ @@ -349,7 +349,7 @@ R_mat = rr1rho_3d_3site_rankN(R1=r1, r1rho_prime=r1rho_prime, omega=omega, offset=offset, dw_AB=dw_AB, dw_AC=dw_AC, w1=spin_lock_fields, k_AB=k_AB, k_BA=k_BA, k_BC=k_BC, k_CB=k_CB, k_AC=k_AC, k_CA=k_CA, relax_time=relax_time) # This matrix is a propagator that will evolve the magnetization with the matrix R. - Rexpo_mat = matrix_exponential_rank_NE_NS_NM_NO_ND_x_x(R_mat) + Rexpo_mat = matrix_exponential(R_mat) # Magnetization evolution. Rexpo_M0_mat = einsum('...ij, ...jk', Rexpo_mat, M0)