用于计算跨列矩阵的二阶范数的 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=None
和 ord=2
都产生 2-范数。
我试图弄清楚如何在 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=None
和 ord=2
都产生 2-范数。