Hi Troels, Could you check if this bug is still alive? I can no longer see it when I run:
$ ./relax -sd --numpy-raise Relax_disp.test_hansen_cpmg_data_missing_auto_analysis Cheers, Edward On 21 May 2014 19:46, Troels Emtekær Linnet <[email protected]> wrote: > Hi Ed. > > I will check it. > > I did the implementation in commit 23246 and 23268. > > Best > Troels > > 2014-05-21 19:33 GMT+02:00 Edward d'Auvergne <[email protected]>: >> Hi, >> >> You should try the following. When the number is less than 1e-307, >> print out all the parameters of the model. What do you see? Or print >> out all arguments input into the function. It might be possible to >> catch this on line 1 instead. >> >> Regards, >> >> Edward >> >> >> >> On 21 May 2014 19:24, Troels Emtekær Linnet <[email protected]> wrote: >>> Hi Ed. >>> >>> The trunk code says: >>> t113 = t97_nt99 - t112 >>> t115 = num_cpmg >>> t116 = power(0.5*(t97_t99 + t112), t115) >>> >>> I have tried to catch the underflow of t116, the power function. >>> This is when a number is represented as less than 1.e-307 (something). >>> >>>>>> import numpy as np >>>>>> print np.finfo('d') >>> Machine parameters for float64 >>> --------------------------------------------------------------------- >>> precision= 15 resolution= 1.0000000000000001e-15 >>> machep= -52 eps= 2.2204460492503131e-16 >>> negep = -53 epsneg= 1.1102230246251565e-16 >>> minexp= -1022 tiny= 2.2250738585072014e-308 >>> maxexp= 1024 max= 1.7976931348623157e+308 >>> nexp = 11 min= -max >>> --------------------------------------------------------------------- >>> >>> So, in the array, I look for the maximum power, and match the value >>> with the list, and see if that value is below the limit. >>> >>> Hm, maybe I should delete it again. >>> But I caught other numpy-raises error, found in the test-suite. >>> >>> But here this bug is triggered by an array, which is sent in with tcp >>> array of nan. >>> >>> I think it is because spin :71@N miss data from field 800. >>> >>> Best >>> Troels >>> >>> 2014-05-21 19:03 GMT+02:00 Edward d'Auvergne <[email protected]>: >>>> Hi, >>>> >>>> Maybe this shouldn't be a bug? It's only present in your 'disp_speed' >>>> branch and is only seen with a debugging flag turned on. If you add >>>> the check I mentioned at >>>> http://www.mail-archive.com/[email protected]/msg05731.html to the >>>> first line of this function, maybe all the checks you have added >>>> compared to the trunk could be removed and this issue will just >>>> disappear. It would be worth trying. Also, what does the following >>>> line do? >>>> >>>> # Calculate lowest positive val, which raised to the power will >>>> not be represented less than 1.-e300. >>>> low_pos_rep = power(1.e-300, 1./max_t115) >>>> >>>> Why is max_t115 inverted when the original code from Nikolai and Martin is: >>>> >>>> t115 = N/2; >>>> t116 = (t69/2+t83/2+t92/2+t96/2+t112/2).^t115; >>>> t118 = 1./t112; >>>> t120 = t69+t83-t92-t96+t112; >>>> t122 = (t69/2+t83/2+t92/2+t96/2-t112/2).^t115; >>>> >>>> Here t115 is never inverted. The 1/max_t115 is causing this divide by >>>> zero error. Anyway, adding the 'No Rex' check in the above link will >>>> likely make all of this redundant. >>>> >>>> Regards, >>>> >>>> Edward >>>> >>>> >>>> >>>> >>>> On 21 May 2014 18:46, Troels E. Linnet <[email protected]> >>>> wrote: >>>>> Follow-up Comment #3, bug #22065 (project relax): >>>>> >>>>> This only fails when --numpy-raise is set on. >>>>> >>>>> _______________________________________________________ >>>>> >>>>> Reply to this item at: >>>>> >>>>> <http://gna.org/bugs/?22065> >>>>> >>>>> _______________________________________________ >>>>> 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

