Excelで複素数の行列(3行3列)の行列の積、逆行列の計算
Excelは実数では逆行列の関数を持っていますが、
複素数は対応していないのでセルにコピーするだけで計算できる式を作りました。
Contents
行列を以下の式とします。
|
(1) |
行列の積は
|
(2) |
行列の値をB2からD4まで、行列
の値をF2からH9のセルに入れます。
行列の積は下の表の式をJ2~L4にコピーします。コピー時は表の9つを同時にコピーして
Excelの貼り付け/貼り付け先の書式に合わせる を使うと1回でコピー出来ます。
J列 |
K列 |
L列 |
=IMSUM(IMPRODUCT(B2,F2), IMPRODUCT(C2,F3), IMPRODUCT(D2,F4)) |
=IMSUM(IMPRODUCT(B2,G2), IMPRODUCT(C2,G3), IMPRODUCT(D2,G4)) |
=IMSUM(IMPRODUCT(B2,H2), IMPRODUCT(C2,H3), IMPRODUCT(D2,H4)) |
=IMSUM(IMPRODUCT(B3,F2), IMPRODUCT(C3,F3), IMPRODUCT(D3,F4)) |
=IMSUM(IMPRODUCT(B3,G2), IMPRODUCT(C3,G3), IMPRODUCT(D3,G4)) |
=IMSUM(IMPRODUCT(B3,H2), IMPRODUCT(C3,H3), IMPRODUCT(D3,H4)) |
=IMSUM(IMPRODUCT(B4,F2), IMPRODUCT(C4,F3), IMPRODUCT(D4,F4)) |
=IMSUM(IMPRODUCT(B4,G2), IMPRODUCT(C4,G3), IMPRODUCT(D4,G4)) |
=IMSUM(IMPRODUCT(B4,H2), IMPRODUCT(C4,H3), IMPRODUCT(D4,H4)) |
行列を以下の式とします。
|
(3) |
逆行列は行列の随伴行列
(Adjoint matrix)をとすると
|
(4) |
ここでの要素は
の余因子行列により以下の行列式です。
|
|
|
(5) |
|
の逆行列
は以下の式で計算できます。
|
(6) |
または以下の行列式です。
|
(7) |
行列の値をB2からD4までのセルに入れます。
逆行列は下の表の式をF2~H4にコピーします。コピー時は表の9つを同時にコピーして
Excelの貼り付け/貼り付け先の書式に合わせる を使うと1回でコピー出来ます。
Excelに直接コピーできる式
F列 |
G列 |
H列 |
=IMDIV(IMSUB(IMPRODUCT(C4, D5),IMPRODUCT(D4,C5)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4,C5,D3), IMPRODUCT(C3,D4,B5)), IMSUM(IMPRODUCT(D3,C4,B5), IMPRODUCT(C3,B4,D5), IMPRODUCT(B3,C5,D4)))) |
=IMPRODUCT(-1,IMDIV(IMSUB(IMPRODUCT(C3, D5),IMPRODUCT(D3,C5)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4,C5,D3), IMPRODUCT(C3,D4,B5)), IMSUM(IMPRODUCT(D3,C4,B5), IMPRODUCT(C3,B4,D5), IMPRODUCT(B3,C5,D4))))) |
=IMDIV(IMSUB(IMPRODUCT(C3, D4),IMPRODUCT(D3,C4)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4,C5,D3), IMPRODUCT(C3,D4,B5)), IMSUM(IMPRODUCT(D3,C4,B5), IMPRODUCT(C3,B4,D5), IMPRODUCT(B3,C5,D4)))) |
=IMPRODUCT(-1, IMDIV(IMSUB(IMPRODUCT(B4,D5), IMPRODUCT(D4,B5)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4,C5,D3), IMPRODUCT(C3,D4,B5)), IMSUM(IMPRODUCT(D3,C4,B5), IMPRODUCT(C3,B4,D5), IMPRODUCT(B3,C5,D4))))) |
=IMDIV(IMSUB(IMPRODUCT(B3, D5),IMPRODUCT(D3,B5)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4,C5,D3), IMPRODUCT(C3,D4,B5)), IMSUM(IMPRODUCT(D3,C4,B5), IMPRODUCT(C3,B4,D5), IMPRODUCT(B3,C5,D4)))) |
=IMPRODUCT(-1,IMDIV(IMSUB(IMPRODUCT(B3, D4),IMPRODUCT(D3,B4)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4,C5,D3), IMPRODUCT(C3,D4,B5)), IMSUM(IMPRODUCT(D3,C4,B5), IMPRODUCT(C3,B4,D5), IMPRODUCT(B3,C5,D4))))) |
=IMDIV(IMSUB(IMPRODUCT(B4, C5),IMPRODUCT(C4,B5)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4, C5,D3),IMPRODUCT(C3,D4,B5)), IMSUM(IMPRODUCT(D3, C4,B5),IMPRODUCT(C3, B4,D5),IMPRODUCT(B3,C5,D4)))) |
=IMPRODUCT(-1, IMDIV(IMSUB(IMPRODUCT(B3, C5),IMPRODUCT(C3,B5)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4,C5,D3), IMPRODUCT(C3,D4,B5)), IMSUM(IMPRODUCT(D3,C4,B5), IMPRODUCT(C3,B4,D5), IMPRODUCT(B3,C5,D4))))) |
=IMDIV(IMSUB(IMPRODUCT(B3, C4),IMPRODUCT(C3,B4)), IMSUB(IMSUM(IMPRODUCT(B3, C4,D5),IMPRODUCT(B4, C5,D3),IMPRODUCT(C3, D4,B5)),IMSUM(IMPRODUCT(D3, C4,B5),IMPRODUCT(C3,B4,D5), IMPRODUCT(B3,C5,D4)))) |