Author: tlinnet Date: Wed Jun 25 02:14:46 2014 New Revision: 24300 URL: http://svn.gna.org/viewcvs/relax?rev=24300&view=rev Log: Speeded up ns cpmg 2site 3d, by preforming the magnetisation. Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis. Modified: branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py Modified: branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py URL: http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py?rev=24300&r1=24299&r2=24300&view=diff ============================================================================== --- branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py (original) +++ branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py Wed Jun 25 02:14:46 2014 @@ -308,6 +308,9 @@ # Roll axis around. evolution_matrix_T_mat = rollaxis(evolution_matrix_mat, 6, 5) + # Preform the initial magnetisation. + evolution_matrix_T_M0_mat = einsum('...ij,...jk', M0_T, evolution_matrix_T_mat) + # Loop over the spins for si in range(NS): # Loop over the spectrometer frequencies. @@ -323,13 +326,10 @@ r20a_si_mi_di = r20a[0, si, mi, 0, di] # Initial magnetisation. - Mint_T_i = M0_T[0, si, mi, 0, di] + Mint_T_i = evolution_matrix_T_M0_mat[0, si, mi, 0, di] # This matrix is a propagator that will evolve the magnetization with the matrix R for a delay tcp. evolution_matrix_T_i = evolution_matrix_T_mat[0, si, mi, 0, di] - - # Do the initial evolution. - Mint_T_i = dot(Mint_T_i, evolution_matrix_T_i) # Loop over the CPMG elements, propagating the magnetisation. for j in range(power_si_mi_di - 1):