Hi,

These really should all be numpy.complex128 - the double precision
complex floats.  Setting this to numpy.complex64 drops the accuracy to
single precision which may introduce truncation artefacts.  Note
though that if all data structures in a dispersion model can be
converted from double to single precision, that the speed of that
model should be significantly faster.

Regards,

Edward



On 20 June 2014 12:00,  <[email protected]> wrote:
> Author: tlinnet
> Date: Fri Jun 20 12:00:15 2014
> New Revision: 24200
>
> URL: http://svn.gna.org/viewcvs/relax?rev=24200&view=rev
> Log:
> Force complex64 in ns_mmq_2site_mq.
>
> This solves all systemtests.
>
> Forcing to be complex64, does not seems like a long standing solution, since
> complex128 is possible.
>
> 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_2site.py
>
> Modified: branches/disp_spin_speed/lib/dispersion/ns_mmq_2site.py
> URL: 
> http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/lib/dispersion/ns_mmq_2site.py?rev=24200&r1=24199&r2=24200&view=diff
> ==============================================================================
> --- branches/disp_spin_speed/lib/dispersion/ns_mmq_2site.py     (original)
> +++ branches/disp_spin_speed/lib/dispersion/ns_mmq_2site.py     Fri Jun 20 
> 12:00:15 2014
> @@ -213,9 +213,9 @@
>
>      # Populate the m1 and m2 matrices (only once per function call for 
> speed).
>      # D+ matrix component.
> -    m1_mat = populate_matrix_rankN(R20A=R20A, R20B=R20B, dw=-dw - dwH, 
> k_AB=k_AB, k_BA=k_BA, tcp=tcp)
> +    m1_mat = populate_matrix_rankN(R20A=R20A, R20B=R20B, dw=-dw - dwH, 
> k_AB=k_AB, k_BA=k_BA, tcp=tcp).astype(complex64)
>      # Z- matrix component.
> -    m2_mat = populate_matrix_rankN(R20A=R20A, R20B=R20B, dw=dw - dwH, 
> k_AB=k_AB, k_BA=k_BA, tcp=tcp)
> +    m2_mat = populate_matrix_rankN(R20A=R20A, R20B=R20B, dw=dw - dwH, 
> k_AB=k_AB, k_BA=k_BA, tcp=tcp).astype(complex64)
>
>      # The M1 and M2 matrices.
>      # Equivalent to D+.
> @@ -239,24 +239,17 @@
>
>                  # 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]
> -                    m2_mat_i = m2_mat[si, mi, oi, i]
> -
>                      # The M1 and M2 matrices.
>                      # Equivalent to D+.
> -                    #M1_i = M1_mat[si, mi, oi, i]
> -                    M1_i = matrix_exponential(m1_mat_i)    # Equivalent to 
> D+.
> +                    M1_i = M1_mat[si, mi, oi, i]
>                      # Equivalent to Z-.
> -                    #M2_i = M1_mat[si, mi, oi, i]
> -                    M2_i = matrix_exponential(m2_mat_i)    # Equivalent to 
> Z-.
> +                    M2_i = M1_mat[si, mi, oi, i]
>
>                      # The complex conjugates M1* and M2*
>                      # Equivalent to D+*.
> -                    #M1_star_i = M1_mat_star[si, mi, oi, i]
> -                    M1_star_i = conj(M1_i)    # Equivalent to D+*.
> +                    M1_star_i = M1_mat_star[si, mi, oi, i]
>                      # Equivalent to Z-*.
> -                    #M2_star_i = M2_mat_star[si, mi, oi, i]
> -                    M2_star_i = conj(M2_i)    # Equivalent to Z-*.
> +                    M2_star_i = M2_mat_star[si, mi, oi, i]
>
>                      # Repetitive dot products (minimised for speed).
>                      M1_M2 = dot(M1_i, M2_i)
>
>
> _______________________________________________
> 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

Reply via email to