That would be the correct behaviour without optimisation.  Hmmm, what
was pB set to in this case originally?  Maybe we need to set pB to 0
to start with, and then let it optimise away from this.  What do you
think?

Regards,

Edward



On 19 August 2014 18:06, Troels Emtekær Linnet <[email protected]> wrote:
> Hi Edward.
>
> 'r2', 'pA', 'dw', 'kex'
>
> I then read this as:
>
>         self.assertEqual(par_dic['r2'], 'r2')
>         self.assertEqual(par_dic['pA'], 'pA')
>         self.assertEqual(par_dic['dw_AB'], 'dw')
>         self.assertEqual(par_dic['kex_AB'], 'kex')
>         self.assertEqual(par_dic['pB'], None)
>         self.assertEqual(par_dic['dw_BC'], 'dw')
>         self.assertEqual(par_dic['kex_BC'], 'kex')
>         self.assertEqual(par_dic['kex_AC'], 'kex')
>
> Best
> Troels
>
> 2014-08-19 17:42 GMT+02:00 Edward d'Auvergne <[email protected]>:
>> Hi,
>>
>> I saw that the code has evolved to do this.  The original idea and
>> implementation was to set states B and C to the same values of the
>> 2-state model parameters and then let them drift apart.  This was
>> mentioned in the manual.  This is not great, but the alternative of
>> performing a grid search on 'dw_AB', 'kex_AB', 'pB', 'dw_BC',
>> 'kex_BC', 'kex_AC' is worse - this grid search is just impossibly long
>> if you choose a reasonable number of grid increments.  Being a
>> multi-minima problem also invalidates this.  The grid search and local
>> optimisation is only for single minimum problems.  When multiple
>> minima are present, then global algorithms are required (the main ones
>> are simulated annealing and genetic algorithms, neither of which are
>> present in minfx yet and hence relax).  Therefore setting B and C to
>> the same thing is not too unreasonable considering the alternative
>> issues.
>>
>> The same thing was done for the '* full' models.  The value of R20 was
>> copied to R20A and R20B and then the two allowed to drift apart.  This
>> is also an incredibly difficult optimisation problem with possible
>> multiple minima.
>>
>> There is no perfect solution for the R20A != R20B or 3-site models yet.
>>
>> Regards,
>>
>> Edward
>>
>>
>>
>> On 19 August 2014 17:21, Troels Emtekær Linnet <[email protected]> wrote:
>>> Hi Edward.
>>>
>>>
>>> Just to confirm.
>>>
>>> If the model is: MODEL_PARAMS_NS_R1RHO_3SITE
>>> And the nested model is: MODEL_PARAMS_NS_R1RHO_2SITE
>>>
>>> The possible parameters for conversion are:
>>>         self.assertEqual(par_dic['r2'], 'r2')
>>>         self.assertEqual(par_dic['pA'], 'pA')
>>>         self.assertEqual(par_dic['dw_AB'], None)
>>>         self.assertEqual(par_dic['kex_AB'], None)
>>>         self.assertEqual(par_dic['pB'], None)
>>>         self.assertEqual(par_dic['dw_BC'], None)
>>>         self.assertEqual(par_dic['kex_BC'], None)
>>>         self.assertEqual(par_dic['kex_AC'], None)
>>>
>>> This means, that MODEL_PARAMS_NS_R1RHO_3SITE would start to Grid Search:
>>> 'dw_AB', 'kex_AB', 'pB', 'dw_BC', 'kex_BC', 'kex_AC'
>>>
>>> Do we agree on this?
>>>
>>> Best
>>> Troels
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From:  <[email protected]>
>>> Date: 2014-08-19 16:07 GMT+02:00
>>> Subject: r25077 - /trunk/docs/latex/dispersion.tex
>>> To: [email protected]
>>>
>>>
>>> Author: bugman
>>> Date: Tue Aug 19 16:07:37 2014
>>> New Revision: 25077
>>>
>>> URL: http://svn.gna.org/viewcvs/relax?rev=25077&view=rev
>>> Log:
>>> Added a table for dispersion model nesting in the auto-analysis to the 
>>> manual.
>>>
>>> This adds the ideas discussed in the thread
>>> http://thread.gmane.org/gmane.science.nmr.relax.devel/6684.
>>>
>>>
>>> Modified:
>>>     trunk/docs/latex/dispersion.tex
>>>
>>> Modified: trunk/docs/latex/dispersion.tex
>>> URL: 
>>> http://svn.gna.org/viewcvs/relax/trunk/docs/latex/dispersion.tex?rev=25077&r1=25076&r2=25077&view=diff
>>> ==============================================================================
>>> --- trunk/docs/latex/dispersion.tex     (original)
>>> +++ trunk/docs/latex/dispersion.tex     Tue Aug 19 16:07:37 2014
>>> @@ -1689,8 +1689,9 @@
>>>        For the cluster specific parameters, i.e.\ the populations of
>>> the states and the exchange parameters, an average value will be used
>>> as the starting point.
>>>        For all other parameters, the $\Rtwozero$ values for each spin
>>> and magnetic field, as well as the parameters related to the chemical
>>> shift difference $\dw$, the optimised values of the previous run will
>>> be directly copied.
>>>      \item[Model nesting:]  If two models are nested, then the
>>> parameters of the simpler will be used as the starting point for
>>> optimisation of the more complex.
>>> -      The currently supported nested model pairs are `LM63' and `LM63
>>> 3-site', `CR72' and `CR72 full', `CR72' and `MMQ CR72', `NS CPMG
>>> 2-site 3D' and `NS CPMG 2-site 3D full', and `NS CPMG 2-site star' and
>>> `NS CPMG 2-site star full'.
>>> -      In these cases, the $\RtwozeroA$ and $\RtwozeroB$ parameter
>>> values are set to the simpler model $\Rtwozero$ value and the grid
>>> search is bypassed.
>>> +      The currently supported nested model sets are presented in
>>> Table~\ref{table: dispersion model nesting} on page~\pageref{table:
>>> dispersion model nesting}.
>>> +      The models are optimised in the order presented in that table.
>>> +      In some cases, the $\RtwozeroA$ and $\RtwozeroB$ parameter
>>> values are set to the simpler model $\Rtwozero$ value and the grid
>>> search is bypassed.
>>>      \item[Model equivalence:]  When two models are equivalent, the
>>> optimised parameters of one model can be used as the starting point of
>>> the other rather than performing a grid search.
>>>        This is used in the auto-analysis for avoiding the grid search
>>> in the numeric models.
>>>        The optimised `CR72' model is used for the `NS CPMG 2-site
>>> expanded', `NS CPMG 2-site 3D', and  `NS CPMG 2-site star' models.
>>> @@ -1722,6 +1723,103 @@
>>>  If you are a power user, you are free to use all of the relax user
>>> functions, the relax library, and the relax data store to implement
>>> your own protocol.
>>>  If you wish, the protocol can be converted into a new auto-analysis
>>> and distributed as part of relax.
>>>  The relax test suite will ensure the protocol remains functional for
>>> the lifetime of relax.
>>> +
>>> +\begin{landscape}
>>> +\begin{center}
>>> +\begin{small}
>>> +
>>> +% The longtable environment.
>>> +\begin{longtable}{ll}
>>> +
>>> +% Caption.
>>> +\caption{Model nesting for the relaxation dispersion auto-analysis.}
>>> +
>>> +% Header.
>>> +\\
>>> +\toprule
>>> +Model & Nested models\footnotemark[1] \\
>>> +\midrule
>>> +\endhead
>>> +
>>> +% Footer.
>>> +\bottomrule
>>> +\endfoot
>>> +
>>> +% Label.
>>> +\label{table: dispersion model nesting}
>>> +
>>> +
>>> +% Experiment independent models.
>>> +\\[-5pt]
>>> +Base models \\
>>> +\cline{1-1}
>>> +$\Rtwoeff/\Ronerhoprime$         & - \\
>>> +No Rex                           & - \\
>>> +
>>> +% CPMG-type models.
>>> +\\[-5pt]
>>> +Single quantum (SQ) CPMG-type \\
>>> +\cline{1-1}
>>> +LM63                             & - \\
>>> +LM63 3-site                      & LM63 \\
>>> +CR72                             & NS CPMG 2-site 3D, NS CPMG 2-site
>>> star, NS CPMG 2-site expanded, B14 \\
>>> +CR72 full                        & NS CPMG 2-site 3D full, NS CPMG
>>> 2-site star full, B14 full, NS CPMG 2-site 3D, \\
>>> +                                 & NS CPMG 2-site star, NS CPMG
>>> 2-site expanded, B14, CR72 \\
>>> +IT99                             & - \\
>>> +TSMFK01                          & - \\
>>> +B14                              & NS CPMG 2-site 3D, NS CPMG 2-site
>>> star, NS CPMG 2-site expanded, CR72 \\
>>> +B14 full                         & NS CPMG 2-site 3D full, NS CPMG
>>> 2-site star full, CR72 full, NS CPMG 2-site 3D, \\
>>> +                                 & NS CPMG 2-site star, NS CPMG
>>> 2-site expanded, B14, CR72 \\
>>> +NS CPMG 2-site expanded          & NS CPMG 2-site 3D, NS CPMG 2-site
>>> star, B14, CR72 \\
>>> +NS CPMG 2-site 3D                & NS CPMG 2-site star, NS CPMG
>>> 2-site expanded, B14, CR72 \\
>>> +NS CPMG 2-site 3D full           & NS CPMG 2-site star full, B14
>>> full, CR72 full, NS CPMG 2-site 3D, NS CPMG 2-site star, \\
>>> +                                 & NS CPMG 2-site expanded, B14, CR72 \\
>>> +NS CPMG 2-site star              & NS CPMG 2-site 3D, NS CPMG 2-site
>>> expanded, B14, CR722 \\
>>> +NS CPMG 2-site star full         & NS CPMG 2-site 3D full, B14 full,
>>> CR72 full, NS CPMG 2-site 3D, NS CPMG 2-site star, \\
>>> +                                 & NS CPMG 2-site expanded, B14, CR72 \\
>>> +
>>> +% SQ, ZQ, DQ and MQ CPMG-type models.
>>> +\\[-5pt]
>>> +MMQ (SQ, ZQ, DQ, \& MQ) CPMG-type \\
>>> +\cline{1-1}
>>> +MMQ CR72                         & NS MMQ 2-site \\
>>> +NS MMQ 2-site                    & MMQ CR72 \\
>>> +NS MMQ 3-site linear             & NS MMQ 2-site, MMQ CR72 \\
>>> +NS MMQ 3-site                    & NS MMQ 3-site linear, NS MMQ
>>> 2-site, MMQ CR72 \\
>>> +
>>> +% R1rho-type models.
>>> +\clearpage
>>> +\\[-5pt]
>>> +$\Ronerho$-type \\
>>> +\cline{1-1}
>>> +M61                              & - \\
>>> +M61 skew                         & - \\
>>> +DPL94                            & - \\
>>> +DPL94 $\Rone$ fit                & DPL94 \\
>>> +TP02                             & MP05, TAP03 \\
>>> +TP02 $\Rone$ fit                 & MP05 $\Rone$ fit, TAP03 $\Rone$ fit \\
>>> +TAP03                            & MP05, TP02 \\
>>> +TAP03 $\Rone$ fit                & MP05 $\Rone$ fit, TP02 $\Rone$ fit \\
>>> +MP05                             & TAP03, TP02 \\
>>> +MP05 $\Rone$ fit                 & TAP03 $\Rone$ fit, TP02 $\Rone$ fit \\
>>> +NS $\Ronerho$ 2-site             & MP05, TAP03, TP02 \\
>>> +NS $\Ronerho$ 2-site $\Rone$ fit & MP05 $\Rone$ fit, TAP03 $\Rone$
>>> fit, TP02 $\Rone$ fit \\
>>> +NS $\Ronerho$ 3-site linear      & NS $\Ronerho$ 2-site, MP05, TAP03, TP02 
>>> \\
>>> +NS $\Ronerho$ 3-site             & NS $\Ronerho$ 3-site linear, NS
>>> $\Ronerho$ 2-site, MP05, TAP03, TP02 \\
>>> +
>>> +\footnotetext[1]{The nested models are ordered by preference.
>>> +The earliest model in the list which has been optimised in the
>>> auto-analysis will be used as the nested model.
>>> +For example for the 'B14 full' model, the 'CR72 full' model is the
>>> first preference, followed by 'B14', then the final fall back is
>>> 'CR72' is neither 'CR72 full' or 'B14' have been optimised.
>>> +If none of the nested models have been optimised, the grid search
>>> will be performed.
>>> +In this example, 'CR72 full' is preferred as it has perfect parameter
>>> nesting -- all parameters of 'B14 full' are found in 'CR72 full'.
>>> +The B14 and CR72 are fallbacks, and for these R20A and R20B are
>>> copied from R20 so they start optimisation as R20A == R20B.
>>> +Hence 'CR72 full' whereby R20A != R20B is a much better starting
>>> point as R20A and R20B have been optimised to different values.
>>> +But because of the large model instability in the 'CR72 full' model,
>>> you may wish to instead start with 'B14'.}
>>> +
>>> +\end{longtable}
>>> +\end{small}
>>> +\end{center}
>>> +\end{landscape}
>>>
>>>
>>>  % Dispersion curve insignificance.
>>>
>>>
>>> _______________________________________________
>>> 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