Changes

Jump to navigation Jump to search

Relax 3.3.0

1,433 bytes added, 14:49, 22 September 2014
Links to the API documentation.
* Modified profiling script to have different number of NCYC points per frequency. This is to complicate the data, so any erroneous reshaping of data is discovered. It is expected, that experiments can have different number of NCYC points per spectrometer frequency. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* Initial try to alter the [http://www.nmr-relax.com/api/3.3/target_functions.relax_disp.Dispersion-class.html#calc_CR72_chi2 target function calc_CR72_chi2]. This is the first test to restructure the arrays, to allow for higher dimensional computation. All numpy arrays have to have same shape to allow to multiply together. The dimensions should be [ei][si][mi][oi][di]. [Experiment][spins][spec. frq][offset][disp points]. This is complicated with number of disp point can change per spectrometer frequency. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis]. This implementation brings a high overhead. The first test shows no winning of time. The creation of arrays takes all the time.
* Temporary changed the [http://www.nmr-relax.com/api/3.3/lib.dispersion.cr72-module.html lib/dispersion/cr72.py ] function to unsafe state. This change turns-off all the safety measures, since they have to be re-implemented for higher dimensional structures.
* Altered profiling script to report cumulative timings and save to temporary files. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis]. This indeed shows that the efficiency has gone down.
* Added print out of &chi;<sup>2</sup> to profile script. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* Important fix for the creation of the multi dimensional p<sub>A</sub> numpy array. It should be created as numpy.zeros([ei][si][mi][oi]) instead of numpy.ones([ei][si][mi][oi]). This allows for rapid testing of all dimensions with np.allclose(pA, numpy.ones(dw.shape)). p<sub>A</sub> can have missing filled out values, when the number of dispersion points are different per spectrometer frequency. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* Added unit tests demonstrating edge cases 'no Rex' failures of the model [[CR72 full]], for a clustered multi dimensional calculation. This is implemented for one field. This is to implement catching of math domain errors, before they occur. These tests cover all parameter value combinations which result in no exchange: [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* Re-implemented safety checks in [http://www.nmr-relax.com/api/3.3/lib.dispersion.cr72-module.html lib/dispersion/cr72.py]. This is now implemented for both rank-1 float array and of higher dimensions. This makes the unit tests pass for multi dimensional computing. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* Added unit tests demonstrating edge cases 'no Rex' failures of the model [[CR72 full]], for a clustered multi dimensional calculation. This is implemented for three fields. This is to implement catching of math domain errors, before they occur. These tests cover all parameter value combinations which result in no exchange: [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* Changed that special numpy structure is also created for [[CR72]]. This makes most system tests pass. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* The new dispersion model profiling master script now includes links to the relax wiki. The models are no longer presented by name but rather by the relax wiki links for each model (see [[:Category:Relaxation dispersion analysis]] for all these links). This is to improve the Google rank of the relax wiki, as these links may appear in a number of locations.
* Removal of many unused imports in the disp_spin_speed branch. These were detected using the devel_scripts/find_unused_imports.py script which uses pylint to find all unused imports. The false positives also present in the trunk were ignored.
* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.b14-module.html lib/dispersion/b14.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.cr72-module.html lib/dispersion/cr72.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.dpl94-module.html lib/dispersion/dpl94.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.lm63_3site-module.html lib/dispersion/lm63_3site.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.lm63-module.html lib/dispersion/lm63.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.m61b-module.html lib/dispersion/m61b.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.m61-module.html lib/dispersion/m61.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.matrix_exponential-module.html lib/dispersion/matrix_exponential]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.mp05-module.html lib/dispersion/mp05.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.ns_cpmg_2site_expanded-module.html lib/dispersion/ns_cpmg_2site_expanded.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.ns_cpmg_2site_star-module.html lib/dispersion/ns_cpmg_2site_star.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.ns_mmq_2site-module.html lib/dispersion/ns_mmq_2site.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.ns_mmq_3site-module.html lib/dispersion/ns_mmq_3site.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.ns_r1rho_2site-module.html lib/dispersion/ns_r1rho_2site.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.ns_r1rho_3site-module.html lib/dispersion/ns_r1rho_3site.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.tap03-module.html lib/dispersion/tap03.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.tp02-module.html lib/dispersion/tp02.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].* Code validation of [http://www.nmr-relax.com/api/3.3/lib.dispersion.two_point-module.html lib/dispersion/two_point.py]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* Code validation of target_functions/relax_disp.py. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* For model [[NS MMQ 3-site]], moved the parameter conversion of &Delta;&omega;<sub>AB</sub> from target function to lib function. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
Trusted, Bureaucrats
4,228

edits

Navigation menu