PC用は別頁

≪逆行列とは≫
※※(このページの前半は、2×2行列について述べます.下端でn×n行列の場合を扱います.)
■数の積における
単位元と逆元

任意の数 a について
ax=xa=a
となる数 x単位元といい 1 で表します。
⇒任意の数a について
a·1=1·a=a
が成り立ちます。


各々の数aについて
ay=ya=1
となる数 yを,a逆元といい,a−1で表します。

(1) a0 のとき,a の逆元 a−1が存在し,
a·a-1=a−1·a=1
が成り立ちます。


(2) a=0のとき,aの逆元は存在しません。
■行列の積における
単位元(単位行列)と逆元(逆行列)

任意の行列Aについて
AX=XA=A
となる行列 X単位行列といい E で表します。
⇒任意の行列 A について
AE=EA=A
が成り立ちます。

各々の行列Aについて
AY=YA=E
となる行列YA逆行列といい,A-1で表します。

(1) Δ=ad−bcで定義される行列式Δの値が,Δ≠0となるとき A の逆行列が存在し,
A A-1=A-1A=E
が成り立ちます。
(2) Δ=ad−bc=0 のとき,Aの逆行列は存在しません。
※ 数の演算と異なり,行列について四則演算が広く定義されている訳ではないことに注意.行列 A について,和,差,実数倍,積は定義されているが,商は定義されていない.
 したがって,A- 1 は,逆行列を表わす特別な記号として使い, という記号が使える訳ではない.また,A2 , A3 , ... などは定義されているが,A−2 , A−3 , ... などの意味が自動的に定まるわけではない.(A2 , A3 , ...の逆行列なのか,A−1の2乗,3乗,...なのか)ここでは,逆行列の記号 −1 は,逆行列専用の「逆の」という記号として使う.

■小実験---次の計算1を参考にして,2.3.で逆行列の求め方を予想しなさい。


対角成分(1,1)と(2,2)は入れ替え,対角でない成分(1,2)と(2,1)は符号だけ変えると,積は対角行列になる.



対角成分はΔ=ad−bc=1×3−(−1)×2=5になり,対角成分以外は0になる
掛ける行列の各成分をあらかじめΔ=ad−bc=5で割っておくと,積は単位行列になる.

対角成分はΔ=ad−bc=4×1−2×3=−2になり,対角成分以外は0になる
掛ける行列の各成分をあらかじめΔ=ad−bc=−2で割っておくと,積は単位行列になる.

上記の小実験から,次の公式が予想できます.
[逆行列の公式]
A=の逆行列は,
(1) Δ=ad−bc0 のとき A-1=
(2) Δ=ad−bc=0 のとき,A-1は存在しません。
(解説)
だから
(1) Δ=ad−bc≠0のとき,あらかじめΔで割っておくと

左右を入れ替えても同じ
(2) Δ=ad−bc=0のときは,対角成分も0になって1にならない
【要点】
分母はΔ
■問題--次の各問題に正しく対応するものを,右の選択肢から選びなさい。(初めに問題を選び,続いて選択肢を選びなさい。正しく対応しているときは消えます。)
問題

選択肢



■問題--「逆行列が存在しない←→Δ=0」です。次の行列が逆行列を持たないようにxの値を定めなさい。
x=
x=(ただし,小さいものから順に書くものとします。)
x=

■参考■)表計算ソフトを用いた逆行列の計算
次の(A)〜(D)を使って,逆行列を計算する方法を解説する
(A) PCにインストールして使うExcel(2007,2010など旧版)
(B) 無料で使えるExcel Online
(C) 無料で使えるGoogleスプレッドシート
(D) 無料で使えるwxMaxima
○ n×n行列については逆行列の有無を考えることができます.正方行列でなければ逆行列を考える余地はありません.

○ 一般にn×n行列 A に,右から掛けても左から掛けてもn次の単位行列となるn×n行列 BA の逆行列といい,A- 1 で表わす.( AB=En ならば BA=En が成り立つので,右のように AB=En が成り立てばBA の逆行列といえる.)
(A)Excel には逆行列を求める関数 =MINVERSE() が用意されている.この関数を用いて逆行列を求める方法を解説する.
 (=MINVERSE()で求めた1つの式を配列に直すときに,注意すべき点が一つだけある.これさえできれば何でもない.)

  一般に,「行列式の値が0でない」「正方行列」に対しては逆行列が存在する.(以下の操作はExcel2007,2010に共通.結果は通常,小数で表示されるが,分かりやすいように逆行列の各成分が整数となる問題を選んだ.)

- 表1 -
  A B C D E F
1 3 2 1      
2 1 3 1      
3 2 2 1      
 右のような行列(A1:C3)の逆行列を D1:F3 に書き込むには
 (1) セル D1 をポイントしておく.
 (2) 画面上の方にある数式バーにある fx というところをクリックすると「関数の挿入」になる.
 (3) [関数の分類]は「すべて表示」にし,MINVERSE を選択する.OK
• 「手書きで=MINVERSE( と書く」
• 「画面上方の数式バーの左側にある fxから」もしくは「画面上右の方のΣ」から関数を選択する場合,「その他の関数」→「すべて」または「数学/三角」に進むとMINVERSEがある(「検索/行列」ではない)
 (4) 配列という表示の空欄の右にあるをクリックする.
 (5) A1からC3までドラッグし,Enterキーを押す→OK

  !! ここからが重要 !! 以上の操作だけではD1に1つの値が書き込まれるだけで,行列になっていない.(この値をドラッグしてもダメ
  D1からF3に配列(行列)として値を書き込むには:

 (6) D1からF3を選択して反転表示にする.
 (7) 数式バー(先ほどのfx の右にある空欄)に数式=MINVERSE(A1:C3)が既に書き込まれているので,その欄のどこかをマウスでポイントする.
 (8) Ctrl+Shift+Enter(CtrlキーとShiftキーを押しながらEnterキーを押す.)
- 表2 -
  A B C D E F
1 3 2 1 1 1 −4
2 1 3 1 0 1 −2
3 2 2 1 −1 −2 7
○ 以上で,D1:F3に上のA1:C3の逆行列が書き込まれる.(右の表2)
検算:行列の積を求めるには
 逆行列が正しく求められているかどうか検算するには,2つの正方行列A1:C3とD1:F3の積が単位行列Eになっているかどうかを調べればよい.これらの行列の積をG1:I3に書き込むには,
 (1) G1をポイントしておき,画面上端の数式バーの左側にある fx というところをクリックすると「関数の挿入」になる.
 (2) [関数の分類]は「すべて表示」にし,MMULT を選択する.OK
 (3) 配列1という表示の空欄の右にあるをクリックする.
 (4) A1からC3までドラッグし,Enterキーを押す→OK
 (5) 配列2という表示の空欄の右にあるをクリックする.
 (6) D1からF3までドラッグし,Enterキーを押す→OK

上と同様,1つのセルの値だけが得られるので,これを配列(行列)にするには
 (7) G1からI3を選択して反転表示にする.
 (8) 数式バー(先ほどのfx の右にある空欄)に数式=MMULT(A1:C3,D1:F3)が既に書き込まれているので,その欄のどこかをマウスでポイントする.
 (8) Ctrl+Shift+Enter(CtrlキーとShiftキーを押しながらEnterキーを押す.)

○ 以上で,G1:I3に上の行列(A1:C3)と行列(D1:F3)の積が書き込まれる.これが単位行列になっていればよい.

※ コンピュータによる小数計算は近似値で行われるので,数学の教科書で習うようなきれいな表示にはならない:例えば,1÷3×3=0.99999··· となるが,これは1を表わす.上の検算において,通常は整数とはならないので,対角成分が,0.99999··· (←1に十分近い数),対角でない成分が 1.01E-13=1.01×10-13 (←0に十分近い数)などとなるときは,単位行列を表わしていることがある.

(B)Excel Onlineを使う場合

- 表3 -
  A B C D E F
1 3 2 1      
2 1 3 1      
3 2 2 1      
 右のような行列(A1:C3)の逆行列を D1:F3 に書き込むには,上記(A)のExcelとほぼ同様であるが,最後の方のCtrl+Shift+Enterという難しい操作がいらない.
すなわち
 (1) セル D1 をポイントしておく.
 (2) 画面上方の数式バーの左側にある fx というところをクリックすると「関数の挿入」になる.
 (3) [関数の分類]は「すべて表示」にし,MINVERSE を選択する.
• 「手書きで=MINVERSE( と書く」
• 「画面上方の数式バーの左側にある fxから」もしくは「画面上右の方のΣ」から関数を選択する場合,「その他の関数」→「すべて」または「数学/三角」に進むとMINVERSEがある(「検索/行列」ではない)
 (4) A1からC3までドラッグし,Enterキーを押す
- 表4 -
  A B C D E F
1 3 2 1 1 1 −4
2 1 3 1 0 1 −2
3 2 2 1 −1 −2 7


• ここまでで,右の表4のようにD1:F3の範囲に逆行列が書き込まれる・・・(A)のExcelで必要であった配列にする作業は不要.
• このように,Excel Onlineから MINVERSE()関数を使って逆行列を求めるときは,逆行列が何行何列であるかということを知らなくてもできる代わりに,逆行列を書き込むべきセルの範囲に,ほかのデータが先に書き込まれている場合は,#スピル!(「あふれる」「こぼれる」という意味)とうエラーメッセージが表示されて止まる.

(C)Googleスプレッドシートを使う場合
 操作は(B)のExcel Onlineとほぼ同じであるが,メニューから関数をたどる場合は,途中経過が少し違う.すなわち
- 表5 -
  A B C D E F
1 3 2 1      
2 1 3 1      
3 2 2 1      
 右のような行列(A1:C3)の逆行列を D1:F3 に書き込むには
(1) セル D1 をポイントしておく.
(2)「手書きで=MINVERSE( と書く」
(3) A1からC3までドラッグし,Enterキーを押す.
- 表6 -
  A B C D E F
1 3 2 1 1 1 −4
2 1 3 1 0 1 −2
3 2 2 1 −1 −2 7
 ここまでで,右の表4のようにD1:F3の範囲に逆行列が書き込まれる・・・(B)と同じで,(A)のExcelで必要であった配列にする作業は不要.
D1をポイントしてから,(2)の=MINVERSE()関数をメニューをたどって書き込むには
• 挿入→関数→すべて→MINVERSE
もしくは,挿入→関数→配列→MINVERSE
もしくは,画面上右の方のΣ→すべて→MINVERSE
もしくは,Σ→配列→MINVERSE
※話がややこしいが,(A)(B)のExcelと違って,関数の分類項目が「数学」ではなく「配列」にある.これに気付かなければ,「すべて」から選ぶことになる.
 Excel Onlineと同様に,MINVERSE()関数を使って逆行列を求めるときは,逆行列が何行何列であるかということを知らなくてもできる代わりに,逆行列を書き込むべきセルの範囲に,ほかのデータが先に書き込まれている場合は,#REF!とうエラーメッセージが表示されて止まる.

■例題1
 次の各行列について逆行列を求めよ.(筆算で行い,(A)(B)(C)いずれかの表計算ソフトで検算するとよい.)
(1)
3 2 1
1 3 1
2 2 1
(答)
1 0 −1
1 1 −2
−4 −2 7
(2)
1 2 2
1 1 5
1 2 1
(答)
−9 2 8
4 −1 −3
1 0 −1
(3)
1 0 1 2
−1 1 1 1
1 −1 0 1
1 1 −1 −2
(答)
1 −1 −1 0
−1 2 2 1
4 −5 −7 −2
−2 3 4 1
(4)
2 1 1 1 1
0 1 1 −1 0
1 0 1 2 0
1 1 −1 1 2
1 1 1 2 1
(答)
0 1 2 1 −2
−3 5 7 4 −5
2 −3 −5 −3 4
−1 1 2 1 −1
3 −5 −8 −4 6

 多くの読者は,逆行列の成分が「整数」や「小数」であるときの取り扱いについては,慣れていると考えられるので,ここでは特に述べない.
逆行列の成分が
「分数」「無理数」「複素数」「文字式」であるとき,筆者の考えでは,概ね次のようにまとめられる.
《一覧》
@) 分数 元の行列の成分逆行列の成分
(A)PC版Excel 可能可能
(B)Excel online 可能可能
(C)Googleスプレッドシート可能可能
(D)wxMaxima 可能可能

A) 無理数 元の行列の成分逆行列の成分
(A)PC版Excel 可能不可
(B)Excel online 可能不可
(C)Googleスプレッドシート可能不可
(D)wxMaxima 可能可能

B)複素数元の行列の成分逆行列の成分
(A)PC版Excel 可能難しい
(B)Excel online 可能難しい
(C)Google スプレッドシート可能難しい
(D)wxMaxima 可能可能

C)文字式元の行列の成分逆行列の成分
(A)PC版Excel 不可不可
(B)Excel online 不可不可
(C)Google スプレッドシート不可不可
(D)wxMaxima 可能可能
 以下において「分数」「無理数」までが含まれている場合は,(A)(B)(C)で考え,「複素数」「文字式」が含まれている場合は,(D)で考えることにする.

@) 成分が分数になるとき
 行列の成分のうち幾つかが分数になるとき,Excelの初期設定のまま小数表示(または指数表示)にしておくと,どのような分数を表わしているのかよく分からないことがある.
 このとき,表示形式として「分数」を選ぶと,分数として表示できる.
● 正負いずれの場合も,分子の方が分母よりも大きい数字となる場合は,仮分数ではなく帯分数で表示される.
● 整数÷整数の形の分数で,分母が3桁以下の整数で表せる場合は,(A)(B)(C)のいずれで行っても,同じ結果が得られる.ただし,(C)では,# ???/???だけでは,マイナスの符号を表せないので注意・・・(A)(B)と違う
● 整数÷整数の形の分数で,分母が4桁以上(といっても実際上は6, 7桁以内)の整数で表せる場合は,(B)では3桁までの近似分数で表示される.(A)(C)では分母の桁数を大きくできるが,それでもなお,正確な値が示せずに近似値となるときは,(C)の方が最良近似分数となることが多い.
[手順]
(A)(B)の場合
逆行列をあらかじめ求めておく.→分数表示にしたいセルをドラッグして反転表示にする
→書式→セル→(表示形式)分類:分数,種類:3桁増加→OK
 (A)PCにインストールして使うExcelや(B)Excel Onlineで数値の分数表示を選ぶとき「1桁増加」「2桁増加」「3桁増加」という書式を選ぶことになるが,この「増加」はたぶん誤訳で「1桁まで」「2桁まで」「3桁まで」という意味である.
分母が3桁までの整数を分母とする分数では表示できないとき,(4桁,5桁,・・・が必要な場合)
(B)の場合
3桁までの近似分数になる
【例】
  A B C D E F
1 9 10 23 37/442 −50/237 37/245
2 11 19 17 −21/221 73/442 −25/442
3 17 21 11 23/442 1/93 −1/29
(A)の場合
セルの書式設定→表示形式→ユーザー定義:種類を手書きで書き加えて # ????/???? とすると4桁まで,# ?????/????? とすると5桁まで,・・・と表示桁数を変更できる.(4桁までで次の表のようになる)
  A B C D E F
1 9 10 23 37/442 −373/1768 267/1768
2 11 19 17 −21/221 73/442 −25/442
3 17 21 11 23/442 17/1768 −61/1768
(C)の場合
表示形式→数字→カスタム表示形式:手書きで書き加えて # ????/????;-# ????/???? とすると4桁まで,# ?????/?????;-# ?????/????? とすると5桁まで,・・・と表示桁数を変更できる
セミコロンで区切って,負の場合 -# ????/????を追加する必要がある.これを怠ると,マイナスの場合に符号が表示されない
4桁までで(A)の表と同じになる.

近似分数に関して,ExcelとGoogleスプレッドシートの相違点について,筆写の考えは,⇒このページの後半にまとめてあります.
■例題2
 次の各行列について逆行列を求めよ.
(1)
1 2 3
4 5 6
7 8 1
(答)
−1 19/24 11/12 − 1/8
1 7/12 − 5/6 1/4
− 1/8 1/4 − 1/8
(2)
1 0 1
2 1 0
3 1 4
(答)
1 1/3 1/3 − 1/3
−2 2/3 1/3 2/3
− 1/3 − 1/3 1/3
(3)
2 1 0 1
0 2 2 1
1 2 2 0
2 0 1 2
(答)
2/13 − 6/13 5/13 2/13
7/13 5/13 − 2/13 − 6/13
− 8/13 − 2/13 6/13 5/13
2/13 7/13 − 8/13 2/13

A) 逆行列の成分が無理数(根号),複素数,文字式になるとき
これらの場合は,(A)(B)(C)のいずれも無理があり,(D)で行うとよい.
1. 無理数(根号)を含む場合
【例1.1】

のとき,を求めるには.
wxMaximaで,代数→手入力による行列の生成→行数2,列数2,タイプ:一般,変数名:Aなどとする
→成分を
 sqrt(2)+1 sqrt(3)
 −sqrt(3) sqrt(2)−1
と埋める.
逆行列を求める関数はinvert()なので,invert(A)と記入して,Shift+Enter
 少し込み入った結果が表示されるので,式の変形→式の整理とすると,

となって,逆行列が示される.
【例1.2】 同様にして,次のように逆行列が求まる.

【例1.3】 同様にして,次のように逆行列が求まる.

2. 複素数を含む場合
【例2.1】

のとき,を求めるには.
wxMaximaで,代数→手入力による行列の生成→行数2,列数2,タイプ:一般,変数名:Bなどとする
→成分を
 sqrt(6) 2−%i
 2+%i sqrt(6)
と埋める.(虚数単位は%iまたは%jで表す)
逆行列を求める関数はinvert()なので,invert(B)と記入して,Shift+Enter
 少し込み入った結果が表示されるので,式の変形→式の整理とすると,
 sqrt(6) %i−2
 −%i−2 sqrt(6)
すなわち

となって,逆行列が示される.
【例2.2】 同様にして,次のように逆行列が求まる.

【例2.3】 同様にして,次のように逆行列が求まる.

3. 文字式を含む場合
【例3.1】

のとき,を求めるには.
wxMaximaで,代数→手入力による行列の生成→行数2,列数2,タイプ:一般,変数名:Cなどとする
→成分を
 x−3 2
 2 x
と埋める.
逆行列を求める関数はinvert()なので,invert(C)と記入して,Shift+Enter

すなわち

となって,逆行列が示される.
 ただし,逆行列が存在するためには,行列式Δ≠0 ⇔ x≠−1, 4が条件になる.
【例3.2】 同様にして,次のように逆行列が求まる.

 ただし,逆行列が存在するためには,行列式Δ≠0 ⇔ x≠2が条件になる.
【例3.3】 同様にして,次のように逆行列が求まる.

 ただし,逆行列が存在するためには,行列式Δ≠0 ⇔ x≠0が条件になる.

...(携帯版)メニューに戻る

...(PC版)メニューに戻る


■[個別の頁からの質問に対する回答][逆行列とはについて/17.2.8]
EXCELの操作が大変わかりにくいです。説明だけではなく、動画をつけるとよいです。私は操作を理解するのに、マイクロソフトのサポートも使い、半日かかり、そのあと、反復練習して(キーを三つ押すのがむつかしいこともある)やっとできるようになりました、
=>[作者]:連絡ありがとう.こちらの返信の方が後なので,解決したようでよかったです.
動画というのは1つの解決策ですが,筆者は関西なまりがきついとからかわれることが多いので,現在動画にする予定はありません.
■[個別の頁からの質問に対する回答][逆行列とはについて/17.2.8]
何回やってもうまくエクセルで表示されません(EXCEL2013)。私の理解が悪いのでしょうか。途方にくれています。
=>[作者]:連絡ありがとう.