【发布时间】:2019-09-04 02:01:52
【问题描述】:
我有两组矩阵Sigma和Sigma_barre(大小:KxDxD),我尝试计算这两组之间的Frobenius距离(矩阵上的2-Norm)矩阵,也就是说,一个矩阵M(大小KxK)这样
M[ i , j ] = Sigma[ i ] 和 Sigma_barre[ j ] 之间的距离
我使用了 np.linalg.norm,但我不能百分百确定它是否符合我的要求。这是我天真的代码:
M = np.zeros((K,K))
for i in range(K):
for j in range(K):
M[i,j] = np.linalg.norm(sigma[i]-sigma_barre[j])
所以我的问题是:你知道计算这个矩阵的优雅/高效的方法吗?
【问题讨论】:
-
将两者都重塑为 2D 并使用
cdist:cdist(sigma.reshape(sigma.shape[0],-1),sigma_barre.reshape(sigma_barre.shape[0],-1))。