numpy.linalg.norm ord = 2是如何工作的?

时间:2018-01-16 06:25:23

标签: python numpy

我是Numpy的新手。我无法理解在numpy.linalg.norm中使用ord = 2。例如,有什么区别:

npm@5.2.0

np.linalg.norm(np.array([[-4, -3, -2],
                         [-1,  0,  1],
                         [ 2,  3,  4]]))

在Numpy documentation中,给出ord = 2表示2-norm(最大唱歌值)。我无法理解最大奇异值的含义。你能解释一下吗?

1 个答案:

答案 0 :(得分:2)

他们指的是所谓的operator norm。您的操作数是2D并且被解释为线性运算符的矩阵表示。运算符规范告诉您在应用运算符时向量可以变长多久。 2指的是基础向量范数。奇异值定义恰好相同。

对于差异,如果将矩阵解释为nxm - 空间中的向量,则默认值不是运算符范数,而是Frobenius范数,即欧几里德范数。看一些例子(最简单的是单位矩阵),很明显Frobenius和算子规范是不同的。