Hi Ed, This is crystal clear !
Thanks ! Séb :) Edward d'Auvergne wrote: > Hi, > > Parameter scaling is a technique for better conditioning of the > optimisation problem. Some minimisation algorithms significantly > benefit from this whereas others are unaffected. An example is for > model free analysis where S2 in on the order of 1 and te on the order > of 1e^-12. The parameters are scaled so they are all on the order of > 1. So S2 is unscaled and te is scaled by 1e12. Without this, the te > dimension of the space is absolutely tiny compared to the S2 and Rex > dimensions causing some optimisation algorithms to catastrophically > fail (because of the algorithm, because of truncation artifacts, > etc.). So for safety, you can just use scaling factors to get all > relaxation dispersion parameters onto the order of ~1. I hope this > clearly explains the concept. > > Regards, > > Edward > > > On Tue, Jan 13, 2009 at 4:26 AM, Sébastien Morin > <[email protected]> wrote: > >> Hi Ed, >> >> I am not so familiar with scaling in minimization... >> >> How can I determine if a given parameter would benefit from scaling ? >> Is only speed affected when scaling is used ? >> >> Thanks ! >> >> >> Séb >> >> >> >> [email protected] wrote: >> >>> Author: semor >>> Date: Tue Jan 13 04:24:37 2009 >>> New Revision: 8429 >>> >>> URL: http://svn.gna.org/viewcvs/relax?rev=8429&view=rev >>> Log: >>> Started to implement the scaling matrix for scaling the 'R2eff' values. >>> >>> This might change in the future as other possible curve fitting parameters >>> ('R2', 'Rex', 'kex', >>> 'R2A', 'kA', 'dw') might need some scaling. >>> >>> >>> Modified: >>> branches/relax_disp/specific_fns/relax_disp.py >>> >>> Modified: branches/relax_disp/specific_fns/relax_disp.py >>> URL: >>> http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_fns/relax_disp.py?rev=8429&r1=8428&r2=8429&view=diff >>> ============================================================================== >>> --- branches/relax_disp/specific_fns/relax_disp.py (original) >>> +++ branches/relax_disp/specific_fns/relax_disp.py Tue Jan 13 04:24:37 2009 >>> @@ -143,17 +143,17 @@ >>> >>> # Loop over the parameters. >>> for i in xrange(len(spin.params)): >>> - # Relaxation rate. >>> - if spin.params[i] == 'Rx': >>> - pass >>> - >>> - # Intensity scaling. >>> elif search('^i', spin.params[i]): >>> + # Effective transversal relaxation rate scaling. >>> + if spin.params[i] == 'R2eff': >>> # Find the position of the first CPMG pulse train >>> frequency point. >>> pos = cdp.cpmg_frqs.index(min(cdp.cpmg_frqs)) >>> >>> # Scaling. >>> - scaling_matrix[i, i] = 1.0 / average(spin.intensities[pos]) >>> + scaling_matrix[i, i] = 1.0 / average(spin.r2effs[pos]) >>> + >>> + # No scaling for other parameters. >>> + else: >>> + pass >>> >>> # Increment i. >>> i = i + 1 >>> >>> >>> _______________________________________________ >>> relax (http://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://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://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

