第四節 矩陣乘積的逆矩陣


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. }\)

如果有下面這種情況:

4.1

會出現10這種情況,再更大的矩陣可能會有更大的數

利用\(LU\)分解:

4.2

就不會出現上面的那種情況,簡化計算

矩陣消元的運算量

在一些矩陣應用中,往往會處理超大的矩陣,即便使用計算機進行處理,也要考慮時間復雜度

對於一個\(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\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM