I can see no way of removing this dependence in the numeric models, at
least for now.  The keyword argument type in the docstrings need a
good cleaning up though:

[edward@localhost disp_spin_speed]$ grep -r "@type num_points" lib/dispersion/*
lib/dispersion/lm63_3site.py:    @type num_points:       int
lib/dispersion/ns_cpmg_2site_3d.py:    @type num_points:       numpy
int array of rank [NE][NS][[NM][NO]
lib/dispersion/ns_cpmg_2site_star.py:    @type num_points:       numpy
int array of rank [NE][NS][[NM][NO]
lib/dispersion/ns_mmq_2site.py:    @type num_points:       numpy int
array of rank [NS][[NM][NO][ND]
lib/dispersion/ns_mmq_2site.py:    @type num_points:       numpy int
array of rank [NS][[NM][NO]
lib/dispersion/ns_mmq_3site.py:    @type num_points:       int
lib/dispersion/ns_mmq_3site.py:    @type num_points:       int
lib/dispersion/ns_r1rho_2site.py:    @type num_points:           int
lib/dispersion/ns_r1rho_3site.py:    @type num_points:           int

There is an extra "[" character and ND is present in one function.
The ND here is what confused me about the structure of the num_point
numpy array.

Cheers,

Edward






On 17 June 2014 09:41, Troels Emtekær Linnet <[email protected]> wrote:
> tlinnet@linmac:dispersion$ grep -r "@keyword num_points" . | grep -v ".pyc"
> | awk '{print $1}'
> ./lm63_3site.py:
> ./ns_cpmg_2site_3d.py:
> ./ns_cpmg_2site_star.py:
> ./ns_mmq_2site.py:
> ./ns_mmq_2site.py:
> ./ns_mmq_3site.py:
> ./ns_mmq_3site.py:
> ./ns_r1rho_2site.py:
> ./ns_r1rho_3site.py:
>
>
>
> 2014-06-17 9:40 GMT+02:00 Troels Emtekær Linnet <[email protected]>:
>
>> tlinnet@linmac:dispersion$ grep -r "@keyword num_points" . | grep -v
>> ".pyc"
>>
>>
>> ./lm63_3site.py:    @keyword num_points:    The number of points on the
>> dispersion curve, equal to the length of the cpmg_frqs and back_calc
>> arguments.
>> ./ns_cpmg_2site_3d.py:    @keyword num_points:    The number of points on
>> the dispersion curve, equal to the length of the tcp and back_calc
>> arguments.
>> ./ns_cpmg_2site_star.py:    @keyword num_points:    The number of points
>> on the dispersion curve, equal to the length of the tcp and back_calc
>> arguments.
>> ./ns_mmq_2site.py:    @keyword num_points:    The number of points on the
>> dispersion curve, equal to the length of the tcp and back_calc arguments.
>> ./ns_mmq_2site.py:    @keyword num_points:    The number of points on the
>> dispersion curve, equal to the length of the tcp and back_calc arguments.
>> ./ns_mmq_3site.py:    @keyword num_points:    The number of points on the
>> dispersion curve, equal to the length of the tcp and back_calc arguments.
>> ./ns_mmq_3site.py:    @keyword num_points:    The number of points on the
>> dispersion curve, equal to the length of the tcp and back_calc arguments.
>> ./ns_r1rho_2site.py:    @keyword num_points:        The number of points
>> on the dispersion curve, equal to the length of the tcp and back_calc
>> arguments.
>> ./ns_r1rho_3site.py:    @keyword num_points:        The number of points
>> on the dispersion curve, equal to the length of the tcp and back_calc
>> arguments.
>>
>>
>>
>> 2014-06-17 9:39 GMT+02:00 Troels Emtekær Linnet <[email protected]>:
>>
>>> Hi Ed.
>>>
>>> The original was indeed [ei][si][mi][oi].
>>> This gives much more sense.
>>>
>>> The number of dispersion points is only used in the numerical models.
>>>
>>> They are only needed for looping over power, to evolve the matrix.
>>>
>>> They should have been removed from all analytical models.
>>>
>>> Best
>>> Troels
>>>
>>>
>>>
>>>
>>> 2014-06-17 9:26 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>>
>>>> Hi,
>>>>
>>>> What were the original indices in "num_points[0][si][mi][0][0]"?  Were
>>>> they [ei][si][mi][oi][di]?  I guess the di index is dropped as the
>>>> dimensionality of that index is now stored in the oi index.  It might
>>>> be worth updating the lib.dispersion docstrings to remove the [ND]
>>>> part in describing the num_points argument.  The structure is now
>>>> rank-4 rather than rank-5.
>>>>
>>>> Cheers,
>>>>
>>>> Edward
>>>>
>>>>
>>>>
>>>> > The number of offsets and cpmg points has been lowered 2 and 1
>>>> > dimension.
>>>> > This one actually tells the number of dispersion point at offset
>>>> > dimension
>>>> > 0.
>>>> > That 0 can be changed to oi later.
>>>> >
>>>> > Best
>>>> > Troels
>>>> >
>>>> >
>>>> >
>>>> > 2014-06-16 19:21 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>>> >>
>>>> >> Hi Troels,
>>>> >>
>>>> >> There is something that worries me in this change, specifically:
>>>> >>
>>>> >> -            num_points_si_mi = int(num_points[0][si][mi][0][0])
>>>> >> +            num_points_si_mi = int(num_points[0][si][mi][0])
>>>> >>
>>>> >> This is in the numeric models for CPMG-type data.  Have you dropped
>>>> >> the offset dimension?  Note that the offset dimension will be
>>>> >> essential when the first point in the TODO list in the dispersion
>>>> >> chapter is implemented - the handling of offsets in the CPMG
>>>> >> experiments
>>>> >>
>>>> >> (http://www.nmr-relax.com/manual/do_dispersion_features_yet_be_implemented.html).
>>>> >>
>>>> >> Regards,
>>>> >>
>>>> >> Edward
>>>> >>
>>>> >>
>>>> >>
>>>> >> On 16 June 2014 19:01,  <[email protected]> wrote:
>>>> >> > Author: tlinnet
>>>> >> > Date: Mon Jun 16 19:01:36 2014
>>>> >> > New Revision: 23989
>>>> >> >
>>>> >> > URL: http://svn.gna.org/viewcvs/relax?rev=23989&view=rev
>>>> >> > Log:
>>>> >> > Various index fixes, after the data structures have been reordered.
>>>> >> >
>>>> >> > 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
>>>> >> >     branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_star.py
>>>> >> >     branches/disp_spin_speed/lib/dispersion/ns_mmq_2site.py
>>>> >> >     branches/disp_spin_speed/lib/dispersion/ns_mmq_3site.py
>>>> >> >     branches/disp_spin_speed/lib/dispersion/ns_r1rho_2site.py
>>>> >> >     branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.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=23989&r1=23988&r2=23989&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 Mon
>>>> >> > Jun
>>>> >> > 16 19:01:36 2014
>>>> >> > @@ -136,7 +136,7 @@
>>>> >> >              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]
>>>> >> > -            num_points_si_mi = int(num_points[0][si][mi][0][0])
>>>> >> > +            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)
>>>> >> >
>>>> >> > Modified:
>>>> >> > branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_star.py
>>>> >> > URL:
>>>> >> >
>>>> >> > http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_star.py?rev=23989&r1=23988&r2=23989&view=diff
>>>> >> >
>>>> >> >
>>>> >> > ==============================================================================
>>>> >> > --- branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_star.py
>>>> >> > (original)
>>>> >> > +++ branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_star.py
>>>> >> > Mon Jun 16 19:01:36 2014
>>>> >> > @@ -145,7 +145,7 @@
>>>> >> >              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]
>>>> >> > -            num_points_si_mi = int(num_points[0][si][mi][0][0])
>>>> >> > +            num_points_si_mi = int(num_points[0][si][mi][0])
>>>> >> >
>>>> >> >              # The matrix that contains only the R2 relaxation
>>>> >> > terms
>>>> >> > ("Redfield relaxation", i.e. non-exchange broadening).
>>>> >> >              Rr[0, 0] = -R2A_si_mi
>>>> >> >
>>>> >> > 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=23989&r1=23988&r2=23989&view=diff
>>>> >> >
>>>> >> >
>>>> >> > ==============================================================================
>>>> >> > --- branches/disp_spin_speed/lib/dispersion/ns_mmq_2site.py
>>>> >> > (original)
>>>> >> > +++ branches/disp_spin_speed/lib/dispersion/ns_mmq_2site.py     Mon
>>>> >> > Jun
>>>> >> > 16 19:01:36 2014
>>>> >> > @@ -216,7 +216,7 @@
>>>> >> >          if Mx <= 0.0 or isNaN(Mx):
>>>> >> >              back_calc[i] = 1e99
>>>> >> >          else:
>>>> >> > -            back_calc[i]= -inv_tcpmg * log(Mx / pA)
>>>> >> > +            back_calc[i]= -inv_tcpmg[i] * log(Mx / pA)
>>>> >> >
>>>> >> >
>>>> >> >  def r2eff_ns_mmq_2site_sq_dq_zq(M0=None, F_vector=array([1, 0],
>>>> >> > float64), m1=None, m2=None, R20A=None, R20B=None, pA=None, pB=None,
>>>> >> > dw=None,
>>>> >> > dwH=None, k_AB=None, k_BA=None, inv_tcpmg=None, tcp=None,
>>>> >> > back_calc=None,
>>>> >> > num_points=None, power=None):
>>>> >> > @@ -287,4 +287,4 @@
>>>> >> >          if Mx <= 0.0 or isNaN(Mx):
>>>> >> >              back_calc[i] = 1e99
>>>> >> >          else:
>>>> >> > -            back_calc[i] = -inv_tcpmg * log(Mx / pA)
>>>> >> > +            back_calc[i] = -inv_tcpmg[i] * log(Mx / pA)
>>>> >> >
>>>> >> > 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=23989&r1=23988&r2=23989&view=diff
>>>> >> >
>>>> >> >
>>>> >> > ==============================================================================
>>>> >> > --- branches/disp_spin_speed/lib/dispersion/ns_mmq_3site.py
>>>> >> > (original)
>>>> >> > +++ branches/disp_spin_speed/lib/dispersion/ns_mmq_3site.py     Mon
>>>> >> > Jun
>>>> >> > 16 19:01:36 2014
>>>> >> > @@ -259,7 +259,7 @@
>>>> >> >          if Mx <= 0.0 or isNaN(Mx):
>>>> >> >              back_calc[i] = 1e99
>>>> >> >          else:
>>>> >> > -            back_calc[i]= -inv_tcpmg * log(Mx / pA)
>>>> >> > +            back_calc[i]= -inv_tcpmg[i] * log(Mx / pA)
>>>> >> >
>>>> >> >
>>>> >> >  def r2eff_ns_mmq_3site_sq_dq_zq(M0=None, F_vector=array([1, 0, 0],
>>>> >> > float64), m1=None, m2=None, R20A=None, R20B=None, R20C=None,
>>>> >> > pA=None,
>>>> >> > pB=None, pC=None, dw_AB=None, dw_AC=None, dwH_AB=None, dwH_AC=None,
>>>> >> > k_AB=None, k_BA=None, k_BC=None, k_CB=None, k_AC=None, k_CA=None,
>>>> >> > inv_tcpmg=None, tcp=None, back_calc=None, num_points=None,
>>>> >> > power=None):
>>>> >> > @@ -338,4 +338,4 @@
>>>> >> >          if Mx <= 0.0 or isNaN(Mx):
>>>> >> >              back_calc[i] = 1e99
>>>> >> >          else:
>>>> >> > -            back_calc[i] = -inv_tcpmg * log(Mx / pA)
>>>> >> > +            back_calc[i] = -inv_tcpmg[i] * log(Mx / pA)
>>>> >> >
>>>> >> > Modified: branches/disp_spin_speed/lib/dispersion/ns_r1rho_2site.py
>>>> >> > URL:
>>>> >> >
>>>> >> > http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/lib/dispersion/ns_r1rho_2site.py?rev=23989&r1=23988&r2=23989&view=diff
>>>> >> >
>>>> >> >
>>>> >> > ==============================================================================
>>>> >> > --- branches/disp_spin_speed/lib/dispersion/ns_r1rho_2site.py
>>>> >> > (original)
>>>> >> > +++ branches/disp_spin_speed/lib/dispersion/ns_r1rho_2site.py   Mon
>>>> >> > Jun
>>>> >> > 16 19:01:36 2014
>>>> >> > @@ -117,7 +117,7 @@
>>>> >> >          M0[2] = cos(theta)    # The A state initial Z
>>>> >> > magnetisation.
>>>> >> >
>>>> >> >          # This matrix is a propagator that will evolve the
>>>> >> > magnetization with the matrix R.
>>>> >> > -        Rexpo = matrix_exponential(matrix*relax_time)
>>>> >> > +        Rexpo = matrix_exponential(matrix*relax_time[i])
>>>> >> >
>>>> >> >          # Magnetization evolution.
>>>> >> >          MA = dot(M0, dot(Rexpo, M0))
>>>> >> > @@ -126,6 +126,6 @@
>>>> >> >          if MA <= 0.0 or isNaN(MA):
>>>> >> >              back_calc[i] = 1e99
>>>> >> >          else:
>>>> >> > -            back_calc[i]= -inv_relax_time * log(MA)
>>>> >> > +            back_calc[i]= -inv_relax_time[i] * log(MA)
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> > Modified: branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py
>>>> >> > URL:
>>>> >> >
>>>> >> > http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py?rev=23989&r1=23988&r2=23989&view=diff
>>>> >> >
>>>> >> >
>>>> >> > ==============================================================================
>>>> >> > --- branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py
>>>> >> > (original)
>>>> >> > +++ branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py   Mon
>>>> >> > Jun
>>>> >> > 16 19:01:36 2014
>>>> >> > @@ -146,4 +146,4 @@
>>>> >> >          if MA <= 0.0 or isNaN(MA):
>>>> >> >              back_calc[i] = 1e99
>>>> >> >          else:
>>>> >> > -            back_calc[i]= -inv_relax_time * log(MA)
>>>> >> > +            back_calc[i]= -inv_relax_time[i] * log(MA)
>>>> >> >
>>>> >> >
>>>> >> > _______________________________________________
>>>> >> > 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
>>>> >
>>>> >
>>>
>>>
>>
>

_______________________________________________
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