以下是我必须为Numpy矩阵的每个元素计算的公式:
Mi_j = Sum_v(Av * Xi_v) + Sum_v(Bv * Wj_v) + Sum_v(Gv * Zij_v)
我真的没有看到如何以一种笨拙的方式对它进行编码(在python中太长了):vectorized /切片/ C Api.
你会建议什么,你能给我一个简单的例子吗?我是numpy的新手.
@Edited指数
> A,B,G是一维[x,x,x]的数组
> Xi和Wj相同(X是矩阵,W是矩阵)
> Zij是一个维度的数组
解决方法:
让我们通过一个简单的例子来解决:
如果我们定义:
import numpy as np
N = 5
A = np.arange(N)
X = np.arange(N*N).reshape(N,N)
B = np.arange(N)
W = np.arange(N*N).reshape(N,N)
G = np.arange(N)
Zij = np.arange(N)
然后可以用np.dot计算第一个和Sum_v(Av * Xi_v):
In [54]: X
Out[54]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
In [55]: A
Out[5