python numpy np.linalg的用法

numpy下的linalg=linear+algebra,包含很多線性代數的運算,主要用法有以下幾種:

1.np.linalg.norm:進行範數運算,範數是對向量(或者矩陣)的度量,是一個標量(scalar);

2.np.linalg.eigh:計算矩陣特徵向量,PCA中有使用到,下面是幾個例子:

>>> w, v = LA.eig(np.diag((1, 2, 3)))  
>>> w; v  
array([ 1.,  2.,  3.])  
array([[ 1.,  0.,  0.],  
       [ 0.,  1.,  0.],  
       [ 0.,  0.,  1.]])  
>>> w, v = LA.eig(np.array([[1, -1], [1, 1]]))  
>>> w; v  
array([ 1. + 1.j,  1. - 1.j])  
array([[ 0.70710678+0.j        ,  0.70710678+0.j        ],  
       [ 0.00000000-0.70710678j,  0.00000000+0.70710678j]])  
>>> a = np.array([[1, 1j], [-1j, 1]])  
>>> w, v = LA.eig(a)  
>>> w; v  
array([  2.00000000e+00+0.j,   5.98651912e-36+0.j]) # i.e., {2, 0}  
array([[ 0.00000000+0.70710678j,  0.70710678+0.j        ],  
       [ 0.70710678+0.j        ,  0.00000000+0.70710678j]])  

>>> a = np.array([[1 + 1e-9, 0], [0, 1 - 1e-9]])  
>>> # Theor. e-values are 1 +/- 1e-9  
>>> w, v = LA.eig(a)  
>>> w; v  
array([ 1.,  1.])  
array([[ 1.,  0.],  
       [ 0.,  1.]])  

3.np.linalg.inv():矩陣求逆

4.np.linalg.det():矩陣求行列式(標量)



    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章