首页 > 解决方案 > 为什么不在 Python 中使用双精度?

问题描述

我是 Python 新手(主要使用 MATLAB 和 Mathematica),我在使用 Python 获得双精度算术时遇到了问题。

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)

我得到双精度。如何获得 pn 的双精度,甚至如何使用 np.float128?

谢谢埃尔德姆

标签: pythondoubleprecisionmatrix-multiplication

解决方案


您可以在array构造函数中指定数据类型。此外,在将range对象传递给array.

p = np.array(range(N+1), dtype=np.float64)

推荐阅读