Author: tlinnet Date: Sun Aug 31 23:56:20 2014 New Revision: 25493 URL: http://svn.gna.org/viewcvs/relax?rev=25493&view=rev Log: Cleaned up user function for estimating R2eff errors. Extensive tests have shown, there is a very good agreement between the Co-variance estimation, and Monte-Carlo simulations. This is indeed a very positive implementation. task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting. bug #22554(https://gna.org/bugs/index.php?22554): The distribution of intensity with errors in Monte-Carlo simulations are markedly more narrow than expected. Modified: trunk/user_functions/relax_disp.py Modified: trunk/user_functions/relax_disp.py URL: http://svn.gna.org/viewcvs/relax/trunk/user_functions/relax_disp.py?rev=25493&r1=25492&r2=25493&view=diff ============================================================================== --- trunk/user_functions/relax_disp.py (original) +++ trunk/user_functions/relax_disp.py Sun Aug 31 23:56:20 2014 @@ -660,16 +660,13 @@ ) # Description. uf.desc.append(Desc_container()) -uf.desc[-1].add_paragraph("This is a new experimental feature from version 3.3, and should only be tried out with big care.") +uf.desc[-1].add_paragraph("This is a new experimental feature from version 3.3.") uf.desc[-1].add_paragraph("This will estimate R2eff errors by using the exponential decay Jacobian matrix 'J' to compute the covariance matrix of the best-fit parameters.") uf.desc[-1].add_paragraph("This can be an huge time saving step, when performing model fitting in R1rho. Errors of R2eff values, are normally estimated by time-consuming Monte-Carlo simulations.") uf.desc[-1].add_paragraph("This method is inspired from the GNU Scientific Library (GSL).") uf.desc[-1].add_paragraph("The covariance matrix is given by: covar = Qxx = (J^T.W.J)^-1, where the weight matrix W is constructed by the multiplication of an Identity matrix I and a weight array w. The weight array is 1/errors^2, which then gives W = I.w = I x 1/errors^2.") uf.desc[-1].add_paragraph("Qxx is computed by QR decomposition, J^T.W.J=QR, Qxx=R^-1. Q^T. The columns of R which satisfy: |R_{kk}| <= epsrel |R_{11}| are considered linearly-dependent and are excluded from the covariance matrix (the corresponding rows and columns of the covariance matrix are set to zero).") uf.desc[-1].add_paragraph("The parameter 'epsrel' is used to remove linear-dependent columns when J is rank deficient.") -uf.desc[-1].add_paragraph("The errors estimated from the co-variance is exactly equal to the errors reported from the co-variance matrix from scipy.optimize.leastsq.") -uf.desc[-1].add_paragraph("scipy.optimize.leastsq uses a numerical Jacobian to estimate the co-variance.") -uf.desc[-1].add_paragraph("Initial tests shows that the errors are twice as high than compared to Monte-Carlo simulations. Therefore expect 4 times lower chi2 values.") uf.backend = estimate_r2eff_err uf.menu_text = "&r2eff_err_estimate" uf.gui_icon = "relax.relax_fit"