矩阵和线性代数
文章目錄
- 矩陣和線性代數
- 矩陣
- SVD提法
- 舉例
- 推導
- 代碼
- 分解效果
- 方陣行列式
- 范德蒙行列式
- 作用
- 代數余子式
- 伴隨矩陣
- 方陣的逆
- 矩陣乘法
- 模型
- 舉例
- 概率轉移矩陣
- 平穩分布:
- 向量乘法
- 矩陣的秩
- 秩與方程組的解
- 推論
- 向量組等價
- 系數矩陣
- 對C=AB重認識
- 正交陣
- 特征值和特征向量
- 性質
- 不同特征值對應特征向量
- 實對稱陣
- 結論
- 漂白
- 正定陣
- 正定陣判定
- 標準正交基
- QR分解
- QR分解算特征值
- 代碼
- LFM
- 矩陣求導
- 推導
- 推廣
- 標量對向量求導
- 推導
- 標量對方陣求導
- 歸納 正交陣 正定陣 對稱陣 對角陣 正交基
矩陣和線性代數
矩陣
SVD提法
1.奇異值分解是一種重要的矩陣分解方法,可以看作對稱方陣在任意矩陣推廣
1.1 Singular 突出的,奇特的,非凡的
1.2 似乎更應該稱之為“優值分解”
2.假設A是一個
則存在一個分解使得:
通常將奇異值由大而小排列,這樣,
3.與特征值,特征向量概念相對應:
舉例
假設我們現在有矩陣A,需要對其做奇異值分解
然后分別對它們進行求特征向量得到U和V
求出其中特征值開根號由大到小排列得到
推導
抓大頭,降維
代碼
def restore(sigma,u,v,k): #奇異值,左特征向量,右特征向量print km=len(u)n=len(v[0])a=np.zeros((m,n))for k in range(k+1):for i in range(m):a[i]+=sigma[k]*u[i][k]*v[k]b=a.astype('uint8')Image.fromarray(b).save("svd_"+str(k)+".png")分解效果
if __name__=="__main__":A=Image.open("son.png",'b'print Aoutput_path=r'.\SVD'if not os.path.exists(output_path):os.mkdir(output_path)a=np.array(A)print a.shapek=50u_r,sigma_r,v_r=np.linalg.svd(a[:,:,0]) u_g,sigma_g,v_g=np.linalg.svd(a[:,:,1])u_r,sigma_b,v_b=np.linalg.svd(a[:,:,2])plt.figure(figsize(10,10),facecolor='w')mp1.rcParams['font.sans-serif']=[u'simHei']mp1.rcParams['axes,unicode_minus']=Faisefor k in range(1,k+1):print kR=restorel(sigma_r,u_r,v_r,k)G=restorel(sigma_g,u_g,v_g,k) B=restorel(sigma_b,u_b,v_b,k)I=np.stack((R,G,B),axis=2)Image.fromarray(I).save('%s\\svd_%d.png'%(output_path,k))if k<=12:plt.subplot(3,4,k)plt.imshow(I)plt.axis('off')plt.title(u'奇異值個數:%d'%k)plt.suptitle(u'SVD與圖像分解',fontsize=20)plt.tight_layout(0.3,rect=(0,0,1,0.92))plt.show()方陣行列式
定義:方陣的行列式
1階方陣行列式為元素本身
n階方陣行列式等于它任一行(或列)各元素與其對應代數余子式乘積之和
范德蒙行列式
作用
證明矩陣是否有逆
:行列式為0或者非滿秩時矩陣無逆。此時矩陣向量線性相關
代數余子式
伴隨矩陣
如二階(a,b) , (c,d)伴隨矩陣為(d,-b),
(-c,a)即主對角線代數余子式不變,副對角線代數余子式交換位置
方陣的逆
主要方法是伴隨矩陣法即在原矩陣基礎上增加一個單位陣E增廣矩陣,通過行變化得到左邊為單位陣E而右邊即為所求逆矩陣
矩陣乘法
模型
考慮某隨機過程它的狀態有n個,用1-n表示。記在當前時刻t時位于i狀態,它在t+1時刻處于j狀態概率P(i,j)=P(j|i):
即狀態轉移概率只依賴于前一個狀態
馬爾可夫模型
舉例
假定按照經濟狀況將人群分成上、中、下三個階層,用1、2、3表示。假定當前處于某階層只和上一代有關,即:考察父代為第i階層,則子代為第j階層概率。假定如下轉移概率矩陣:
概率轉移矩陣
第n+1代中處于第j個階層的概率為:
因此,矩陣P即為(條件)概率轉移矩陣。
1.第i行元素表示:在上一個狀態為i時分布概率,即:每一行元素和為1.
平穩分布:
當迭代足夠多次的時候,多項分布至于轉移矩陣有關而與初始概率無關。
從而,這是轉移概率矩陣P的性質,而非初始分布的性質。事實上,上述矩陣P的n次冪,每行都是(0.286,0.489,0.225),n.>20
如果一個非周期馬爾可夫隨機過程具有轉移概率矩陣P,且它的任意兩個狀態都是聯通的,
事實上,下面兩種寫法等價:
同時,若某概率分布,說明
該多項分布是狀態轉移矩陣P的平穩分布;
線性方程xP=x的非負解為而唯一,因此是線性方程xP=x的唯一非負解
應用
向量乘法
A為mXn的矩陣,x為nX1的列向量,則Ax為mX1列向量,,
由于n維列向量和n維空間的點一一對應,上式實際給出了從n維空間點到m維空間點的線性變換
旋轉,平移(齊次坐標下)
特殊的,若m=n 且Ax 完成了n維空間內線性變換
矩陣的秩
在mXn矩陣A中,任取k行k列,不改變這個元素在A中次序,得到k階方陣,稱為矩陣A的k階子式。
顯然,mXn矩陣A的k階子式有個
設在矩陣A中有一個不等于0的r階子式D,且所有r+1階子式(如果存在的話)全等于0,那么D稱為矩陣A最高階非零子式,r稱為矩陣A的秩,記作R(A)=r
秩與方程組的解
對于n元線性方程組Ax=b
推論
Ax=0有非零解的充要條件是R(A)<n
Ax=b有解充要條件是R(A)=R(A,b)
向量組等價
能夠相互線性表出
系數矩陣
對C=AB重認識
由此可知,若C=AXB,則矩陣C的列向量能由A的列向量線性表示,B即為這一表示的系數矩陣。
對偶的,若C=AXB,則矩陣C的列向量能由B的行向量線性表示,A即為這一表示的系數矩陣
正交陣
若n階矩陣A滿足A為正交矩陣,簡稱正交陣
A是正交陣的充要條件:A的列(行)向量都是單位向量,且兩兩正交
A是正交陣,x為向量,則Ax稱作正交變換
正交變換不改變向量長度
特征值和特征向量
A是n階矩陣,若數和n維非0列向量x滿足,那么稱其為A的特征值,x稱為A對應于特征值的特征向量
性質
不同特征值對應特征向量
不同特征值對應特征向量,線性無關
實對稱陣
性質:
元素以對角線為對稱軸對應相等的矩陣。對稱陣
實對稱陣的特征值是實數
設復數λ為對稱陣A的特征值,復向量x為對應的
特征向量,即Ax=λx(x≠0),
將實數λ帶入方程組(A- λ I)x=0,該方程組為
實系數方程組,因此,實對稱陣的特征向量
可以取實向量。
實對稱陣不同特征值的特征向量正交
結論
設A為n階對稱陣,則必有正交陣P,使得
? Λ是以A的n個特征值為對角元的對角陣。
對角矩陣(diagonal matrix)是一個主對角線之外的元素皆為0的矩陣。對角線上的元素可以為0或其他值。
? 該變換稱為“合同變換”,A和Λ互為合同矩陣。
漂白
代碼
正定陣
對于n階方陣A,若任意n階向量x,都有
則稱A是正定陣。
? 若條件變成,則A稱作半正定陣
? 類似還有負定陣,半負定陣。
正定陣判定
對稱陣A為正定陣;
? A的特征值都為正;
? A的順序主子式大于0;
? 以上三個命題等價
順序主子式
標準正交基
若向量空間的基是正交向量組,則稱其為向量空間的正交基,若正交向量組的每個向量都是單位向量,則稱其為向量空間的標準正交基
QR分解
對于m×n的列滿秩矩陣A,必有:
其中(即列正交矩陣),R為非奇異上三角矩陣(類似方陣)。當要求R的對角線元素為正時,該分解唯一。
該分解為QR分解。可用于求解矩陣A的特征
值、A的逆等問題
QR分解算特征值
運用Q正交矩陣特點
代碼
def is_same(a,b):n=len(a)for i in range(n):if math.fabs(a[i]-b[i])>1e-6:return Falsereturn Trueif __name__="__main__':a=np.array([0.65,0.26,0.07,0.15,0.67,0.18,0.12,0.36,0.52])n=math.sqrt(len(a))a=a.reshape((n,n))value,v=np.linalg.elg(a)times=0while(times==0)or(not is_same(np.diag(a),v):v=np.diag(a)q,r=np.linalg.qr(a)a=np.dot(r,q)times+=1print"正交陣:\n",qprint"三角陣:\n",rprint"近似陣:\n",aprint"次數:",times,"近似值:",np.diag(a)print"精確特征值:",valueLFM
def inverse(a):b=np.zeros_like(a)n=len(a)c=np.eye(n)alpha=1for times in range(200):for i in range(n):for j in range(n):err=c[i][j]for k in range(n):b[j][k]+=areturn b,k矩陣求導
A為m×n的矩陣, x為n×1的列向量,則Ax
為m×1的列向量,
推導
推廣
標量對向量求導
數對向量求導
推導
標量對方陣求導
歸納 正交陣 正定陣 對稱陣 對角陣 正交基
對稱陣:沿著對角線元素對稱
對角陣:對角線有數據,其余為0
總結
- 上一篇: 要多大内存才满足_佛龛的尺寸要多大?
- 下一篇: 安卓 camera 调用流程_安卓如何做