np.linalg.normord=2不给出欧几里得范数
我正在尝试计算两个矩阵之间的欧几里得距离,我希望它由逐元素平方差之和的平方根给出。
在我看来,这正是由 numpy 的linalg.norm函数计算的计算,但它似乎与我的预期结果不符。
例如,此代码返回不同的值(5.385vs 5.339)
import numpy as np
a = np.arange(6).reshape(2, 3)
b = np.array([[1,2,3], [-1,1,4]])
print(np.sqrt(np.sum(np.square(a-b))))
print(np.linalg.norm(a-b, 2))
我是否误解了linalg.norm函数?为什么上述两种计算方法返回的值不相同?