mailRe: r25228 - in /trunk/test_suite/shared_data/curve_fitting/profiling: profiling_relax_fit.py relax_fit.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Troels Emtekær Linnet on August 25, 2014 - 11:07:
Hi Edward.

This post continues from:
http://thread.gmane.org/gmane.science.nmr.relax.devel/6814

As I wrote in this post, the new user function:
"relax_disp.r2eff_estimate()"

gives freedom to the user to try other algorithms.
Here scipy.optimize.leastsq which should be (or is) a well known
option in the python community for minimisation.

Did you find errors in MINPACK or in scipy ?

Best
Troels


2014-08-25 10:13 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi Troels,

You should note that the 20x speed up is due to the change in
optimisation algorithm rather than scipy vs. minfx vs. MINPACK.  The
reason I wrote minfx is that I started with scipy optimisation but
found all implemented algorithms contained fatal bugs.  This was not
fixed for years after I reported it, and I don't know if the code had
changed since 2003 when I looked into it.  Anyway a scipy optimisation
solution is incompatible with the minfx optimisation solution in
relax.  If you derive and code the gradients into relax, then you can
use the minfx LM algorithm as a solution.

Regards,

Edward







On 25 August 2014 01:08,  <tlinnet@xxxxxxxxxxxxx> wrote:
Author: tlinnet
Date: Mon Aug 25 01:08:44 2014
New Revision: 25228

URL: http://svn.gna.org/viewcvs/relax?rev=25228&view=rev
Log:
Further improved the profiling of relax curve fit.

This profiling shows, that Python code is about twice as slow as the C 
code implemented.

But it also shows that optimising with scipy.optimize.leastsq is 20 X 
faster.
It also gives reasonable error values.

Combining a function for a linear fit to guess the initial values, together
with scipy optimise, will be an extreme time win for estimating R2eff 
values fast.

A further test would be to use relax Monte-Carlo simulations for say 
1000-2000 iterations,
and compare to the errors extracted from estimated covariance.

Added:
    trunk/test_suite/shared_data/curve_fitting/profiling/relax_fit.py
Modified:
    
trunk/test_suite/shared_data/curve_fitting/profiling/profiling_relax_fit.py

[This mail would be too long, it was shortened to contain the URLs only.]

Modified: 
trunk/test_suite/shared_data/curve_fitting/profiling/profiling_relax_fit.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/curve_fitting/profiling/profiling_relax_fit.py?rev=25228&r1=25227&r2=25228&view=diff

Added: trunk/test_suite/shared_data/curve_fitting/profiling/relax_fit.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/curve_fitting/profiling/relax_fit.py?rev=25228&view=auto


_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-commits mailing list
relax-commits@xxxxxxx

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@xxxxxxx

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



Related Messages


Powered by MHonArc, Updated Mon Aug 25 12:00:18 2014