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@gna.org

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

Reply via email to