我是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(最大唱歌值)。我无法理解最大奇异值的含义。你能解释一下吗?
答案 0 :(得分:2)
他们指的是所谓的operator norm。您的操作数是2D并且被解释为线性运算符的矩阵表示。运算符规范告诉您在应用运算符时向量可以变长多久。 2指的是基础向量范数。奇异值定义恰好相同。
对于差异,如果将矩阵解释为nxm
- 空间中的向量,则默认值不是运算符范数,而是Frobenius范数,即欧几里德范数。看一些例子(最简单的是单位矩阵),很明显Frobenius和算子规范是不同的。