Python 矩阵中列作为向量的范数计算

Python 矩阵中列作为向量的范数计算,python,numpy,linear-algebra,matrix-multiplication,Python,Numpy,Linear Algebra,Matrix Multiplication,我正在寻找计算矩阵中作为向量的列的范数的最佳方法。 我现在的代码是这样的,但我相信它可以做得更好(可能是numpy?): 返回: [ 2.23606798 5. ] 谢谢。您可以使用UFUNC计算范数: np.sqrt(np.sum(a*a, axis=0)) 使用numpy的直接解决方案: x = np.linalg.norm(a, axis=0) 可以使用np.linalg.norm(a,轴=0)复制。谢谢,我可以补充一下np.square(a)在使用复杂的东西而不是a

我正在寻找计算矩阵中作为向量的列的范数的最佳方法。 我现在的代码是这样的,但我相信它可以做得更好(可能是numpy?):

返回:

[ 2.23606798  5.        ]

谢谢。

您可以使用UFUNC计算范数:

np.sqrt(np.sum(a*a, axis=0))

使用numpy的直接解决方案:

x = np.linalg.norm(a, axis=0)

可以使用np.linalg.norm(a,轴=0)复制。谢谢,我可以补充一下
np.square(a)
在使用复杂的东西而不是
a
时可能会更舒适。请注意,这不适用于复杂矩阵。正确的解决方案是在下一个答案中使用
np.linalg.norm
。此方法不适用于我的numy安装,我无法在网上找到任何关于它的文档。你能提供一些参考吗?@mattiasbe-see
x = np.linalg.norm(a, axis=0)