Я использую 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) вернет нан (на моем компьютере это происходит, когда x> 360).
Кто-нибудь знает, что происходит и как это исправить? Заранее спасибо!