Have you thought of adding profiling scripts for the 3-site dispersion models as well? This could just be the same as the 2-site models and where states B and C are identical. It should be easy and quick to duplicate one of the 2-site model scripts, duplicate all structures for both B and C states, and then call the 3-site target function instead. This would then test the speed of these changes as well, and complete the table of speed ups for all dispersion models.
Regards, Edward On 20 June 2014 17:42, <[email protected]> wrote: > Author: tlinnet > Date: Fri Jun 20 17:42:54 2014 > New Revision: 24211 > > URL: http://svn.gna.org/viewcvs/relax?rev=24211&view=rev > Log: > Started using the newly created highher dimensional Bloch-McConnell matrix > for 3-site exchange. > > 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_mmq_3site.py > > Modified: branches/disp_spin_speed/lib/dispersion/ns_mmq_3site.py > URL: > http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/lib/dispersion/ns_mmq_3site.py?rev=24211&r1=24210&r2=24211&view=diff > ============================================================================== > --- branches/disp_spin_speed/lib/dispersion/ns_mmq_3site.py (original) > +++ branches/disp_spin_speed/lib/dispersion/ns_mmq_3site.py Fri Jun 20 > 17:42:54 2014 > @@ -157,39 +157,13 @@ > # Loop over offsets: > for oi in range(NO): > # Extract parameters from array. > - r20a_i = R20A[si, mi, oi, 0] > - r20b_i = R20B[si, mi, oi, 0] > - r20c_i = R20C[si, mi, oi, 0] > - > - dw_AB_i = dw_AB[si, mi, oi, 0] > - dw_AC_i = dw_AC[si, mi, oi, 0] > - dwH_AB_i = dwH_AB[si, mi, oi, 0] > - dwH_AC_i = dwH_AC[si, mi, oi, 0] > num_points_i = num_points[si, mi, oi] > - > - # Populate the m1 and m2 matrices (only once per function > call for speed). > - rmmq_3site(matrix=m1, R20A=r20a_i, R20B=r20b_i, R20C=r20c_i, > dw_AB=-dw_AB_i - dwH_AB_i, dw_AC=-dw_AC_i - dwH_AC_i, k_AB=k_AB, k_BA=k_BA, > k_BC=k_BC, k_CB=k_CB, k_AC=k_AC, k_CA=k_CA) # D+ matrix component. > - rmmq_3site(matrix=m2, R20A=r20a_i, R20B=r20b_i, R20C=r20c_i, > dw_AB=dw_AB_i - dwH_AB_i, dw_AC=dw_AC_i - dwH_AC_i, k_AB=k_AB, k_BA=k_BA, > k_BC=k_BC, k_CB=k_CB, k_AC=k_AC, k_CA=k_CA) # Z- matrix component. > > # Loop over the time points, back calculating the R2eff > values. > for i in range(num_points_i): > - m1_mat_i = m1_mat[si, mi, oi, i] > - diff_m1 = m1*tcp[si, mi, oi, i] - m1_mat_i > - if abs(sum(diff_m1)) > 1e-5: > - print abs(sum(diff_m1)) > - print diff_m1 > - print asd > - > - m2_mat_i = m2_mat[si, mi, oi, i] > - diff_m2 = m2*tcp[si, mi, oi, i] - m2_mat_i > - if abs(sum(diff_m2)) > 1e-5: > - print abs(sum(diff_m2)) > - print diff_m2 > - print asd > - > # The M1 and M2 matrices. > - M1 = matrix_exponential(m1*tcp[si, mi, oi, i]) # > Equivalent to D+. > - M2 = matrix_exponential(m2*tcp[si, mi, oi, i]) # > Equivalent to Z-. > + M1 = matrix_exponential(m1_mat[si, mi, oi, i]) # > Equivalent to D+. > + M2 = matrix_exponential(m2_mat[si, mi, oi, i]) # > Equivalent to Z-. > > # The complex conjugates M1* and M2* > M1_star = conj(M1) # Equivalent to D+*. > > > _______________________________________________ > relax (http://www.nmr-relax.com) > > This is the relax-commits mailing list > [email protected] > > 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 _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list [email protected] 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

