【发布时间】:2015-01-22 22:30:15
【问题描述】:
其实我需要计算:
S_i = sum(U_j * U_j.transpose) * K_i
在哪里
U_j is a n * k dim matrix,
K_i is a n * n dim matrix,
j != i,
i = 1, 2, ..., n
我使用了这样的循环:
import numpy as np
for i in xrange(n):
temp = np.zeros((n, n))
for j in xrange (n):
if j != i:
temp += np.dot(U[j], U[j].T)
S[i] = np.dot(temp, K[i])
有没有更有效的方法来做到这一点?
【问题讨论】:
-
for j in xrange (n) and j != i应该引发了 SyntaxError。您的意思是将其分解为for-loop和if-statement? -
@unutbu 是的,你是对的,我的意思是
for j in xrange(n): if j != i:但我在语法上犯了一个错误,我想知道有没有更好的方法来做到这一点~
标签: arrays for-loop numpy add multiplication