Я пытаюсь получить точное значение из экспоненты, которая получает в качестве входных данных очень маленькую плавающую точку и дает мне результат 0.
Вы можете воспроизвести проблему с помощью следующего кода:
import numpy as np
from math import sqrt, log, exp, pi
k = np.array([[-746.9292399]])
z = exp(k)
print(z)
Результат этого будет 0, для моего p c результат чего-либо меньше, чем -743.0 будет 0
Я попытался использовать mpmath, чтобы решить это следующим образом:
import numpy as np
from math import sqrt, log, exp, pi
import mpmath as mp
k = np.array([[-746.9292399]])
z = mp.exp(float(k))
print(z)
det = np.linalg.det([[z,2,3],[2,2,z],[3,6,2]])
print(det)
Что дает хороший ответ для exp (), однако мне также понадобится поместить этот результат в массив numpy и извлечь из него определитель, который выдает ошибку в коде i. присоединен, потому что numpy не любит числа mpf в своих массивах.
Кто-нибудь знает, как я могу получить результат из exp () таким образом, чтобы я мог использовать его с numpy и его функциями?