Author: tlinnet
Date: Thu Jun 19 17:41:49 2014
New Revision: 24153
URL: http://svn.gna.org/viewcvs/relax?rev=24153&view=rev
Log:
Shifted the computation of Rexpo two loops up.
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=24153&r1=24152&r2=24153&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:41:49 2014
@@ -128,21 +128,15 @@
# Extract the total numbers of experiments, number of spins, number of
magnetic field strength, number of offsets, maximum number of dispersion
point.
NE, NS, NM, NO, ND = back_calc.shape
+ # The matrix R that contains all the contributions to the evolution,
i.e. relaxation, exchange and chemical shift evolution.
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)
# Loop over the spins
for si in range(NS):
# Loop over the spectrometer frequencies.
for mi in range(NM):
-
- # Extract the values from the higher dimensional arrays.
- R2A_si_mi = r20a[0, si, mi, 0, 0]
- R2B_si_mi = r20b[0, si, mi, 0, 0]
- dw_si_mi = dw[0, si, mi, 0, 0]
+ # Extract number of points.
num_points_si_mi = int(num_points[0, si, mi, 0])
-
- # 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)
# Loop over the time points, back calculating the R2eff values.
for di in range(num_points_si_mi):
@@ -156,22 +150,9 @@
Mint = M0
# This matrix is a propagator that will evolve the
magnetization with the matrix R for a delay tcp.
- R_tcp = R*tcp_si_mi_di
R_mat_i = R_mat[0, si, mi, 0, di]
- # Test if they are equal.
- diff = R_tcp - R_mat_i
- if abs(sum(diff)) > 1.e-14:
- import sys
- print "oh no"
- print R_tcp
- print R_mat_i
- print diff
- print abs(sum(diff))
- print si, mi, di
- sys.exit()
-
- Rexpo = matrix_exponential(R_tcp)
+ Rexpo = matrix_exponential(R_mat_i)
# The essential evolution matrix.
# This is the first round.
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
relax-commits@xxxxxxx
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits