我的模拟需要实现
np.log(np.cosh(x))
这会溢出 large x
,即我收到RuntimeWarning: overflow encountered in cosh
警告。原则上,随着对数减少所讨论的数字,在 的某个范围内x
,cosh
应该溢出而不应该溢出log(cosh())
。
NumPy 中是否有任何解决方案,例如在精神上与np.log1p()
函数相似?
提供更多信息:我知道使用 SymPy https://github.com/sympy/sympy/issues/12671的可能解决方案可能是符号 的,但是模拟应该很快,并且符号计算 AFAIK 可能会显着减慢它。