schmidt正交化
主要思路:非奇異的矩陣各列向量線性無關,可以利用schmidt正交化公式(再加上單位化),將每個列向量化為相互正交的單位向量q。則a=qr,r可以由正交化和單位化過程中生成的中間變數直接寫出。
givens變換(旋轉變換)
主要思路:
householder變換(反射變換)
主要思路:
ps:乙個映象變換可以分解為兩個旋轉變換,即乙個householder矩陣可以分解為兩個(其實偶數個即可,奇數個不行)givens矩陣的乘積,但反之則不然,這是因為givens矩陣的行列式為-1,householder矩陣行列式為1,因此,無論多少個householder矩陣的乘積的行列式也無法為-1。那麼如何將householder矩陣分解為兩個givens矩陣呢?可以採用構造法,如下:
現在考完試了,發現不重要,所以就不寫了。。。
雖然qr分解有這麼多種方法,但本質和條件都是一樣的,只是過程不同,計算的複雜度也不同,一般來說施密特正交化方法就夠了,或許這也是為什麼課本上只講了第一種方法而沒講後面的方法吧。
這個分解主要是適用於更普遍的情況,比如不是方陣的情形,只需要滿足正規性的條件即可酉相似於對角陣。
滿秩分解的操作性相對較強,特點是對任意矩陣的可以分解為乙個列滿秩和乙個行滿秩矩陣的乘積。應用於廣義逆的求解中。
奇異值分解也是適用於任意矩陣(不管是否方陣,是否可對角化,是否正規等等),形式上類似於正規矩陣的schur分解,但是可以通過分解得到的奇異值對矩陣進行降維處理,主要在實際工程中使用,如推薦演算法(利用奇異值分解提取特徵資訊,以此**使用者偏好等資訊)。
這個是在計算矩陣函式時比較有用的,在複習的過程中才發現了它的重要性,考試也考到了。譜分解即將乙個可對角化的矩陣a分解成幾項之和,每一項是特徵值乘以乙個矩陣,這些矩陣由a的特徵值決定。當我們需要求矩陣函式f(a)時,只需要將譜分解公式中的特徵值x替換為f(x)即可。可以算是很方便了。
綜上所述,矩陣的分解有多種不同的形式,也有不同的應用場景。有的用於數學分析推導,有的用於工程計算,但是基本上在matlab裡都有直接的函式可以呼叫,因為分解的步驟都是固定的,程式化的。考試的時候也只是記憶住步驟就可以做題了,但是我覺得還是要對原理理解的透徹才算真正學到,否則就只是在做一台超慢計算機罷了。有機會要聽一聽學姐推薦的麻省理工的線性代數課程,這個寒假就看!加油吧少女!
矩陣分解相關知識回顧
大學線性代數課程中我們學習了很多關於矩陣分解的方法,這些在概率統計 統計機器學習等方面都有很多應用。設a是數域f上的n階矩陣,如果存在數域f中的乙個數 與數域上f的非零向量 使得 a 則稱 為a的乙個特徵值 根 eigenvalue 稱 為a的屬於特徵值 的特徵向量 eigenvector 顯然從上...
矩陣分解 Cholesky分解
矩陣分解是將矩陣拆解為數個矩陣的乘積,可分為三角分解 滿秩分解 qr分解 jordan分解和svd 奇異值 分解等。cholesky分解法是求解對稱正定線性方程組最常用的方法之一。可採用如下命令 r chol a 產生乙個上三角陣r,使r r a。若a為非對稱正定,則輸出乙個出錯資訊。r,p cho...
非負矩陣分解 低秩矩陣分解
一般的矩陣分解,分解的矩陣有正有負。很多實際應用中,負數沒有意義,如文字等等。nmf中要求原矩陣和分解後矩陣都為非負矩陣,這個分解存在唯一。引入稀疏,區域性計算。以人臉識別為例 v r n m v in r v r n m m張臉,每張圖n個畫素 w r n r w in r w r n r 基矩陣...