URL:
<http://gna.org/task/?7801>
Summary: Design interface between the user and the functional
code is to perform comprehensive checks of input
Project: relax
Submitted by: tlinnet
Submitted on: Thu 22 May 2014 09:05:46 AM UTC
Should Start On: Thu 22 May 2014 12:00:00 AM UTC
Should be Finished on: Thu 22 May 2014 12:00:00 AM UTC
Category: relax's source code
Priority: 5 - Normal
Status: None
Percent Complete: 0%
Assigned to: tlinnet
Open/Closed: Open
Discussion Lock: Any
Effort: 0.00
_______________________________________________________
Details:
The target_functions.relax_disp and lib.dispersion code make
assumptions as to how the data they receive will look like. If this
is violated, then it will be random how different code paths fail.
This happens if data is missing for a spin.
If one is setting metadata for spectral
information from two field strengths, but only loading data from one.
In the numeric models, we use a special matrix_exponential() function
calls numpy.linalg.eig(). The eig()
function is where the can occur. This function is not used in
the analytic models, so the same failure cannot be observed.
The best approach in designing the interface between the user and the
functional code is to perform comprehensive checks of what the user
has supplied. If things are missing or incorrect, raising a
RelaxError is the best way to give feedback to the user. Then we make
sure that we package the data up for sending to the target functions
only when all required data is supplied. Then the target functions
will always receive the data in the correct format. So the idea is to
block this code path - the optimisation - until everything is as we
expect. Therefore we can add checks as users encounter and report problems.
---
This is related to bug:
bug #22065 (https://gna.org/bugs/?22065) Systemtest
Relax_disp.test_hansen_cpmg_data_missing_auto_analysis has tcp array with
multiple nan
bug #22017 (https://gna.org/bugs/index.php?22017) LinAlgError, for all
numerical CPMG models.
_______________________________________________________
Reply to this item at:
<http://gna.org/task/?7801>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-devel mailing list
[email protected]
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