首页 > 解决方案 > 在 NumPy 数组中存储大于 64 位的整数

问题描述

很明显,NumPy 的整数有一个上限。但我的问题是,有没有办法将元素存储在 NumPy 数组中,比如将值和大小分开?从技术上讲,这不会允许存储比int64限制允许的更大的数字吗?

标签: pythonpython-3.xnumpy

解决方案


例如,您可以使用 dtype = object 将任意精度整数存储在 numpy 数组中,并执行加法、乘法、逐元素乘法、减法和整数除法,但不能执行导致浮点结果的运算,例如 np.exp(x) 不起作用.

x = np.ones((10,10),dtype=object)

x *= 2**100

x *= x

print(x)

如果您想要真正任意精度的算术矩阵类,我将在 mpmath 的帮助下通过适当的运算符重载自行实现


推荐阅读