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

Reply via email to