Hi Troels,
I have been looking at profiling the 'NS R1rho 2-site' model as I
would like to see what happens with the change:
Index: lib/dispersion/ns_r1rho_2site.py
===================================================================
--- lib/dispersion/ns_r1rho_2site.py (revision 25225)
+++ lib/dispersion/ns_r1rho_2site.py (working copy)
@@ -233,11 +233,8 @@
Rexpo_mat = matrix_exponential(R_mat)
# Magnetization evolution.
- Rexpo_M0_mat = einsum('...ij, ...jk', Rexpo_mat, M0)
+ MA_mat = einsum('...ij, ...jk, ...kl', M0_T, Rexpo_mat, M0)[:, :,
:, :, :, 0, 0]
- # Magnetization evolution, which include all dimensions.
- MA_mat = einsum('...ij, ...jk', M0_T, Rexpo_M0_mat)[:, :, :, :, :, 0,
0]
-
# Insert safe checks.
if min(MA_mat) < 0.0:
mask_min_MA_mat = masked_less(MA_mat, 0.0)
This change appears to work and might make things faster, but the
profiling scripts no longer work due to the relax_times data structure
changes. I don't know how we would fix this so that it continues to
run on older relax versions as well as the current version with the
relax_times structure updated. Maybe we could create 2 relax_times
data structures, and then decide which is best based on the
Dispersion.__init__.__doc__ contents. What do you think? I will
probably rerun the full profiling disp_profile_all.py script before
releasing relax 3.3.0, as the timings are now out of date.
Cheers,
Edward
P. S. I thought of this change while trying to work out why different
T_relax values cause this module to return different R1rho values!
Strange.
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-devel mailing list
relax-devel@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-devel