numpy.linalg.norm(求範數)
阿新 • • 發佈:2018-04-08
inf none 線性 ron image .com 多個 port print
1、linalg=linear(線性)+algebra(代數),norm則表示範數。
2、函數參數
x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)
①x: 表示矩陣(也可以是一維)
②ord:範數類型
向量的範數:
矩陣的範數:
ord=1:列和的最大值
ord=2:|λE-ATA|=0,求特征值,然後求最大特征值得算術平方根
ord=∞:行和的最大值
③axis:處理類型
axis=1表示按行向量處理,求多個行向量的範數
axis=0表示按列向量處理,求多個列向量的範數
axis=None表示矩陣範數。
④keepding:是否保持矩陣的二維特性
True表示保持矩陣的二維特性,False相反
3、代碼實現
import numpy as np x = np.array([ [0, 3, 4], [1, 6, 4]]) #默認參數ord=None,axis=None,keepdims=False print "默認參數(矩陣2範數,不保留矩陣二維特性):",np.linalg.norm(x) print "矩陣2範數,保留矩陣二維特性:",np.linalg.norm(x,keepdims=True)print "矩陣每個行向量求向量的2範數:",np.linalg.norm(x,axis=1,keepdims=True) print "矩陣每個列向量求向量的2範數:",np.linalg.norm(x,axis=0,keepdims=True) print "矩陣1範數:",np.linalg.norm(x,ord=1,keepdims=True) print "矩陣2範數:",np.linalg.norm(x,ord=2,keepdims=True) print "矩陣∞範數:",np.linalg.norm(x,ord=np.inf,keepdims=True)print "矩陣每個行向量求向量的1範數:",np.linalg.norm(x,ord=1,axis=1,keepdims=True)
結果顯示:
4、總結
①矩陣的三種範數求法
②向量的三種範數求法
numpy.linalg.norm(求範數)