1.設A爲n階矩陣,若存在常數λ及n維非零向量x,使得Ax=λx,則稱λ是矩陣A的特徵值,x是A屬於特徵值λ的特徵向量。
A的全部特徵值的全體,叫作A的譜,記爲λ(A)
2.特徵分解(Eigendecomposition),又稱譜分解(Spectral decomposition)是將矩陣分解爲由其特徵值和特徵向量表示的矩陣之積的方法。須要注意只有對可對角化矩陣才能夠施以特徵分解。
一個矩陣的一組特徵向量是一組正交向量。python
令 A 是一個 N×N 的方陣,且有 N 個線性無關的特徵向量 。這樣, A 能夠被分解爲:ide
其中Q是這個矩陣A的特徵向量組成的矩陣,Σ是一個對角陣,每一個對角線上的元素就是一個特徵值。這裏須要注意只有可對角化矩陣才能夠做特徵分解。3d
只有對角線上有非0元素的矩陣稱爲對角矩陣,或說若一個方陣除了主對角線上的元素外,其他元素都等於零,則稱之爲對角陣。
特徵值分解是一個提取矩陣特徵很不錯的方法,可是它只是對方陣而言的code
import numpy as np x=np.mat(np.array([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]])) print(x) print(np.linalg.det(x)) s,v,d=np.linalg.svd(x) print (f"{s}\n\n{v}\n\n{d}\n")
[[1. 2. 3.]
[4. 5. 6.]
[7. 8. 9.]]
-9.51619735392994e-16
[[-0.21483724 0.88723069 0.40824829]
[-0.52058739 0.24964395 -0.81649658]
[-0.82633754 -0.38794278 0.40824829]]blog
[1.68481034e+01 1.06836951e+00 3.33475287e-16]it
[[-0.47967118 -0.57236779 -0.66506441]
[-0.77669099 -0.07568647 0.62531805]
[-0.40824829 0.81649658 -0.40824829]]io