给定一个n X m矩阵,其条目Xi,j,则compositional variance是一个m X m矩阵,其条目i,j包括表达式
∑k=1n[ln2(xk,i/xk,j)]
(包括其他易于计算的表达式)。你知道吗
这在循环中很容易计算,但是如何使用矢量化计算它呢?你知道吗
下面是糟糕的循环代码:
x = np.array([[1, 2, 3], [4, 5, 6]], dtype=float)
v = np.zeros((3, 3))
for i in range(3):
for j in range(3):
for k in range(2):
v[i, j] += np.log(x[k, i] / x[k, j])**2
假设你的意思是} -
(np.log(x[k, i] / x[k, j])**2)
在NumPy术语中,为k = 1:n
求和,一种向量化的方法可以用^{相关问题 更多 >
编程相关推荐