python - 为什么 Python 中不使用 double ?

标签 python double precision matrix-multiplication

我是 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/

相关文章:

python - Tensorflow:无法共享密集/内核 - ValueError:尝试共享变量密集/内核,但指定形状 (100, 160) 并找到形状 (9, 100)

python - Tkinter 中的程序窗口锁定

python - Raspberry Pi 自动启动程序

python - 从小对数概率向量中以numpy/scipy采样多项式

Python float silent overflow 精度错误

python - AWS boto3 get_object 调用的 IfMatch 参数如何工作?

java - 尝试创建 double 变量类型的数组时出错

c++ - Qt toDouble() 方法转换为 int

C++ : sin(M_PI/6) = 0. 5?

java - 只读 double 不起作用