※高卒から大学初年度向けの「ベクトル,行列」について,このサイトには次の教材があります.
*** ベクトル *** ↓ ●ベクトル.行列の超基本 ●ベクトルの直交条件 ●1次独立,1次従属,基底,次元,核,階数 *** 行列 *** ↓ ●逆行列(1) ●逆行列(2) ↓ ●転置行列,対称行列,対角行列,三角行列 ●行列の階数 *** 行列式 *** ●行列式(1) ●行列式(2) ●行列式(3) *** 一次変換 *** ●行列と一次変換 ●点の像と原像 *** 固有値 *** ↓ ●固有値.固有ベクトルの定義 ↓ ●固有値と固有ベクトル(1) ●固有値と固有ベクトル(2) ●行列の対角化とは ●行列を対角化するには |
≪逆行列とは≫
※※(このページの前半は、2×2行列について述べます.下端でn×n行列の場合を扱います.)
したがって,A- 1 は,逆行列を表わす特別な記号として使い, や という記号が使える訳ではない.また,A2 , A3 , ... などは定義されているが,A−2 , A−3 , ... などの意味が自動的に定まるわけではない.(A2 , A3 , ...の逆行列なのか,A−1の2乗,3乗,...なのか)ここでは,逆行列の記号 −1 は,逆行列専用の「逆の」という記号として使う. |
■小実験---次の計算1を参考にして,2.3.で逆行列の求め方を予想しなさい。 1
対角成分(1,1)と(2,2)は入れ替え,対角でない成分(1,2)と(2,1)は符号だけ変えると,積は対角行列になる.
対角成分はΔ=ad−bc=1×3−(−1)×2=5になり,対角成分以外は0になる
掛ける行列の各成分をあらかじめΔ=ad−bc=5で割っておくと,積は単位行列になる.
3
対角成分はΔ=ad−bc=4×1−2×3=−2になり,対角成分以外は0になる
掛ける行列の各成分をあらかじめΔ=ad−bc=−2で割っておくと,積は単位行列になる.
|
上記の小実験から,次の公式が予想できます.
[逆行列の公式]
(解説)A=の逆行列は,
(1) Δ=ad−bc≠0 のとき A-1=
(2) Δ=ad−bc=0 のとき,A-1は存在しません。 だから (1) Δ=ad−bc≠0のとき,あらかじめΔで割っておくと 左右を入れ替えても同じ (2) Δ=ad−bc=0のときは,対角成分も0になって1にならない
【要点】
分母はΔ |
■問題--次の各問題に正しく対応するものを,右の選択肢から選びなさい。(初めに問題を選び,続いて選択肢を選びなさい。正しく対応しているときは消えます。) |
■問題--「逆行列が存在しない←→Δ=0」です。次の行列が逆行列を持たないようにxの値を定めなさい。
|
(■参考■)表計算ソフトを用いた逆行列の計算
次の(A)〜(D)を使って,逆行列を計算する方法を解説する
○ n×n行列については逆行列の有無を考えることができます.正方行列でなければ逆行列を考える余地はありません.
(A) PCにインストールして使うExcel(2007,2010など旧版)
(B) 無料で使えるExcel Online (C) 無料で使えるGoogleスプレッドシート (D) 無料で使えるwxMaxima ○ 一般にn×n行列 A に,右から掛けても左から掛けてもn次の単位行列となるn×n行列 B を A の逆行列といい,A- 1 で表わす.( AB=En ならば BA=En が成り立つので,右のように AB=En が成り立てばB は A の逆行列といえる.) (A)Excel には逆行列を求める関数 =MINVERSE() が用意されている.この関数を用いて逆行列を求める方法を解説する. (=MINVERSE()で求めた1つの式を配列に直すときに,注意すべき点が一つだけある.これさえできれば何でもない.) 一般に,「行列式の値が0でない」「正方行列」に対しては逆行列が存在する.(以下の操作はExcel2007,2010に共通.結果は通常,小数で表示されるが,分かりやすいように逆行列の各成分が整数となる問題を選んだ.)
(1) セル D1 をポイントしておく. (2) 画面上の方にある数式バーにある fx というところをクリックすると「関数の挿入」になる. (3) [関数の分類]は「すべて表示」にし,MINVERSE を選択する.OK
• 「手書きで=MINVERSE( と書く」
(4) 配列という表示の空欄の右にあるをクリックする.• 「画面上方の数式バーの左側にある fxから」もしくは「画面上右の方のΣ」から関数を選択する場合,「その他の関数」→「すべて」または「数学/三角」に進むとMINVERSEがある(「検索/行列」ではない) (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つの正方行列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を使う場合
すなわち (1) セル D1 をポイントしておく. (2) 画面上方の数式バーの左側にある fx というところをクリックすると「関数の挿入」になる. (3) [関数の分類]は「すべて表示」にし,MINVERSE を選択する.
• 「手書きで=MINVERSE( と書く」
(4) A1からC3までドラッグし,Enterキーを押す
• 「画面上方の数式バーの左側にある fxから」もしくは「画面上右の方のΣ」から関数を選択する場合,「その他の関数」→「すべて」または「数学/三角」に進むとMINVERSEがある(「検索/行列」ではない)
• ここまでで,右の表4のようにD1:F3の範囲に逆行列が書き込まれる・・・(A)のExcelで必要であった配列にする作業は不要. • このように,Excel Onlineから MINVERSE()関数を使って逆行列を求めるときは,逆行列が何行何列であるかということを知らなくてもできる代わりに,逆行列を書き込むべきセルの範囲に,ほかのデータが先に書き込まれている場合は,#スピル!(「あふれる」「こぼれる」という意味)とうエラーメッセージが表示されて止まる. |
(C)Googleスプレッドシートを使う場合 操作は(B)のExcel Onlineとほぼ同じであるが,メニューから関数をたどる場合は,途中経過が少し違う.すなわち
(1) セル D1 をポイントしておく. (2)「手書きで=MINVERSE( と書く」 (3) A1からC3までドラッグし,Enterキーを押す.
D1をポイントしてから,(2)の=MINVERSE()関数をメニューをたどって書き込むには
Excel Onlineと同様に,MINVERSE()関数を使って逆行列を求めるときは,逆行列が何行何列であるかということを知らなくてもできる代わりに,逆行列を書き込むべきセルの範囲に,ほかのデータが先に書き込まれている場合は,#REF!とうエラーメッセージが表示されて止まる.
• 挿入→関数→すべて→MINVERSE もしくは,挿入→関数→配列→MINVERSE もしくは,画面上右の方のΣ→すべて→MINVERSE もしくは,Σ→配列→MINVERSE ※話がややこしいが,(A)(B)のExcelと違って,関数の分類項目が「数学」ではなく「配列」にある.これに気付かなければ,「すべて」から選ぶことになる. |
■例題1 次の各行列について逆行列を求めよ.(筆算で行い,(A)(B)(C)いずれかの表計算ソフトで検算するとよい.) |
|||||||||||||||||||||||||||||||||||||||||||||||||||
(1)
|
(答)
|
||||||||||||||||||||||||||||||||||||||||||||||||||
(2)
|
(答)
|
||||||||||||||||||||||||||||||||||||||||||||||||||
(3)
|
(答)
|
||||||||||||||||||||||||||||||||||||||||||||||||||
(4)
|
(答)
|
多くの読者は,逆行列の成分が「整数」や「小数」であるときの取り扱いについては,慣れていると考えられるので,ここでは特に述べない. 逆行列の成分が
《一覧》「分数」「無理数」「複素数」「文字式」であるとき,筆者の考えでは,概ね次のようにまとめられる.
|
@) 成分が分数になるとき 行列の成分のうち幾つかが分数になるとき,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)の場合
【例】
セルの書式設定→表示形式→ユーザー定義:種類を手書きで書き加えて # ????/???? とすると4桁まで,# ?????/????? とすると5桁まで,・・・と表示桁数を変更できる.(4桁までで次の表のようになる)
(C)の場合
表示形式→数字→カスタム表示形式:手書きで書き加えて # ????/????;-# ????/???? とすると4桁まで,# ?????/?????;-# ?????/????? とすると5桁まで,・・・と表示桁数を変更できる
(セミコロンで区切って,負の場合 -# ????/????を追加する必要がある.これを怠ると,マイナスの場合に符号が表示されない) 4桁までで(A)の表と同じになる.
近似分数に関して,ExcelとGoogleスプレッドシートの相違点について,筆写の考えは,⇒このページの後半にまとめてあります.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
■例題2 次の各行列について逆行列を求めよ. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(1)
|
(答)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(2)
|
(答)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(3)
|
(答)
|
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の操作が大変わかりにくいです。説明だけではなく、動画をつけるとよいです。私は操作を理解するのに、マイクロソフトのサポートも使い、半日かかり、そのあと、反復練習して(キーを三つ押すのがむつかしいこともある)やっとできるようになりました、
■[個別の頁からの質問に対する回答][逆行列とはについて/17.2.8]
=>[作者]:連絡ありがとう.こちらの返信の方が後なので,解決したようでよかったです. 動画というのは1つの解決策ですが,筆者は関西なまりがきついとからかわれることが多いので,現在動画にする予定はありません. 何回やってもうまくエクセルで表示されません(EXCEL2013)。私の理解が悪いのでしょうか。途方にくれています。
=>[作者]:連絡ありがとう. |