Menu

SVN archive Commit Log


Commit Date  
[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
[r25317] by bugman

Added a script and log file for calculating the numerical gradient for an exponential curve.

This uses the data at http://thread.gmane.org/gmane.science.nmr.relax.devel/6807/focus=6840 and
calculates the Hessian using the numdifftools.Hessian object construct and obtain the matrix, both
at the minimum and at a point away from the minimum. The values will be used to construct a unit
test to check the C module implementation.

2014-08-26 17:38:01 Tree
[r25316] by bugman

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 17:22:26 Tree
[r25315] by bugman

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.

2014-08-26 17:20:48 Tree
[r25314] by bugman

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.

2014-08-26 17:18:24 Tree
[r25313] by bugman

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

2014-08-26 17:13:59 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.