A的LU分解
矩陣乘積的逆矩陣
由\({ABB\mathop{{}}\nolimits^{{-1}}A\mathop{{}}\nolimits^{{-1}}=A \left( BB\mathop{{}}\nolimits^{{-1}} \left) A\mathop{{}}\nolimits^{{-1}}=I\right. \right. }\)
得\({ \left( AB \left) \mathop{{}}\nolimits^{{-1}}=B\mathop{{}}\nolimits^{{-1}}A\mathop{{}}\nolimits^{{-1}}\right. \right. }\)
矩陣乘積的轉置
本節先提前提一下轉置,下節會詳細講轉置
把矩陣\(A\)的轉置記為\({A\mathop{{}}\nolimits^{{T}}}\),對矩陣\(A\)的轉置就是把矩陣\(A\)的行變為矩陣\({A\mathop{{}}\nolimits^{{T}}}\)的列,把矩陣\(A\)的列變為矩陣\({A\mathop{{}}\nolimits^{{T}}}\)的行
例:\({A={ \left[ {{\left. \begin{array}{*{20}{l}} {1\text{ }\text{ }2\text{ }\text{ }3}\\ {4\text{ }\text{ }5\text{ }\text{ }6} \end{array} \right] }}\right. },A\mathop{{}}\nolimits^{{T}}={ \left[ {{\left. \begin{array}{*{20}{l}} {1\text{ }\text{ }4}\\ {2\text{ }\text{ }5}\\ {3\text{ }\text{ }6} \end{array} \right] }}\right. }}\)
矩陣乘積的轉置:
\({ \left( AB \left) \mathop{{}}\nolimits^{{T}}=B\mathop{{}}\nolimits^{{T}}A\mathop{{}}\nolimits^{{T}}\right. \right. }\)
轉置矩陣的逆矩陣
公式:\({ \left( A\mathop{{}}\nolimits^{{T}} \left) \mathop{{}}\nolimits^{{-1}}= \left( A\mathop{{}}\nolimits^{{-1}} \left) \mathop{{}}\nolimits^{{T}}\right. \right. \right. \right. }\)
證明:
\({\begin{array}{*{20}{l}} {AA\mathop{{}}\nolimits^{{-1}}=I \xrightarrow {\text{兩}\text{邊}\text{轉}\text{置}} \left( AA\mathop{{}}\nolimits^{{-1}} \left) \mathop{{}}\nolimits^{{T}}=I\mathop{{}}\nolimits^{{T}}\right. \right. }\\ { \xrightarrow {\text{根}\text{據}\text{矩}\text{陣}\text{乘}\text{積}\text{的}\text{轉}\text{置}\text{公}\text{式}} \left( A\mathop{{}}\nolimits^{{-1}} \left) \mathop{{}}\nolimits^{{T}}A\mathop{{}}\nolimits^{{T}}=I\right. \right. }\\ { \xrightarrow {\text{根}\text{據}\text{逆}\text{矩}\text{陣}\text{公}\text{式}} \left( A\mathop{{}}\nolimits^{{-1}} \left) \mathop{{}}\nolimits^{{T}}= \left( A\mathop{{}}\nolimits^{{T}} \left) \mathop{{}}\nolimits^{{-1}}\right. \right. \right. \right. } \end{array}}\)
矩陣的LU分解
通過上節課可以知道矩陣\(A\)通過一系列消元矩陣\(E\)得到矩陣\(U\)
比如一個二階矩陣,通過一次消元就可以達到效果:
\(\begin{array}{*{20}{l}} {{ \left[ {{\left. \begin{array}{*{20}{l}} {\text{ }1\text{ }\text{ }\text{ }0}\\ {-4\text{ }\text{ }1} \end{array} \right] }}\right. }{ \left[ {{\left. \begin{array}{*{20}{l}} {2\text{ }\text{ }1}\\ {8\text{ }\text{ }7} \end{array} \right] }}\right. }={ \left[ {{\left. \begin{array}{*{20}{l}} {2\text{ }\text{ }1}\\ {0\text{ }\text{ }3} \end{array} \right] }}\right. }}\\ {\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }E\mathop{{}}\nolimits_{{21}}A=U} \end{array}\)
由\({E\mathop{{}}\nolimits_{{-1}}^{{21}}E\mathop{{}}\nolimits_{{21}}A=E\mathop{{}}\nolimits_{{-1}}^{{21}}U \to A=E\mathop{{}}\nolimits_{{-1}}^{{21}}U}\)
由於\({E\mathop{{}}\nolimits_{{-1}}^{{21}}}\)是\({E\mathop{{}}\nolimits_{{21}}}\)的逆操作,\({E\mathop{{}}\nolimits_{{21}}}\)是矩陣\(A\)第二行減去4倍的第一行得到,所以\({E\mathop{{}}\nolimits_{{21}}}\)加上4倍的第一行就得到\({E\mathop{{}}\nolimits_{{-1}}^{{21}}}\)
結果為:
\({\begin{array}{*{20}{l}} {{ \left[ {{\left. \begin{array}{*{20}{l}} {2\text{ }\text{ }1}\\ {8\text{ }\text{ }7} \end{array} \right] }}\right. }={ \left[ {{\left. \begin{array}{*{20}{l}} {1\text{ }\text{ }\text{ }0}\\ {4\text{ }\text{ }1} \end{array} \right] }}\right. }{ \left[ {{\left. \begin{array}{*{20}{l}} {2\text{ }\text{ }1}\\ {0\text{ }\text{ }3} \end{array} \right] }}\right. }}\\ {\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }A=LU} \end{array}}\)
其中\(U\)為上三角矩陣(Upper triangular matrix),\(L\)即下三角矩陣(Lower triangular matrix)
還可以再次分解得到\(D\)(diagonal matrix):
\({\begin{array}{*{20}{l}} {{ \left[ {{\left. \begin{array}{*{20}{l}} {2\text{ }\text{ }1}\\ {8\text{ }\text{ }7} \end{array} \right] }}\right. }={ \left[ {{\left. \begin{array}{*{20}{l}} {1\text{ }\text{ }\text{ }0}\\ {4\text{ }\text{ }1} \end{array} \right] }}\right. }{ \left[ {{\left. \begin{array}{*{20}{l}} {2\text{ }\text{ }0}\\ {0\text{ }\text{ }3} \end{array} \right] }}\right. }{ \left[ {{\left. \begin{array}{*{20}{l}} {1\text{ }\text{ }1/2}\\ {0\text{ }\text{ }\text{ }\text{ }\text{ }1} \end{array} \right] }}\right. }}\\ {\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }A=\text{ }\text{ }\text{ }\text{ }L\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }D\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }U} \end{array}}\)
對於三階矩陣消元:
\({E\mathop{{}}\nolimits_{{32}} \left( E\mathop{{}}\nolimits_{{31}} \left( E\mathop{{}}\nolimits_{{21}}A \left) \left) =U\right. \right. \right. \right. }\)
如果有下面這種情況:

會出現10這種情況,再更大的矩陣可能會有更大的數
利用\(LU\)分解:

就不會出現上面的那種情況,簡化計算
矩陣消元的運算量
在一些矩陣應用中,往往會處理超大的矩陣,即便使用計算機進行處理,也要考慮時間復雜度
對於一個\(n \times n\)的矩陣,假如一次乘法和加法算一次操作,那么需要多少次操作才能完成所有的消元?
一行要進行\(n\)次運算,\(n-1\)行要進行\({n \times \left( n-1 \left) \approx n\mathop{{}}\nolimits^{{2}}\right. \right. }\)次運算,得到第一列的結果,后面以此類推,得到共需要消元次數:\({{n\mathop{{}}\nolimits^{{2}}}+ \left( n-1 \left) \mathop{{}}\nolimits^{{2}}+\text{ ……}+2\mathop{{}}\nolimits^{{2}}+1\mathop{{}}\nolimits^{{2}}={\mathop{ \sum }\limits_{{i=1}}^{{n}}{i\mathop{{}}\nolimits^{{2}} \approx {\mathop{ \int }\nolimits_{{0}}^{{n}}{x\mathop{{}}\nolimits^{{2}}dx}}=\frac{{1}}{{3}}n\mathop{{}}\nolimits^{{3}}}}\right. \right. }\)
這是求變換\(A\)需要多少次操作,那么對於右側常數列\(b\),易得其需要\(n\mathop{{}}\nolimits^{{2}}\)級別操作,而我們經常會遇到矩陣\(A\)和好幾個右側向量\(b\)的情形,所以如果我們之前花時間將\(A\)先分解為\(LU\),那么之后就可以以較少操作次數去處理每一個右側向量\(b\)了