知の書ブログを通じ、知識を残そうと思っています。今回は、正則行列の逆行列を複雑な実例を元に算出したいと思います。4×4行列も3×3行列でも計算方法は変わらないので、簡単な3×3行列を使って説明しようと思います。今回は、次の話の続きです。私は左手系座標系を使い、時計回りに回転させています。今回は、コンピューターで計算した結果から小数点を切り捨てて使用していますので、四則演算の計算結果に多少誤差があります。例1.0÷3.0=0.333333333333333333333333333333330.33333333333333333333333333333333×3.0=0.999999999999999999999999999999991-0.99999999999999999999999999999999=0.00000000000000000000000000000001(誤差)誤差の計算。1.0-0.33=0.66の様にずれます。0.0まずは、計算元となるマトリックスを算出しましょう。Z軸を45度回転させるマトリックス。Y軸を110度回転させるマトリックス。各座標を10倍へ拡大するマトリックス。3つのマトリックスを掛け合わせた変換元の行列です。次は、正則行列の逆行列を算出したいと思います。掛け合わせたマトリックスから、逆行列を算出したいと思います。1行目の1列目を1にするには、-2.4184で変換元の行列、そして逆行列の1行目を割ります。-2.4184÷(-2.4184)=1.0-2.4184÷(-2.4184)=1.0-9.3969÷(-2.4184)=3.8855855110817069136619252398281.0÷(-2.4184)=-0.413496526629176314918954680780680.0÷(-2.4184)=0.00.0÷(-2.4184)=0.0すると、図の様なマトリックスになります。次は、2行目と3行目の1列目をゼロにします。2行目1列目の-7.0710を1行目に掛け合わせます。0.0求めた数で、2行目を引きます。0.03行目1列目の6.6446を1行目に掛け合わせます。0,0求めた数で、2行目を引きます。1.0すると、図の様なマトリックスになります。次は、2行目の2列目を1にしなければならないので、14.142136で変換元の行列、そして逆行列の2行目を割ります。次は、2行目の2列目を1にしなければならないので、14.142136で変換元の行列、そして逆行列の2行目を割ります。0.000000÷14.142136=0.014.142136÷14.142136=1.027.474764÷14.142136=1.9427591419004880168031194156243-2.9238÷14.142136=-0.206743875182645676720970580398891.0÷14.142136=0.070710676237309554935690054175690.0÷14.142136=0.0すると、図の様なマトリックスになります。次は、3行目と1行目の2列目をゼロにします。3行目2列目の0.0を2行目に掛け合わせます。0.0求めた数で、3行目を引きます。1.01行目2列目の1.0を2行目に掛け合わせます。0.0,求めた数で、1行目を引きます。0.0すると、図の様なマトリックスになります。次は、3行目の3列目を1にしなければならないので、-29.2380で変換元の行列、そして逆行列の3行目を割ります。0.0000÷(-29.2380)=0.00.0000÷(-29.2380)=0.0-29.2380÷(-29.2380)=1.02.7474÷÷(-29.2380)=-0.093966755592037759080648471167660.0000÷(-29.2380)=0.01.0000÷(-29.2380)=-0.03420206580477460838634653533073すると、図の様なマトリックスになります。次は、1行目と2行目の3列目をゼロにします。1行目3列目の1.9427を3行目に掛け合わせます。-0.06644034求めた数で、1行目を引きます。0.066440342行目3列目の1.9427を3行目に掛け合わせます。-0.06644034求めた数で、2行目を引きます。0.06644034すると、図の様な逆行列が出来ます。最後に、逆行列により元の数値へ戻るか確認したいと思います。マトリックスを使用しない場合にどうなるか考えてみましょう。30.0)を変形させましょう。30.00)になります。9.67)になります。96.73)になります。次に、マトリックスを使用した計算結果を見てみましょう。30.0)を掛け合わせましょう。6.6446×20.0+(-3.4202)×30.0=96.732先程算出した計算結果と逆行列を掛け合わせると元の数値へ戻るはずです。掛け合わせて見ましょう。0.0000×(70.7106)+(-0.0342)×(96.7328)=29.97564492ほぼ元の数値へ戻りましたので、正しい逆行列を算出できているはずです。斜めの行列に0が含まれる場合の解き方もあるのですが、逆行列に関してはここまでにしたいと思います。2006年頃マトリックスを使っていたので多少特性を知っていますが、今は少し忘れています。「間違えたくない」という気持ちがあるので、コンピューターで試行して試しながら解きました。実は、最近Youtubeに解けない数学問題があるな~とか、小学校で習う割り算の解き方を忘れていたりします。(^^;誰が見るのかな~と思いつつ、しばらく難しい数学はお休みしましょう。