Jupyter笔记本错误地计算了numpy与幂的共轭

yk9xbfzb  于 2023-03-02  发布在  其他
关注(0)|答案(1)|浏览(84)

我在我的Jupyter笔记本中遇到了一些我无法解释的错误。我有以下代码。

import numpy as np
c = 100
c_conj = np.conjugate(c)
print(c == c_conj)
print(c**5 == c_conj**5)

导致输出

True
False

JupyterLite(在线JupyterNotebook软件)也得到了相同的结果,或者,如果我在其他平台(例如GoogleCollab)上运行相同的代码,也会得到输出

True
True

这是用户错误吗?有什么方法可以解释吗?

lymnna71

lymnna711#

numpy.conjugate(100)返回一个numpy.int_示例,而不是一个普通的Python intnumpy.int_对应于C long。在比较结果为False的平台上,C long为32位,c_conj**5计算溢出。

相关问题