mailr24163 - /branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by tlinnet on June 19, 2014 - 17:42:
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




Related Messages


Powered by MHonArc, Updated Thu Jun 19 18:00:03 2014