numpy.linalg.eig() 計算矩陣特徵向量方式
阿新 • • 發佈:2020-01-09
在PCA中有遇到,在這裡記錄一下
計算矩陣的特徵值個特徵向量,下面給出幾個示例程式碼:
在使用前需要單獨import一下
>>> from numpy import linalg as LA
>>> w,v = LA.eig(np.diag((1,2,3))) >>> w; v array([ 1.,2.,3.]) array([[ 1.,0.,0.],[ 0.,1.,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.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.,1.]])
官方文件連結:http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eig.html
以上這篇numpy.linalg.eig() 計算矩陣特徵向量方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。