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