【发布时间】:2018-06-15 08:28:05
【问题描述】:
我必须对一个大数组进行一些数学运算(例如,加法、乘法)。
为了防止出现任何 'MemoryError' ,我正在按照thread 的答案中的建议进行计算。
但是,我在按照线程中的建议应用分配操作时遇到了一些麻烦。我将使用一个小的 3x3 数组来演示我的问题。
我有以下输入数组K:
array([[ 0. , 0.51290339, 0.24675368],
[ 0.51290339, 0. , 0.29440921],
[ 0.24675368, 0.29440921, 0. ]])
我想将以下计算应用于输入数组K:
output = K* (1.5 - 0.5 * K* K)
我应用上述等式在 Python 中计算所需的输出,如下所示:
K*= (1.5+np.dot(np.dot(-0.5,K),K))
但是,输出的答案不正确。
我想要的答案应该是:
0.0000000 0.7018904 0.3626184
0.7018904 0.0000000 0.4288546
0.3626184 0.4288546 0.0000000
欢迎任何帮助。
【问题讨论】: