获取两个形状不同的numpy数组的距离矩阵

获取两个形状不同的numpy数组的距离矩阵,numpy,scipy,distance,reshape,broadcasting,Numpy,Scipy,Distance,Reshape,Broadcasting,我有以下阵列: np.random.seed(3) X = np.random.randn(10,20) Y = np.random.randn(10,5) D_x,N = np.shape(X) D_y,M = np.shape(Y) assert D_x == D_y 我想通过以下公式计算L2范数的距离矩阵,而不使用for循环: A = sp.transpose(X)@X B = sp.transpose(X)@Y C = sp.transpose(Y)@Y D = A - 2*B +

我有以下阵列:

np.random.seed(3)
X = np.random.randn(10,20)
Y = np.random.randn(10,5)

D_x,N = np.shape(X)
D_y,M = np.shape(Y)
assert D_x == D_y
我想通过以下公式计算L2范数的距离矩阵,而不使用for循环:

A = sp.transpose(X)@X
B = sp.transpose(X)@Y
C = sp.transpose(Y)@Y

D = A - 2*B + C
阵列的形状不匹配,因为它们具有不同的N,但具有相同的特征。我试着处理np.tile、重塑等问题,但到目前为止,我还没能正确地播放它们。
非常感谢。

您会用循环生成什么距离矩阵?我们不应该猜测,对不起,你完全正确。我编辑了它。