Menu

SVN archive Commit Log


Commit Date  
[r25327] by bugman

The minimisation statistics are now being reset for all analysis types.

The minimise.calcululate, minimise.grid_search, and minimise.execute user functions now all reset
the minimisation statistics for either the model or the Monte Carlo simulations prior to performing
any optimisation. This is required for both parallelised grid searches and repetitive optimisation
schemes to allow the result to overwrite an old result in all situations, as sometimes the original
chi-squared value is lower and the new result hence is rejected.

The equivalent functionality from the model-free minimise() API method has been removed.

2014-08-27 08:45:28 Tree
[r25326] by bugman

The model-free reset_min_stats() function has been replaced with the pipe_control.minimise version.

The specific_analyses.model_free.optimisation.reset_min_stats() function has been deleted and
instead the pipe_control.minimise version is being used.

2014-08-27 08:10:57 Tree
[r25325] by tlinnet

Modified wrapper function for curve_fit, to only change to list type, if the type is a ndarray.

task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting.

2014-08-27 08:05:03 Tree
[r25324] by bugman

Improvements to the pipe_control.minimise.reset_min_stats() function.

The minimise statistics resetting is now more elegantly implemented. And the sim_index keyword
argument is accepted by the function and individual Monte Carlo simulation elements can now be
reset.

2014-08-27 08:01:54 Tree
[r25323] by bugman

Created an initial test suite data directory for a mixed R1rho + CPMG dispersion analysis.

The generate.py script will be extended in the future to generate both synthetic R1rho and CPMG data
for a common exchange process. Such a data combination should show some minor flaws in the current
design of the dispersion analysis and will help to solve these.

2014-08-27 07:47:13 Tree
[r25322] by tlinnet

Modified estimate R2eff module, to use C-code.

But systemtest Relax_disp.test_estimate_r2eff_error shows that the Jacobian is not correctly implemented
to be called in minfx.

2014-08-27 07:19:45 Tree
[r25321] by tlinnet

Modified profiling script, but it seems that the dfunc from target_functions.relax_fit does not work.

task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting.

2014-08-27 06:50:56 Tree
[r25320] by bugman

Merged revisions 25289-25298,25302-25316 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk

........
r25289 | tlinnet | 2014-08-26 14:37:28 +0200 (Tue, 26 Aug 2014) | 3 lines

Added initial documentation for multifit_covar.

task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting.
........
r25290 | tlinnet | 2014-08-26 14:37:30 +0200 (Tue, 26 Aug 2014) | 3 lines

Modified profiling script to use the new estimate R2eff module.

task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting.
........
r25291 | tlinnet | 2014-08-26 14:46:04 +0200 (Tue, 26 Aug 2014) | 3 lines

Modified verify error script, to use new estimate R2eff module.

task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting.
........
r25292 | tlinnet | 2014-08-26 15:56:22 +0200 (Tue, 26 Aug 2014) | 3 lines

Removed all unnessary code from estimate R2eff module.

task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting.
........
r25293 | tlinnet | 2014-08-26 15:56:24 +0200 (Tue, 26 Aug 2014) | 3 lines

More removal of code.

task #7822(https://gna.org/task/index.php?7822): Implement user function to estimate R2eff and associated errors for exponential curve fitting.
........
r25294 | bugman | 2014-08-26 16:56:24 +0200 (Tue, 26 Aug 2014) | 6 lines

Changed the array declarations in the target_functions/exponential C file and header.

Instead of using the pointer format of *xyz, the array format of xyz[] is now being used. These are
equivalent and the later is more obvious that this is an array.
........
r25295 | bugman | 2014-08-26 16:57:57 +0200 (Tue, 26 Aug 2014) | 6 lines

Changed the array declarations in the target_functions/c_chi2 C file and header.

Instead of using the pointer format of *xyz, the array format of xyz[] is now being used. These are
equivalent and the later is more obvious that this is an array.
........
r25296 | bugman | 2014-08-26 17:13:48 +0200 (Tue, 26 Aug 2014) | 5 lines

Shifted all of the parameter Python lists to C arrays into the new param_to_c() function.

This is for the target_functions.relax_fit C module to avoid much duplicated code.
........
r25297 | bugman | 2014-08-26 17:17:33 +0200 (Tue, 26 Aug 2014) | 3 lines

Removed the comment and docstring saying that the exponential curve-fitting gradient is unimplemented.
........
r25298 | bugman | 2014-08-26 17:22:58 +0200 (Tue, 26 Aug 2014) | 3 lines

Comment fix for the target_functions/relax_fit.c file.
........
r25302 | bugman | 2014-08-26 17:56:45 +0200 (Tue, 26 Aug 2014) | 3 lines

Updated the copyright notices in the C files of the target_functions directory.
........
r25303 | bugman | 2014-08-26 18:08:15 +0200 (Tue, 26 Aug 2014) | 5 lines

Implemented the C version of the chi-squared Hessian.

This is a direct translation of the Python code.
........
r25304 | bugman | 2014-08-26 18:09:39 +0200 (Tue, 26 Aug 2014) | 3 lines

Changed the internal variables of the chi-squared gradient C code to match the Python code.
........
r25305 | bugman | 2014-08-26 18:25:19 +0200 (Tue, 26 Aug 2014) | 13 lines

Standardisation of the array dimensionality in the target function C code.

The new target_functions/dimensions.h header file defines MAX_PARAMS and MAX_DATA which is then
included in the header files of all the other C files. All array declarations now explicitly
specify the length of each dimension.

The values of MAX_PARAMS and MAX_DATA have increased from 3 and 50 to 20 and 5000. This is to allow
for models with more parameters and to allow a much larger number of input data points to be
supported before memory corruptions happen. The data structures now take up more memory, but as the
functions do not loop up to maximum but only the number of parameters and points specified, this
will not make the code slower.
........
r25306 | bugman | 2014-08-26 18:29:25 +0200 (Tue, 26 Aug 2014) | 3 lines

Better commenting in the C header files.
........
r25307 | bugman | 2014-08-26 18:31:30 +0200 (Tue, 26 Aug 2014) | 3 lines

All of the C code chi-squared functions now have the array argument dimensions explicitly declared.
........
r25308 | bugman | 2014-08-26 18:45:52 +0200 (Tue, 26 Aug 2014) | 6 lines

The target_functions/exponential.c file no longer includes exponential.h.

This is not needed as exponential.h only contains the function definitions of the exponential.c
file.
........
r25309 | bugman | 2014-08-26 18:48:30 +0200 (Tue, 26 Aug 2014) | 6 lines

Clean up of the header and includes of the target_functions/c_chi2.c file.

The square() function macro has been shifted to the header file and the stdio.h and math.h standard
library headers are no longer included as they are not used.
........
r25310 | bugman | 2014-08-26 18:49:12 +0200 (Tue, 26 Aug 2014) | 3 lines

Comment fix in the target_functions/c_chi2.c file.
........
r25311 | bugman | 2014-08-26 18:54:25 +0200 (Tue, 26 Aug 2014) | 3 lines

Comment fixes and formatting changes in all of the target_functions C files and headers.
........
r25312 | bugman | 2014-08-26 19:04:09 +0200 (Tue, 26 Aug 2014) | 6 lines

Partly implemented the front end target_functions.relax_fit.d2func() C module Python function.

This is not fully implemented as the exponential curve double partial derivatives are not
implemented.
........
r25313 | bugman | 2014-08-26 19:13:59 +0200 (Tue, 26 Aug 2014) | 6 lines

Implemented the exponential curve second partial derivative C functions.

These are declared in the exponential.h header file and are now used by the Python function
target_functions.relax_fit.d2func().
........
r25314 | bugman | 2014-08-26 19:18:24 +0200 (Tue, 26 Aug 2014) | 5 lines

The square() function macro is now defined for the target_functions/exponential.c file.

This is defined in the header, and now the exponential.h is included in the C file to access it.
........
r25315 | bugman | 2014-08-26 19:20:48 +0200 (Tue, 26 Aug 2014) | 8 lines

Implemented the specific_analyses.relax_fit.optimisation.d2func_wrapper() function.

This converts the numpy parameter array into a Python list, calls the
target_functions.relax_fit.d2func() function with this list, converts the Hessian output list of
lists into a numpy rank-2 array, and returns it. This will allow Newton optimisation to be used for
the relaxation curve-fitting analysis.
........
r25316 | bugman | 2014-08-26 19:22:26 +0200 (Tue, 26 Aug 2014) | 7 lines

Switched the optimisation algorithm in test_suite/system_tests/scripts/relax_fit.py.

This script, used by the Relax_fit.test_curve_fitting_height and Relax_fit.test_curve_fitting_volume
system tests, now uses Newton optimisation. This is to demonstrate that the exponential curve
gradient function dfunc() and Hessian function d2func() are implemented correctly.
........

2014-08-26 19:51:35 Tree
[r25319] by bugman

Implemented two unit tests to check the Hessian of the target_functions.relax_fit.d2func() function.

This compares the calculated Hessian to the numerically integrated values from the
test_suite/shared_data/curve_fitting/numeric_gradient/Hessian.py script, showing that the d2func()
function is implemented correctly.

2014-08-26 17:51:12 Tree
[r25318] by bugman

Fixes for the Hessian.py script for numerical integrating the Hessian for an exponential curve.

2014-08-26 17:49:36 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.