我是 Python 新手(主要使用 MATLAB 和 Mathematica),并且在使用 Python 获取 double 算术时遇到问题。
import numpy as np
N = 5
p= np.array([*range(N+1)])
pkp= np.kron(p,p)
pkp= pkp.reshape(N+1,N+1)
pn = np.cos((np.pi/N) * pkp)
这里我只得到 pn 的单精度,但如果我这样做
np.cos((np.pi/N) * 2)
我得到 double 。如何获得 pn 的 double ,甚至如何使用 np.float128?
谢谢 埃尔德姆
最佳答案
您可以在array
构造函数中指定数据类型。此外,在将 range
对象传递给 array
之前,您不需要将其解压到列表中。
p = np.array(range(N+1), dtype=np.float64)
关于python - 为什么 Python 中不使用 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57903902/