最直接的方式当然是用numpy.linalg.norm()来计算
参考:https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.norm.html
这里想说的是axis参数问题:
from numpy import linalg as LA
>>> c = np.array([[ 1, 2, 3], [-1, 1, 4]])
>>> LA.norm(c, axis=0)
array([ 1.41421356, 2.23606798, 5. ])
>>> LA.norm(c, axis=1)
array([ 3.74165739, 4.24264069])
>>> LA.norm(c, ord=1, axis=1)
array([ 6., 6.])
axis为0的时候,对于二维矩阵是计算它的列向量的norm;
axis为1的时候,对于二维矩阵是计算它的行向量的norm。
这也很好理解,毕竟列是第一维,而行是第二维,故顺序如此。
另外还有一个ord参数,定义的是计算什么norm,参数列表如下: