用于计算跨列矩阵的二阶范数的 numpy 文档是否有点误导?

Is the numpy documentation for calculating the 2nd order norm of a matrix across the columns slightly misleading?

我试图弄清楚如何在 numpy 中计算矩阵的 Frobenius。这样我就可以得到下面矩阵 x 中每一行的 2-范数: 我的问题是关于 numpy 的 linalg.norm 模块中的 ord 参数以及 relevant part of numpy documentation 如何描述可以计算矩阵的哪个范数。我能够通过设置 ord=2 获得 Frobenius 范数,但是,它说只有设置 ord=None 才能给出 Frobenius 范数。

这是我的例子:

x = np.array([[0, 3, 4],
          [1, 6, 4]])

我发现我可以使用以下代码行进行 Frobenius 范数:

x_norm = np.linalg.norm(x, ord = 2, axis=1,keepdims=True )

>>> x_norm
    array([[ 5.        ],
           [ 7.28010989]])

我的问题是这里的文档是否会被认为尽可能没有帮助,以及是否需要请求更改上述 table.[=19= 中设置 ord=2 的描述]

您没有采用矩阵范数。由于您已经通过 axis=1,因此您正在采用向量范数,并且您应该查看向量范数列而不是矩阵范数列。

对于向量范数,ord=Noneord=2 都产生 2-范数。