本文地址:https://www.cnblogs.com/faranten/p/15861531.html
轉載請注明作者與出處
1 矩陣的LU分解
1.1 矩陣LU分解的步驟推導
矩陣的LU分解又稱矩陣的三角分解,該分解方法是基於矩陣的Gauss消去法導出的。矩陣的LU分解得到的結果是方陣\(A\)被表示成一個下三角矩陣\(L\)和上三角矩陣\(U\)的乘積,也就是\(A=LU\)。進一步,如果分解的結果可以是\(A=LDU\),其中\(D\)為對角矩陣,\(L\)和\(U\)分別為單位下三角矩陣和單位上三角矩陣,那么則稱這種分解為矩陣的LDU分解。Gauss消去法是由一系列初等行變換組成的,對方陣\(A\)實行這些初等行變換等價於對方陣\(A\)左乘一系列的初等行變換矩陣,矩陣LU分解的關鍵一步就是找出這些初等行變換矩陣,也就是要找到
使得方陣\(A^{(n-1)}\)為上三角矩陣,記為\(U=A^{(n-1)}\),又因為可以證明此時的矩陣\(L=L_1L_2\cdots L_{n-1}\)是一個單位下三角矩陣,所以這樣就完成了矩陣的LU分解。對於一個方陣是否可做LDU分解,可用順序主子式來判斷:方陣\(A=(a_{ij})_{n\times n}\)可做LDU分解當且僅當\(A\)的順序主子式\(\Delta_k\neq0\),其中\((k=1,2,\cdots,n-1)\)。矩陣的LU分解和矩陣的LDU分解在具體操作上只有一點不同,這個不同將在后面結合具體的例子來說明。
當矩陣的前\(n-1\)個順序主子式均非零的條件不滿足的時候,需要先對\(A\)左乘(或右乘)置換矩陣\(P\)之后再進行分解,得到\(PA=LDU\)。
最后介紹兩個概念:矩陣的Doolittle分解是指\(A=L(DU)=L\hat{U}\);而矩陣的Crout分解是指\(A=(LD)U=\hat{L}U\)。
1.2 舉例展示求法
下面以《矩陣論》一書例4.1為基礎說明矩陣的LU分解和矩陣的LDU分解的具體過程。
例4.1 求矩陣\(A\)的LDU分解,其中
\[A= \begin{bmatrix} 2 & 1 & -3\\ 1 & 2 & 1\\ 2 & 4 & 2 \end{bmatrix} \]
因為順序主子式\(\Delta_1=2\neq0\),\(\Delta_2=5\neq0\),因此可以唯一地進行矩陣的LDU分解。構造矩陣
此時注意矩陣\(L_1\)結構上的特殊性保證了其在求逆的時候只需要將下三角部分取相反數即可,這減少了計算量。那么就有
此時再構造
然后計算得到
此時就得到了一個上三角矩陣\(A^{(2)}\),在矩陣的LU分解中,此時可以令\(L=L_1L_2\)以及\(U=A^{(2)}\),分解完成,但是在矩陣的LDU分解中,還需要將\(A^{(2)}\)進一步分解成一個對角矩陣和一個單位上三角矩陣(可以先設出單位上三角矩陣的待定形式之后進行反解),也就是
那么令\(L=L_1L_2\),則可以得到方陣\(A\)的LDU分解為
2 矩陣的QR分解
2.1 矩陣QR分解的步驟推導
矩陣的QR分解又稱矩陣的正交三角分解,所使用的方法基於Schmidt正交化、或者Givens變換或者Householder變換。Schmidt正交化的概念已經十分熟悉,下面介紹Givens變換和Householder變換的概念。Givens變換指的是初等旋轉變換,Givens矩陣為
其中兩個含有\(-s\)的行分別為第\(i\)行和第\(j\)行(\(i<j\)),並且\(c^2+s^2=1\)。對一個向量進行Givens變換所得到的結果是改變這個向量的方向但是不改變這個向量的模(長度),而且對任何一個非零向量經過有限次的Givens變換總能時使其方向和\(e\)向量的方向相同,這一點由這個定理保證:設\(x=(\xi_1,\xi_2,\cdots,\xi_n)^T\neq0\),則存在有限個Givens矩陣的乘積,記作\(T\),使得\(Tx=|x|e_1\),那么就有這樣一個推理:設非零列向量\(x\in R^n\)即單位列向量\(z\in R^n\),則存在有限個Givens矩陣的乘積,記作\(T\),使得\(Tx=|x|z\)。
Householder變換指的是對稱變換,Householder矩陣為:\(H=I-2uu^T\),對一個向量左乘Householder矩陣\(H\),實現的效果是將向量\(x\)映射為關於與單位向量\(u\)正交的\(n-1\)維子空間對稱的向量\(y\)。Householder矩陣又稱為初等反射矩陣,它具有一些常見性質:
並且有這樣一個定理:對於任何非零列向量\(x\in R^n(n>1)\)及單位列向量\(z\in R^n\),存在Householder矩陣\(H\),使得\(Hx=|x|z\),這和Givens矩陣的一個定理是類似的。而且,需要指出的是,初等旋轉矩陣是兩個初等反射矩陣的乘積,這也由相應的定理保證。
在介紹完Givens變換和Householder變換之后,下面來正式介紹矩陣的QR分解:如果實(復)可逆矩陣\(A\)能夠化成正交(酉)矩陣\(Q\)與實(復)可逆上三角矩陣\(R\)的乘積,即\(A=QR\),則稱此式為\(A\)的QR分解。矩陣的QR分解有三個思路:一種方法是使用Schmidt正交化、一種方法是使用Givens變換、一種方法是使用Householder變換。
對於Schmidt正交化的思路,有如下定理:設\(A\)是\(n\)階實(復)可逆矩陣,則存在正交(酉)矩陣\(Q\)和實(復)可逆上三角矩陣\(R\),使\(A\)有QR分解,且除去一個對角元素的絕對值(模)全等於\(1\)的對角矩陣因子外,分解式\(A=QR\)是唯一的。下面將給出這個定理的證明。
記矩陣\(A\)的\(n\)個列向量依次為\(a_1,a_2,\cdots,a_n\),因為\(A\)可逆,故這\(n\)個列向量線性無關,可以進行正交化。在線性代數課程中已經對Schmidt正交化進行了足夠詳細的討論,故本論文將在此處直接給出結果。對它們使用Schmidt正交化方法進行正交化,可以得到\(n\)個標准正交列向量\(q_1,q_2,\cdots,q_n\),且有
其中
且
之后令\(Q=(q_1,q_2,\cdots,q_n)\)以及\(R=diag(|b_1|,|b_2|,\cdots,|b_n|)\cdot C\),就完成了矩陣的QR分解。
上面所述的定理是從Schmidt正交化的角度進行矩陣的QR分解,下面的定理將從Givens變換的角度將矩陣的QR分解進行推廣:設\(A\)是\(m\times n\)實(復)矩陣,且其\(n\)個列線性無關,則\(A\)有分解\(A=QR\),其中\(Q\)是\(m\times n\)實(復)矩陣,且滿足\(Q^TQ=I(Q^HQ=I)\),\(R\)是\(n\)階實(復)可逆上三角矩陣,該分解除去一個對角元素的絕對值(模)全等於\(1\)的對角矩陣因子外是唯一的。下面將給出這個定理的證明。
第一步:由\(\det A\neq0\)知,\(A\)的第一列\(b^{(1)}=(a_{11},a_{12},\cdots,a_{n1})^T\neq0\),那么從前面關於Givens變換的敘述知道,存在有限個Givens矩陣的乘積,記作\(T_1\),使得\(T_1b^{(1)}=|b^{(1)}|e_1\),其中\(e_1\in R^n\),令\(a_{11}^{(1)}=|b^{(1)}|\)則有
第二步:由\(\det A^{(1)}\neq0\)知,\(A^{(1)}\)的第一列\(b^{(2)}=(a_{22}^{(1)},a_{32}^{(1)},\cdots,a_{n2}^{(1)})^T\neq0\),那么從前面關於Givens變換的敘述知道,存在有限個Givens矩陣的乘積,記作\(T_2\),使得\(T_2b^{(2)}=|b^{(2)}|e_1\),其中\(e_1\in R^{n-1}\),令\(a_{22}^{(2)}=|b^{(2)}|\)則有
這樣不斷迭代下去,就能找到一系列的矩陣\(T_i\),最終得到
最后令
這樣,矩陣\(T\)就是有限個Givens矩陣的乘積且有
將上面最終得到的上三角矩陣記為\(R\),且令\(Q=T^{-1}\),這樣就完成了矩陣的QR分解。
上述過程是從Givens變換的角度來進行矩陣的QR分解,下面將從Householder變換的角度來進行矩陣的QR分解,有如下定理:任何實可逆矩陣\(A\)可通過左連乘Householder矩陣化為可逆上三角矩陣。下面將給出這個定理的證明。
第一步:由\(\text{det}A\neq0\)知,\(A\)的第一列\(b^{(1)}=(a_{11},a_{12},\cdots,a_{n1})^T\neq0\),那么從前面關於Householder變換的敘述知道,存在Householder矩陣\(H_1\),使得\(H_1b^{(1)}=|b^{(1)}|e_1\),其中\(e_1\in R^n\),令\(a_{11}^{(1)}=|b^{(1)}|\)則有
第二步:由\(\text{det}A^{(1)}\neq0\)知,\(A^{(1)}\)的第一列\(b^{(2)}=(a_{22}^{(1)},a_{32}^{(1)},\cdots,a_{n2}^{(1)})^T\neq0\),那么從前面關於Householder變換的敘述知道,存在Householder矩陣\(H_2\),使得\(H_2b^{(2)}=|b^{(2)}|e_1\),其中\(e_1\in R^{n-1}\),令\(a_{22}^{(2)}=|b^{(2)}|\)則有
這樣不斷迭代下去,就能找到一系列的矩陣\(H_i\),最終得到
最后令
並且注意到當\(H_u\)是\(n-l\)階Householder矩陣(即\(H_u=I_{n-l}-2uu^T\))的時候,令\(v=(0,u)^T\in R^n\),則有\(v^Tv=u^Tu=1\),且容易證明\(\begin{bmatrix}I_{l} & O\\O & H_{u}\end{bmatrix}=I_n-2vv^T\),這樣,矩陣\(S\)就是有限個Householder矩陣的乘積且有
將上面最終得到的上三角矩陣記為\(R\),且令\(Q=S^{-1}\),這樣就完成了矩陣的QR分解。
這樣,我們給出了三種思路來進行矩陣的QR分解:一種方法是使用Schmidt正交化、一種方法是使用Givens變換、一種方法是使用Householder變換,這三種方法將在下面的例子中分別加以說明。
2.2 舉例展示求法
下面以《矩陣論》一書例4.6為基礎說明使用Schmidt正交化方法進行矩陣QR分解的具體過程。
例4.6 用Schmidt正交化方法進行矩陣\(A\)的QR分解,其中
\[A= \begin{bmatrix} 1 & 2 & 2\\ 2 & 1 & 2\\ 1 & 2 & 1 \end{bmatrix} \]
可以提取出矩陣\(A\)的三個列向量分別為
使用Schmidt正交化方法對這三個列向量進行正交化得到
對得到的三個正交的列向量進行單位化之后可以構造出矩陣\(Q\)為
這樣就構造出了矩陣\(Q\),故現在的任務是構造出矩陣\(R\)就能完成矩陣的QR分解,根據步驟推導所述的內容,容易構造出
下面以《矩陣論》一書例4.7為基礎說明使用Givens變換方法進行矩陣QR分解的具體過程。
例4.7 用初等旋轉變換求矩陣\(A\)的QR分解,其中
\[A= \begin{bmatrix} 0 & 1 & 1\\ 1 & 1 & 0\\ 1 & 0 & 1 \end{bmatrix} \]
對\(A\)的第一列\(b^{(1)}=(0,1,1)^T\)構造\(T_1\),使得\(T_1b^{(1)}=|b^{(1)}|e_1\)有
此后再對\(A^{(1)}\)的第一列進行類似的操作,不斷迭代,按照理論推導中敘述的思路,最后就能得到
這樣就完成了矩陣\(A\)的QR分解。
下面以《矩陣論》一書例4.8為基礎說明使用Householder變換方法進行矩陣QR分解的具體過程。
例4.8 用Householder變換求矩陣\(A\)的QR分解,其中
\[A= \begin{bmatrix} 3 & 14 & 9\\ 6 & 43 & 3\\ 6 & 22 & 15 \end{bmatrix} \]
對\(A\)的第一列\(b^{(1)}=(3,6,6)^T\)構造\(T_1\),使得\(T_1b^{(1)}=|b^{(1)}|e_1\)有
此后再對\(A^{(1)}\)的第一列進行類似的操作,不斷迭代,按照理論推導中敘述的思路,最后就能得到
3 矩陣的滿秩分解
3.1 矩陣滿秩分解的步驟推導
矩陣的滿秩分解是指將非零矩陣分解為列滿秩矩陣與行滿秩矩陣的乘積。設\(A\in C_r^{m\times n}(r>0)\),如果存在矩陣\(F\in C_r^{m\times r}\)和\(G\in C_r^{r\times n}\),使得\(A=FG\),則稱此式為矩陣\(A\)的滿秩分解。並且當\(A\)是滿秩(列滿秩或行滿秩)矩陣時,\(A\)可以分解為一個因子是單位矩陣,另一個因子是\(A\)本身,此時稱此滿秩分解為平凡分解。
當\(\text{rank}A=r\)時,可以對\(A\)進行初等行變換將\(A\)化為階梯形矩陣\(B\),即\(A\rightarrow B=\begin{bmatrix}G\\O\end{bmatrix}\),其中\(G\in C_r^{r\times n}\)。於是存在有限個\(m\)階初等矩陣的乘積\(P\)使得\(PA=B\),也就有
以上敘述給出了使用初等行變換方法進行矩陣滿秩分解的思路,但是求解矩陣\(P\)及其逆矩陣的計算有時是十分麻煩的,下面給出使用Hermite標准型的思路來回避掉這些可能會比較復雜的運算。
設\(B\in C_r^{m\times n}(r>0)\),且滿足
那么就稱\(B\)為Hermite標准型。實際上,Hermite標准型就是初等變換意義下的行最簡形。另外,如果\(B\)滿足
則稱\(B\)為擬Hermite標准型。在矩陣的滿秩分解過程中使用(擬)Hermite標准型可以簡化計算:滿秩分解式\(A=FG\)中可取\(F\)為\(A\)的\(j_1,j_2,\cdots,j_r\)列構成的\(m\times r\)矩陣,\(G\)為\(B\)的前\(r\)行構成的\(r\times n\)矩陣,這條性質由相應的定理保證。
上面實際上給出了兩種進行矩陣的滿秩分解的思路:一種是用初等行變換進行求解,另一種是用(擬)Hermite標准型進行求解,下面將分別用例子演示這兩種方法。
3.2 舉例展示求法
下面以《矩陣論》一書例4.10為基礎說明使用初等行變換方法來進行矩陣滿秩分解的具體過程。
例4.10 求矩陣\(A\)的滿秩分解,其中
\[A= \begin{bmatrix} -1 & 0 & 1 & 2\\ 1 & 2 & -1 & 1\\ 2 & 2 & -2 & -1 \end{bmatrix} \]
需要對矩陣\(A\)進行初等行變換使其成為階梯形矩陣\(B\),並且需要得到初等矩陣的乘積\(P\),根據線性代數中的思路,先將矩陣\(A\)擴展成為矩陣\(\left[\begin{array}{c:c}A & I\end{array}\right]\)之后再進行初等行變換便能得到\(\left[\begin{array}{c:c}B & P\end{array}\right]\),容易得到
於是有
下面以《矩陣論》一書例4.11為基礎說明使用Hermite思路來進行矩陣滿秩分解的具體過程。
例4.11 求矩陣\(A= \begin{bmatrix} 0 & 0 & 1\\ 2 & 1 & 1\\ 2j & j & 0 \end{bmatrix}\)的滿秩分解,其中\(j=\sqrt{-1}\)
對矩陣\(A\)進行初等行變換得到:
其中\(B\)是Hermite標准型,因為\(B\)的第一列和第三列構成了\(I_3\)的前兩列,所以\(F\)為\(A\)的第一列和第三列構成的\(3\times2\)矩陣,從而有
4 矩陣的奇異值分解
4.1 矩陣奇異值分解的步驟推導
矩陣的奇異值分解是一種基於矩陣\(A^HA\)的特征值的分解方法。在正式介紹矩陣的奇異值分解之前,首先需要下面三個易證結論:
下面先給出奇異值的概念:設\(A\in C_r^{m\times n}(r>0)\),\(A^HA\)的特征值為\(\lambda_1\geq\lambda_2\geq\cdots\geq\lambda_r>\lambda_{r+1}=\cdots=\lambda_n=0\),則稱\(\sigma_i=\sqrt{\lambda_i}(i=1,2,\cdots,n)\)為\(A\)的奇異值;當\(A\)為零矩陣時,它的奇異值都是\(0\)。矩陣的奇異值分解由這樣一個定理保證:設\(A\in C_r^{m\times n}(r>0)\),則存在\(m\)階酉矩陣\(U\)和\(n\)階酉矩陣\(V\),使得\(U^HAV=\begin{bmatrix}\Sigma & O\\O & O\end{bmatrix}\),其中\(\Sigma=\text{diag}(\sigma_1,\sigma_2,\cdots,\sigma_r)\),而\(\sigma_i(i=1,2,\cdots,r)\)為矩陣\(A\)的全部非零奇異值。下面將給出這個定理的證明。
記Hermite矩陣\(A^HA\)的特征值為\(\lambda_1\geq\lambda_2\geq\cdots\geq\lambda_r>\lambda_{r+1}=\cdots=\lambda_n=0\),則存在\(n\)階酉矩陣\(V\),使得
將矩陣\(V\)分塊得到\(V=\left[\begin{array}{c:c}V_1 & V_2\end{array}\right]\),其中\(V_1\in C_r^{n\times r},V_2\in C_{n-r}^{n\times(n-r)}\),那么上式可以改寫為
那么有\(A^HAV_1=\Sigma^2\)以及\(A^HAV_2=O\),則有\((AV_1\Sigma^{-1})^H(AV_1\Sigma^{-1})=I_r\)以及\((AV_2)^H(AV_2)\),此時可令\(U_1=AV_1\Sigma^{-1}\),則有\(U_1^HU_1=I_r\),即\(U_1\)的\(r\)個列向量是兩兩正交的單位向量,記作\(U_1=(u_1,u_2,\cdots,u_r)\)。現在可將\(u_1,u_2,\cdots,u_r\)擴充為\(C^m\)的標准正交基,記增添的向量為\(u_{r+1},\cdots,u_m\),並構造矩陣\(U_2=(u_{r+1},\cdots,u_m)\),這樣就得到了矩陣\(U=\left[\begin{array}{c:c}U_1 & U_2\end{array}\right]\),於是可得
4.2 舉例展示求法
下面以《矩陣論》一書例4.14為基礎說明矩陣奇異值分解的具體過程。
例4.14 求矩陣\(A= \begin{bmatrix} 1 & 0 & 1\\ 0 & 1 & 1\\ 0 & 0 & 0 \end{bmatrix}\)的奇異值分解
首先計算出矩陣\(B=A^TA\)的特征值與特征向量:
於是可得\(\text{rank}A=2\)以及\(\Sigma=\begin{bmatrix}\sqrt3 & 0\\0 & 1\end{bmatrix}\),利用上述的特征向量可以構造出矩陣\(V\)、利用步驟推導中的思路可以求得矩陣\(U\),如下:
然后可以使用步驟推導中的思路求得矩陣\(U\):
因此矩陣\(A\)的奇異值分解為:
4.3 利用奇異值分解求矩陣廣義逆
矩陣的奇異值分解的一個重要的應用就是求矩陣的廣義逆矩陣。下面先介紹廣義逆矩陣的概念:設矩陣\(A\in C^{m\times n}\),若矩陣\(X\in C^{n\times m}\)對於以下四個Penrose方程:
如果矩陣\(X\)滿足以上四個方程中的一個或幾個,則稱其為矩陣\(A\)的廣義逆;如果四個方程全部滿足,則稱其為矩陣\(A\)的Moore-Penrose逆,記為\(A^+\),且這種廣義逆矩陣是唯一的,它具有以下性質:
最后需要指出,當矩陣\(A\)為滿秩方陣的時候,則有\(A^+=A^{-1}\)。
可以使用矩陣的奇異值分解來求矩陣的Moore-Penrose逆,這由下面的定理保證:設\(A\in C_r^{m\times n}\)的奇異值分解為\(A=U\begin{bmatrix}\Sigma_r & O\\O & O\end{bmatrix}_{m\times n}V^H\),則有\(A^+=V\begin{bmatrix}\Sigma_r^{-1} & O\\O & O\end{bmatrix}_{m\times n}U^H\)。這條定理的證明是容易的,只需要說明此處構造出的矩陣\(A^+\)滿足上述四個Penrose方程即可。由於應用這條定理求矩陣的Moore-Penrose逆的操作是十分顯然的,故此處不再單獨舉例展示該定理的具體使用步驟。
5 參考資料
- 《矩陣論》,張凱院,徐仲,西北工業大學出版社

