Author: tlinnet Date: Mon Jun 16 22:11:56 2014 New Revision: 24007 URL: http://svn.gna.org/viewcvs/relax?rev=24007&view=rev Log: Changed the calculation of inner product in model ns cpmg 2site 3d. The out argument of numpy.dot is buggy, and should not be used. 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=24007&r1=24006&r2=24007&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 Mon Jun 16 22:11:56 2014 @@ -141,9 +141,6 @@ # The matrix R that contains all the contributions to the evolution, i.e. relaxation, exchange and chemical shift evolution. R = rcpmg_3d(R1A=r10a, R1B=r10b, R2A=R2A_si_mi, R2B=R2B_si_mi, pA=pA, pB=pB, dw=dw_si_mi, k_AB=k_AB, k_BA=k_BA) - # The essential evolution matrix. This initialises the structure. - evolution_matrix = asarray(R) * 0.0 - # Loop over the time points, back calculating the R2eff values. for di in range(num_points_si_mi): # Extract the values from the higher dimensional arrays. @@ -160,10 +157,10 @@ # The essential evolution matrix. # This is the first round. - dot(Rexpo, r180x, evolution_matrix) - dot(evolution_matrix * 1.0, Rexpo, evolution_matrix) + evolution_matrix = dot(Rexpo, r180x) + evolution_matrix = dot(evolution_matrix, Rexpo) # The second round. - dot(evolution_matrix * 1.0, evolution_matrix * 1.0, evolution_matrix) + evolution_matrix = dot(evolution_matrix, evolution_matrix ) # Loop over the CPMG elements, propagating the magnetisation. for j in range(power_si_mi_di):