Nan在使用numba时遇到

时间:2020-06-19 15:28:13

标签: numpy numba

我正在使用Numba加速功能,但遇到了以下问题。 使用装饰器@njit(或@jit)时,某些numpy函数的行为已更改。 例如,如果我使用以下函数来计算tanh

from numba import njit
import numpy as np    
@njit
    def check_tanh(z):
        return np.tanh(z)

,然后将其用于z的实际值,我应该得到与np.tanh(z)相同的结果。 如果我改为平行于实轴但具有虚部移动,例如z = x + 1.j,并增加x,则numpy tanh将收敛至1. + 0.j,而check_tanh(z)将返回一个nan (在我的计算机上,这是x> 360时发生的情况。)

有人知道发生了什么,如何解决? 预先感谢!

1 个答案:

答案 0 :(得分:0)

使用cmath中的tanh可解决此问题。 似乎在Numba仍然是个问题 User Guide