Author: tlinnet Date: Thu Jun 19 17:42:25 2014 New Revision: 24163 URL: http://svn.gna.org/viewcvs/relax?rev=24163&view=rev Log: Replaced the inner dot product with numpy einsum. This though slows it down from 8.5 s to 13 s. This is only as an intermediate step, how to figure to dot product inner parts of the big matrix. 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=24163&r1=24162&r2=24163&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 Thu Jun 19 17:42:25 2014 @@ -169,7 +169,7 @@ # Loop over the CPMG elements, propagating the magnetisation. for j in range(power_si_mi_di): - Mint_i = dot(evolution_matrix_i, Mint_i) + Mint_i = einsum('ij,jk', evolution_matrix_i, Mint_i) # The next lines calculate the R2eff using a two-point approximation, i.e. assuming that the decay is mono-exponential. Mx = Mint_i[1][0] / pA