Estou tendo problemas para implementar uma função numericamente. Ele sofre com o fato de que, com valores de entrada grandes, o resultado é um número muito grande vezes um número muito pequeno. Não tenho certeza se o cancelamento catastrófico é o termo correto, por favor, corrija-me se for. Evidência de algo dando errado:
Como posso evitar as oscilações e a atribuição de 0,0 para entradas maiores de 6?
Aqui está a minha função:
import numpy as np
def func(x):
t = np.exp(-np.pi*x)
return 1/t*(1-np.sqrt(1-t**2))