python 程式練習(1)-求反矩陣

求反矩陣

1.題目說明:

矩 陣 A 是 方 陣 (Square Matrix) 時才會有反矩陣。 高斯-喬登消去法 (Gauss-Jordan Elimination)是求反矩陣的好方法,因可避免複雜的原矩陣及伴隨 矩陣的行列式運算。以下說明高斯-喬登消去法,並以範例說明其應用方式。

 

 

2.範例:

 
 

 

所以反矩陣為:

 

 

3.程式解說:

 

首先用python 構造出一個副函式–創造一個單位對角矩陣,高斯反矩陣作法就是把原來的矩陣經過行列運算後想辦法變成單位矩陣,而原本的單位矩陣也要跟著做同樣的行列運算,所以可以先實作出第1部份,做完了直接把單位矩陣加在同樣的地方做改變就好。

 

程式中有一個主迴圈,d 代表每次要除的那個對角元素,然後對角元素的那一列每個都要除以這個數字(我以temp先存起來),再來要利用這個除過的列去對其他列(r)做列運算,把每一列的第1行都變成0,但是必須跳過d的那一列,例如我現在把第1列都除以temp使得第1列第1行變成1,然後用這一列(d)去乘上某值(mu),把其他列(r)的第一個元素都消去成0,文中的其他列並不包含原本的那一列(d)。

 

4.程式實作:

 

5.程式結果:

 

 

6.參考資料:

http://ocw.chu.edu.tw/pluginfile.php/788/mod_resource/content/45/Summary_192.pdf

 

 

 

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments