From the recent changes, it all looks good. Cheers,
Edward On 20 August 2014 21:49, Troels Emtekær Linnet <tlin...@nmr-relax.com> wrote: > This should now be fixed. > > 2014-08-20 12:21 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>: >> Here is another way of thinking of this optimisation problem. When >> dw_AB = dw_BC and kex_AB = kex_BC, then you only have two states and >> the population parameter optimised will be (pB + pC). I.e. pB and pC >> will be convoluted. There are infinite values for pB and infinite >> values for pC, just as long as the value of pB + pC remains the same. >> This introduces lines of infinite solutions in the optimisation space. >> So I don't think a grid search over pB in this situation will do >> anything interesting in this situation. The dw and kex parameters >> have to diverge first before pB and pC are decoupled, and the simplex >> optimisation will allow that to happen. >> >> Regards, >> >> Edward >> >> >> On 20 August 2014 09:34, Edward d'Auvergne <edw...@nmr-relax.com> wrote: >>> I'm not sure what the best behaviour would be as we don't have much to >>> test against. As all the parameters will be the same for AB and BC, I >>> don't think pB will change in a grid search. Or it will change but >>> that pB and pC are convoluted together, as they represent the same >>> state as they have the same parameter values and you have an infinite >>> set of pB, pC solutions. So maybe it is best to calculate it as you >>> said and hence set pC to zero to allow the two states to differentiate >>> during optimisation. But I could be wrong. As long as there is a >>> sentence in the auto-analysis part of the dispersion chapter of the >>> manual explaining the behaviour, either might be ok. >>> >>> Cheers, >>> >>> Edward >>> >>> >>> >>> On 20 August 2014 09:27, Troels Emtekær Linnet <tlin...@nmr-relax.com> >>> wrote: >>>> I can also let it be. >>>> >>>> One parameter left for Grid Search should be okay. :-) >>>> >>>> Best >>>> Troels >>>> >>>> 2014-08-19 18:44 GMT+02:00 Troels Emtekær Linnet <tlin...@nmr-relax.com>: >>>>> I can set it 1 - pA? >>>>> >>>>> Best >>>>> Troels >>>>> >>>>> 2014-08-19 18:13 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>: >>>>>> 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 <tlin...@nmr-relax.com> >>>>>> 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 <edw...@nmr-relax.com>: >>>>>>>> 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 <tlin...@nmr-relax.com> >>>>>>>> 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: <edw...@nmr-relax.com> >>>>>>>>> Date: 2014-08-19 16:07 GMT+02:00 >>>>>>>>> Subject: r25077 - /trunk/docs/latex/dispersion.tex >>>>>>>>> To: relax-comm...@gna.org >>>>>>>>> >>>>>>>>> >>>>>>>>> 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 >>>>>>>>> relax-comm...@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-commits >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> 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 _______________________________________________ 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