1.numpy.linalg.norm方法简介
numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)[source]
The following norms can be calculated:
ord norm for matrices norm for vectors
None Frobenius norm 2-norm
‘fro’ Frobenius norm –
‘nuc’ nuclear norm –
inf max(sum(abs(x), axis=1)) max(abs(x))
-inf min(sum(abs(x), axis=1)) min(abs(x))
0 – sum(x != 0)
1 max(sum(abs(x), axis=0)) as below
-1 min(sum(abs(x), axis=0)) as below
2 2-norm (largest sing. value) as below
-2 smallest singular value as below
other – sum(abs(x)**ord)**(1./ord)
使用np.linalg.norm很实用,比如用2-norm可以很容易求得欧式距离等
2.求矩阵的三种范数
# -*- coding: utf-8 -*-
"""
@author: 蔚蓝的天空Tom
Talk is cheap, show me the code
Aim:用numpy.linalg.norm方法求矩阵的三种范数
Note numpy.linalog.norm ---> return Norm of the matrix or vector(s)
"""
import numpy as np
from numpy import linalg as LA
def norm_matrix():
'''求向量的三种范数
'''
A = np.array([[3, -4],