行列の掛け算
行列の掛け算にはちょうど2つの方法があります。 最初の方法は行列とスカラーを掛けることです。 これはスカラー倍算として知られています。 2つ目の方法は、行列と別の行列を掛けることです。 3274>
Scalar Multiplication
scalar multiplicationは、実際には非常に単純な行列演算です。 スカラーと行列を掛けるには、単にスカラーをとって行列の各エントリに掛けるだけです。
Question 1: Calculate 2A2A2A if
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-a0861b15e610f63a644ff6df5ab6968a-2x.jpg)
この問題は、2A2A2Aが何かを求めているのですね。 つまり、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-cb9120b2ded343049b64a9a2e0c18c1e-2x.jpg)
行列の各エントリに2を掛けると、次のようになることに注意してください:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-7215334c0f2795f122da038cfdae146c-2x.jpg)
非常に簡単ですね。 もう一つやってみましょう。
問題2:0A0A0Aを計算する場合
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-a229e7fb8f1e38c3bc5dfc284a032fe3-2x.jpg)
ここでも0A0A0Aを求めています。 つまり、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-aae852b90b250ec1d21aac55493efcaa-2x.jpg)
行列は奇妙な形になりますが、考え方は同じです。 行列の各エントリにスカラー0を乗じることに変わりはありません。 そうすると、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-d02fb84ca09717e82eec758b2f57a0b0-2x.jpg)
この行列のエントリはすべて0であることに注意してください。これは、3×2のゼロ行列として知られています。
行列の乗算方法
行列と別の行列を乗算するには、まず、ドットプロダクトとは何かについて学習する必要があります。 例えば、2つのベクトルを
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-3d251758f98a1767dfe7a3d63dcb2031-2x.jpg)
この2つのベクトルはどのように掛けるのでしょう。 単純に、対応する項目を掛け合わせ、その積を足せばよいのです。 つまり、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-caadd832b9eb551a8c9233c5fa735c6b-2x.jpg)
このように、ベクトルを掛けると一つの値になるのですね。 しかし、2つのベクトルが同じ数の項目を持つことに注目してください。一方のベクトルが他方のベクトルと異なる数の項目を持つ場合はどうでしょうか。 例えば、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-66eff61202a1dc707709ff3e372f8bd7-2x.jpg)
対応する項目を掛け合わせて、全部足すと、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-9c4573ce488bbad1e58edb55892ec7df-2x.jpg)
ここで問題が発生しました。 最初の3つの項目には掛け合わせるべき対応する項目があるが、最後の項目にはない。 では、ここでどうすればいいのでしょうか。 答えは、ここでは何もできないです。 これは、これらの 2 つのベクトルの内積を計算できないことを意味します。
つまり結論として、エントリの数が異なる 2 つのベクトルの内積を求めることはできないのです。
2×2 Matrix Multiplication
では、ドットプロダクトを学ぶ意味は何だったのでしょうか。 さて、内積を使うのは、2つの行列を掛け合わせるときです。 行列と別の行列を掛け合わせるとき、行と列をベクトルとして扱いたいのです。 具体的には、1つ目の行列の各行をベクトルとして、2つ目の行列の各列をベクトルとして扱いたいのです。
Question 3: A∙BA \bullet BA∙B if
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-ccf38775dc290a73a6c505bfb905e72d-2x.jpg)
二つの行列を乗算すると、以下のようになります:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-ef7ca6832b870190f6eca06236d4db02-2x.jpg)
ここで注目する行と列は
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-5-2x2-matrix-multiplication-example-pt-3.jpg)
ここで、r1r_{1}r1が1行目、r2r_{2}r2が2行目、c1、c2c_{1}、c_{2}c1、c2が1列目、2列目である。
ここで、2×2行列に別の2×2行列を掛けると、2×2行列になることに注意してください。
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-5-2x2-matrix-multiplication-example-pt-4.jpg)
最初のエントリはどのように正確に得るのでしょうか。 さて、最初のエントリは、最初の行と列に位置していることに注意してください。 そこで、r1r_{1}r1とc1c_{1}c1の内積を取ればいいのです。 したがって、最初のエントリは
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-5-2x2-matrix-multiplication-example-pt-5.jpg)
今回、2番目のエントリはどうすれば得られるでしょうか。 さて、2番目のエントリの位置は1行2列目であることに注目しましょう。 そこで、単純にr1r_{1}r1とc2c_{2}c2の内積を取ればよいのです。 したがって、2番目のエントリは
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-5-2x2-matrix-multiplication-example-pt-6.jpg)
今度は同じ方法を使って、最後の2エントリを探します。 2つ目の最後のエントリは 2nd2^{nd}2nd 行と 1st1^{st}1st 列にあり、最後のエントリは 2nd2^{nd}2nd 行と 2nd2^{nd}2nd 列にあることに注意してください。 そこで、r2r_{2}r2とc1c_{1}c1の内積と、r2r_{2}r2とc2c_{2}c2の内積をとります。
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-5-2x2-matrix-multiplication-example-pt-7.jpg)
さて、これで完成です!
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-5-2x2-matrix-multiplication-example-pt-7.jpg)
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/formula-1-2x2-matrix-multiplication-formula.jpg)
3×3行列乗算
さて3×3行列乗算は2×2行列乗算と非常に似た処理をしていますね。 3274>
Question 4:Find A∙BA \bullet BA∙B if
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-1371bcca25f8e413b1312da1cdb3ddd3-2x.jpg)
まず、掛けると別の3 x 3 matrixになることに注意してください。 つまり、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-d21c6229ee541d6a7ec5b715f25ca918-2x.jpg)
ここで、最初の行列の行と2番目の行列の列にラベルを付けます。
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-6-3x3-matrix-multiplication-example-pt-3.jpg)
行列の最初のエントリは1^{st}1行目と1^{st}1列目にあることに注意して、r1r_{1}r1とc1c_{1}c1の内積を取ります。
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-6-3x3-matrix-multiplication-example-pt-4.jpg)
ここで、行列の2番目のエントリは1^{st}1行目と2^{nd}2列目にあることに注目しましょう。 したがって、r1r_{1}r1とc2c_{2}c2の内積をとります。
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-6-3x3-matrix-multiplication-example-pt-5.jpg)
すべてのエントリの位置を確認し、行と列に対応するドット積を実行し続けると、最終的な結果が得られます。 行列が大きくなればなるほど、行列の掛け算は面倒になることに注意してください。 これは、より多くの数を扱わなければならないからです! 一般に、3×3の行列の乗算式は
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/formula-2-3x3-matrix-multiplication-formula.jpg)
異なる寸法の行列の乗算方法
ここまでは、同じ寸法の行列の乗算を説明しました。 また、同じ次元の2つの行列を乗算すると、同じ次元の行列が得られることも知っています。 しかし、異なる次元の行列を掛けるとどうなるのでしょうか。 計算された行列の次元はどのようにしてわかるのでしょうか? まず、行列を掛けると定義された行列が得られることを確認する必要があります。
行列は定義されているか
2つの行列を掛け合わせることができない場合があります。 そのような場合、その行列を未定義と呼びます。 未定義かどうかはどのように判断すればよいのでしょうか。
2つの行列の積は、最初の行列の列の数が2番目の行列の行の数と等しい場合にのみ定義されます。
この定義をこの例で使ってみましょう。
問題5: Let
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-4ca1c55c17fc4c239b10302dcdff71e3-2x.jpg)
A・BAは定義されているか?
まず、最初の行列は3列であることに注目してください。 また、2番目の行列には3つの行があります。
定義されていることがわかったところで、A∙BA∙BA∙Bの次元はどのようにしてわかるのでしょうか?
次元の性質
A∙BA∙B の次元を知るには、まずandの次元を別々に調べます。
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-ed2f0b37d24b0fad2b27dadae1f5cee4-2x.jpg)
ここで、行列の次元を並べてみます。
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-6315d0151091acd46da2d52afb372521-2x.jpg)
これから行うことは、最初の数字と最後の数字を取り、それを組み合わせてA・BAの寸法を得ることです。 最初の数字が2で最後の数字が4であることがわかります。したがって、A∙BA ∙BA ∙Bの次元は次のようになります:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-1e4dcc04ff82bf7579a761b21fe0cb33-2x.jpg)
行列の次元がわかったので、ドットプロダクトを使って各項目を計算できます。
![](https://dcvp84mxptlac.cloudfront.net/diagrams2/equation-7-defined-matrix-example-pt-5.jpg)
さて、行列の掛け算がよくわかったところで、行列の掛け算の法則を見ていきましょう。
X,Y,ZX,Y,ZX,Y,Zを行列、InI_{n}Inを単位行列、OnO_{n}Onをゼロ行列としましょう。 これらの5つの行列がすべて等しい次元であれば、次のような行列同士の乗算の性質があります:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-db439d70d0749f026f60eaf6ae2ddd8a-2x.jpg)
連想特性は、乗算する順序は関係ないことを示しています。 つまり、X・YX Ⓐ YX・Y を計算してから ZZZ をかけても、Y・ZY Ⓐ ZY・Z を計算してから XXX をかけても同じ結果になるのです。
Question 6: Associative Property がこれらの行列で機能することを示せ:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-b16faf9838df00bffb2ca99d5c584424-2x.jpg)
連想特性の式の左辺を見ると、(XY)Z(XY)Zで:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-6fd3d92a93d14d9136cdf0d968c87a7e-2x.jpg)
ここで、連想特性の式の右辺を見てみると、X(YZ)X(YZ)X(YZ)から:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-a7b0b16ed9d2de55d345b6317043ec23-2x.jpg)
左辺、右辺ともに同じになっていることを確認することができる。 したがって、連想性が実際に働いていることがわかりますね。 繰り返しますが、これは行列の乗算順序が重要でないことを意味します!
さて、次の性質は「分配的性質」です。
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-d1e10b3e97930fbad5c31cbaaee45075-2x.jpg)
行列に対しても箔付けの手法が許されることが分かります。
Question 7: 分配的性質が次の行列に対して働くことを示しなさい:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-b16faf9838df00bffb2ca99d5c584424-2x.jpg)
式の左辺は X(Y+Z)X(Y + Z)X(Y+Z) となることを確認しなさい。 したがって、これを計算すると、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-72195be0baa6481f9347e87d14bf6452-2x.jpg)
ここで、式の右辺が全く同じものを与えているかどうかを確認してみましょう。 式の右辺はXY+XZXY+XZであることに注目しましょう。 これを計算すると、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-6e92dd7de39b9e357eda5e3bfc933daf-2x.jpg)
式の左辺が右辺と全く同じであることに注意してください。
行列の掛け算は可換か
行列の掛け算は連想性と分配性の両方を満たすことが分かっていますが、可換性については全く触れませんでしたね。 行列の乗算はこれを満たさないということでしょうか。
Question 8: もし行列の乗算が可換であれば、次のことが成り立つはずです:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-04ca83ee185c5f4f890472d21d582a39-2x.jpg)
以下の場合、XYeqYXXY eq YXXYeqYX を示す。
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-ac0e5391be7955f352b6335ac8f0d971-2x.jpg)
最初に式の左辺を計算する。 XYXYを計算すると:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-9f37f49fce656a7b90faea27c92be887-2x.jpg)
ここで式の右辺を計算すると:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-68a7f5c35c9ea63ac947727e61414a28-2x.jpg)
このように、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-daf1163364d9f5d4314082588a2de117-2x.jpg)
このように
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-0e7ac5250fab4e1f9b767a9a9c77bc0c-2x.jpg)
この二つの行列は全く違います。
さて、行列の乗法の性質はまだ少し残っていますね。 しかし、これらの性質はゼロ行列と単位行列を扱います。
ゼロ行列に対する行列の乗算
ゼロ行列に対する行列の乗算性質は次のように述べています:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-d5b86160ac9fb42abf38661f7cfbfc1c-2x.jpg)
ここでOOOはゼロ行列であり、OOはゼロ行列です。
これは、ゼロの行列と別のゼロでない行列を掛け合わせると、ゼロの行列ができることを意味しています。
Question 9: 式OX=OOX=O、XO=OXO=Oが成り立つのは、次の場合であることを示しなさい:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-d3bd1ea5914e309a11fb27455c6dd072-2x.jpg)
まず式を見てみましょう
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-69991168f23b0ec7bae62b9f6a58a4af-2x.jpg)
OXOXを計算すると、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-7b0885f4828b7714088c172f837b795c-2x.jpg)
確かにOX=OOX=Oですから式は成立していますね。 同様にXOXOXOを計算すると、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-6588695df5d0b6476c851c079a1451c6-2x.jpg)
式XO=OXO=Oが成り立つことがわかりましたので、終了です。
単位行列の行列の乗算
さて、単位行列の行列乗算特性はどうなっているでしょうか。 さて、その性質とは次のようなものです:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-3de9880617a6ce88a229aed298d3723e-2x.jpg)
ここでInI_{n}Inはn×nn倍のn×n恒等行列であり、この行列の行列乗算は次のようになります。 3274>
問題10 XI2=XX I_{2} = XXI2=X と I2X=XI_{2} の式が成り立つことを示せ。 X = XI2X=X が次の行列で成り立つ
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-153487d1553b694172dc83f740aa6f75-2x.jpg)
したがって、式XI2=XX I_{2} = XXI2=Xに対して、
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-25b5ba790e5c006ca1c691896211dcd8-2x.jpg)
式は成立することになるわけです。 I2X=XI_{2}X = XI2X=Xという式と同様に、:
![](https://dmn92m25mtw4z.cloudfront.net/latex_images/latex-image-6765be538e411cd1fc4ab37a9f13725b-2x.jpg)
この場合も方程式は成り立ちますね。 これで、行列の乗算の性質はすべて終了です。 さて、行列の掛け算の実際の応用を見たい方は、こちらの記事をご覧ください。
https://www.mathsisfun.com/algebra/matrix-multiplying.html