我希望求解以下和s
,它是按元素定义的:
其中 z
和 lambda
的元素是复数类型,N
是实数和向量的长度。这可以在循环中完成,但效率很低。这是我的解决方案:
import numpy as np
N = 10
z = np.random.rand(N)
lamb = np.random.rand(N)
s = []
indexs = np.arange(N)
for idx in indexs:
summand = np.sum(1/(z[idx] - lamb[indexs[indexs!=idx]]))
s.append(summand/N)
s = np.array(s)
有人能给我指出完整的 numpy
解决方案吗?
最佳答案
import numpy as np
N = 10
z = np.random.rand(N)
lamb = np.random.rand(N)
ss = 1 / np.subtract.outer(z, lamb)
np.fill_diagonal(ss, 0)
ss = ss.sum(axis=1) / N
关于python - 缺失元素的向量求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61328664/