Menu

Commit [r25320]  Maximize  Restore  History

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.
........

bugman 2014-08-26

changed /branches/frame_order_cleanup
changed /branches/frame_order_cleanup/specific_analyses/relax_disp/estimate_r2eff.py
changed /branches/frame_order_cleanup/specific_analyses/relax_fit/optimisation.py
changed /branches/frame_order_cleanup/target_functions/c_chi2.c
changed /branches/frame_order_cleanup/target_functions/c_chi2.h
changed /branches/frame_order_cleanup/target_functions/exponential.c
changed /branches/frame_order_cleanup/target_functions/exponential.h
changed /branches/frame_order_cleanup/target_functions/relax_fit.c
changed /branches/frame_order_cleanup/target_functions/relax_fit.h
changed /branches/frame_order_cleanup/test_suite/shared_data/curve_fitting/profiling/profiling_relax_fit.py
changed /branches/frame_order_cleanup/test_suite/shared_data/curve_fitting/profiling/verify_error.py
changed /branches/frame_order_cleanup/test_suite/system_tests/scripts/relax_fit.py
copied /trunk/target_functions/dimensions.h -> /branches/frame_order_cleanup/target_functions/dimensions.h
/branches/frame_order_cleanup/specific_analyses/relax_disp/estimate_r2eff.py Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/specific_analyses/relax_fit/optimisation.py Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/target_functions/c_chi2.c Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/target_functions/c_chi2.h Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/target_functions/exponential.c Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/target_functions/exponential.h Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/target_functions/relax_fit.c Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/target_functions/relax_fit.h Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/test_suite/shared_data/curve_fitting/profiling/profiling_relax_fit.py Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/test_suite/shared_data/curve_fitting/profiling/verify_error.py Diff Switch to side-by-side view
Loading...
/branches/frame_order_cleanup/test_suite/system_tests/scripts/relax_fit.py Diff Switch to side-by-side view
Loading...
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.