Author: tlinnet Date: Tue Aug 26 13:23:44 2014 New Revision: 25286 URL: http://svn.gna.org/viewcvs/relax?rev=25286&view=rev Log: Got the Quasi-Newton BFGS to work. This uses only the gradient, this gets the same results as 2000 Monte-Carlo with simplex and scipy.optimize.leastsq. Error estimation still not provided. task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting. Modified: trunk/specific_analyses/relax_disp/estimate_r2eff.py Modified: trunk/specific_analyses/relax_disp/estimate_r2eff.py URL: http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/estimate_r2eff.py?rev=25286&r1=25285&r2=25286&view=diff ============================================================================== --- trunk/specific_analyses/relax_disp/estimate_r2eff.py (original) +++ trunk/specific_analyses/relax_disp/estimate_r2eff.py Tue Aug 26 13:23:44 2014 @@ -768,19 +768,23 @@ x0 = asarray( E.estimate_x0_exp() ) # Set the min_algor. + # simplex is algorithms without gradient. It is quite slow, since it needs to take many steps. #min_algor='simplex' - # Steepest descent uses the gradient. + # Steepest descent uses only the gradient. This works, but it is not totally precise. min_algor = 'Steepest descent' max_iterations = 1000 + # Quasi-Newton BFGS. Uses only the gradient. + # This gets the same results as 2000 Monte-Carlo with simplex. + # This is one of the best optimisation techniques when only the function and gradient are present, as it tries to numerically approximate the Hessian matrix, updating it as the algorithm moves along. + min_algor = 'BFGS' + # Newton does not work. # min_algor = 'newton' # Newton-CG does not work. # min_algor = 'Newton-CG' - - # Also not work.# # min_algor = 'Fletcher-Reeves'