mailRe: [bug #22017] LinAlgError, for all numerical CPMG models.


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Troels Emtekær Linnet on May 07, 2014 - 18:34:
Hi Edward.

Some test print shows this:
In lib/ns_cpmg_2site_3d.py

        print R*tcp[i]
[[ NaN  NaN  NaN  NaN  NaN  NaN  NaN]
 [ NaN  NaN  NaN  NaN  NaN  NaN  NaN]
 [ NaN  NaN  NaN  NaN  NaN  NaN  NaN]
 [ NaN  NaN  NaN  NaN  NaN  NaN  NaN]
 [ NaN  NaN  NaN  NaN  NaN  NaN  NaN]
 [ NaN  NaN  NaN  NaN  NaN  NaN  NaN]
 [ NaN  NaN  NaN  NaN  NaN  NaN  NaN]]

Error message:
 Rexpo = matrix_exponential(R*tcp[i])
  File 
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/lib/linear_algebra/matrix_exponential.py",
line 46, in matrix_exponential
    W, V = eig(A)
  File "/usr/lib64/python2.6/site-packages/numpy/linalg/linalg.py",
line 999, in eig
    _assertFinite(a)
  File "/usr/lib64/python2.6/site-packages/numpy/linalg/linalg.py",
line 144, in _assertFinite
    raise LinAlgError, "Array must not contain infs or NaNs"
LinAlgError: Array must not contain infs or NaNs



2014-05-07 17:14 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi,

This is part of the parameter checking required in the target function
code.  Something is producing a NaN, and this needs to be caught.
You'll see my attempts at catching these conditions by running the
following from the relax base directory:

$ grep "if " lib/dispersion/* -A1

Obviously something is not caught when it should be.  You can use the
--traceback and --numpy-raise relax options to better debug this.
Once you find the position in the code where the NaN (or Inf) arises,
you can then add such an 'if' condition to fix the bug.

Regards,

Edward



On 7 May 2014 17:07, Troels E. Linnet <NO-REPLY.INVALID-ADDRESS@xxxxxxx> 
wrote:
URL:
  <http://gna.org/bugs/?22017>

                 Summary: LinAlgError, for all numerical CPMG models.
                 Project: relax
            Submitted by: tlinnet
            Submitted on: Wed 07 May 2014 03:07:49 PM UTC
                Category: relax's source code
Specific analysis category: Relaxation dispersion
                Priority: 7 - High
                Severity: 4 - Important
                  Status: None
             Assigned to: None
         Originator Name:
        Originator Email:
             Open/Closed: Open
                 Release: Repository: trunk
         Discussion Lock: Any
        Operating System: All systems

    _______________________________________________________

Details:

Hi Edward.

The attached script, will make relax trip.

I am reading in fake R2eff points, and then do a back calculation with:

    sfrq_1 = 599.8908617*1E6
    ncycs_1 = [2, 4, 8, 10, 20, 30, 40, 60]
    sfrq_2 = 499.8908617*1E6
    ncycs_2 = [2, 4, 8, 10, 30, 35, 40, 50]

With the following dynamic parameters
['Ala', 1, 'N', {'r2': {r20_key_1:10, r20_key_2:11.5}, 'r2a': 
{r20_key_1:10,
r20_key_2:11.5}, 'r2b': {r20_key_1:10, r20_key_2:11.5}, 'kex': 1000, 'pA':
0.99, 'dw': 2} ]

#################3
relax_disp.r2eff_read_spin(id='CPMG_599.9', spin_id=':1@N',
file='CPMG_599.9_1_N.txt', dir=None, disp_point_col=1, offset_col=None,
data_col=2, error_col=3, sep=None)
Opening the file 'CPMG_599.9_1_N.txt' for reading.
The following R2eff/R1rho data has been loaded into the relax data store:

# R2eff_key                                 Disp_point              R2eff
             R2eff_error
sq_cpmg_599.89086170_0.000_33.333             33.333333333333336
1.000000000000000       0.100000000000000
sq_cpmg_599.89086170_0.000_66.667             66.666666666666671
1.000000000000000       0.100000000000000
sq_cpmg_599.89086170_0.000_133.333           133.333333333333343
1.000000000000000       0.100000000000000
sq_cpmg_599.89086170_0.000_166.667           166.666666666666686
1.000000000000000       0.100000000000000
sq_cpmg_599.89086170_0.000_333.333           333.333333333333371
1.000000000000000       0.100000000000000
sq_cpmg_599.89086170_0.000_500.000           500.000000000000000
1.000000000000000       0.100000000000000
sq_cpmg_599.89086170_0.000_666.667           666.666666666666742
1.000000000000000       0.100000000000000
sq_cpmg_599.89086170_0.000_1000.000         1000.000000000000000
1.000000000000000       0.100000000000000
Traceback (most recent call last):
  File 
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/multi/processor.py",
line 494, in run
    self.callback.init_master(self)
  File 
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/multi/__init__.py",
line 318, in default_init_master
    self.master.run()
  File "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/relax.py", line 
194,
in run
    self.interpreter.run(self.script_file)
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/prompt/interpreter.py", 
line
275, in run
    return run_script(intro=self.__intro_string, local=locals(),
script_file=script_file, show_script=self.__show_script,
raise_relax_error=self.__raise_relax_error)
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/prompt/interpreter.py", 
line
569, in run_script
    return console.interact(intro, local, script_file,
show_script=show_script, raise_relax_error=raise_relax_error)
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/prompt/interpreter.py", 
line
468, in interact_script
    exec_script(script_file, local)
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/prompt/interpreter.py", 
line
347, in exec_script
    runpy.run_module(module, globals)
  File "/usr/lib64/python2.6/runpy.py", line 140, in run_module
    fname, loader, pkg_name)
  File "/usr/lib64/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/test_suite/system_tests/scripts/relax_disp/cpmg_synthetic.py",
line 270, in <module>
    r2effs = optimisation.back_calc_r2eff(spin=cur_spin, 
spin_id=cur_spin_id)
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/specific_analyses/relax_disp/optimisation.py",
line 188, in back_calc_r2eff
    chi2 = model.func(param_vector)
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/target_functions/relax_disp.py",
line 1419, in func_ns_cpmg_2site_3D
    return self.calc_ns_cpmg_2site_3D_chi2(R20A=R20, R20B=R20, dw=dw, 
pA=pA,
kex=kex)
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/target_functions/relax_disp.py",
line 542, in calc_ns_cpmg_2site_3D_chi2
    r2eff_ns_cpmg_2site_3D(r180x=self.r180x, M0=self.M0, 
r20a=R20A[r20_index],
r20b=R20B[r20_index], pA=pA, pB=pB, dw=dw_frq, k_AB=k_AB, k_BA=k_BA,
inv_tcpmg=self.inv_relax_times[0][mi], tcp=self.tau_cpmg[0][mi],
back_calc=self.back_calc[0][si][mi][0],
num_points=self.num_disp_points[0][si][mi][0], power=self.power[0][mi])
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/lib/dispersion/ns_cpmg_2site_3d.py",
line 115, in r2eff_ns_cpmg_2site_3D
    Rexpo = matrix_exponential(R*tcp[i])
  File
"/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/lib/linear_algebra/matrix_exponential.py",
line 46, in matrix_exponential
    W, V = eig(A)
  File "/usr/lib64/python2.6/site-packages/numpy/linalg/linalg.py", line 
999,
in eig
    _assertFinite(a)
  File "/usr/lib64/python2.6/site-packages/numpy/linalg/linalg.py", line 
144,
in _assertFinite
    raise LinAlgError, "Array must not contain infs or NaNs"
LinAlgError: Array must not contain infs or NaNs
#########################






    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Wed 07 May 2014 03:07:49 PM UTC  Name: cpmg_synthetic.py  Size: 16kB
By: tlinnet

<http://gna.org/bugs/download.php?file_id=20667>

    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?22017>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@xxxxxxx

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



Related Messages


Powered by MHonArc, Updated Wed May 07 20:00:11 2014