当使用两个1F1函数的和时,Tricomi汇合超几何函数的计算可能是病态的,因为它们的大小可能几乎相等,但符号相反。mpmath函数"hyperu“在内部使用任意精度,并在默认模式下生成35位有效数字的结果。这些数字中有多少是可靠的?它依赖于传递的参数吗? import mpmath
x = mpmath.hyperu(a, b + 1, u)
我尝试将提供任意精度算法的mpmath库和scipy.stats库结合使用:
from mpmath import mpf
from scipy.stats import norm
x = mpf(3) # arbitrary precision float
y = norm.cdf(x)
但是,norm.cdf通过调用np.isnan(x)在内部检查其输入是否为数字。因此,我得到了以下错误:
Traceback (most recent call last):
File "name of my file", line 5, in <module>
y = n
我在试着存储 x=9999999999999.9999999999 在字符串变量中。但它正在变得越来越圆滑。 c=str(9999999999999.9999999999)
print c
'1e+13' 在这里,我试图读取一个JSON文件并将其转换为CSV...但在读取9999999999999.9999999999时,它会自动转换为1e+13. with open(inputfilename) as json_file:
data = json.load(json_file)
selected_month=str(data['selected
我想用"DE HOOG“算法进行数值拉普拉斯逆变换。我想使用"mpmath“包,我从链接中安装了它:
假设我需要在t=1中找到以下函数的逆拉普拉斯变换:
F= 1/(s-1)
F的Laplace逆变换是: e^(t)
在t=1,预期结果为=e
import mpmath as mp
import numpy as np
def f(s):
return 1 / (s-1)
t = np.linspace(0.01,0.5,10)
G = []
for i in range(0,4):
G.append(mp.invlapdehoog(f, t[i]))
我注意到,尽管听起来很奇怪,但mpmath的性能取决于是否安装了sagemath,而与当前会话中是否加载了sage模块无关。特别是,我在使用多精度浮点数的操作中体验到了这一点。
示例:
from mpmath import mp
import time
mp.prec = 650
t = time.time()
for i in range(1000000):
x_mpmath + y_mpmath
w = time.time()
print('plus:\t', (w-t), 'μs')
t = time.time()
for i in range(