MATLAB,Python,Scilab,Julia比較 その29【行列演算⑫】

MATLAB,Python,Scilab,Julia比較 その29【行列演算⑫】 数値計算
MATLAB,Python,Scilab,Julia比較 その29【行列演算⑫】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia-backnumber/

はじめに

前回は二元一次方程式を書き出し、これをベクトルの内積で表現し直した。
さらにそれを行列で表現し直した。
これが最もシンプルな行列の性質を示している。

今回は、前回の式をもう少し砕いて説明しつつ、これを拡張。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

入力、変換、出力

フクさん
フクさん

前回の連立方程式を行列演算にしたものを再掲する。

\(
\begin{bmatrix}
x\prime \\
y\prime
\end{bmatrix}=
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
\begin{bmatrix}
x \\
y
\end{bmatrix}
\)

太郎くん
太郎くん

最もシンプルな行列ってところだよねー。

フクさん
フクさん

この構成、それぞれの要素に名前と言うか意味がある。

太郎くん
太郎くん

どんな?

フクさん
フクさん

こんな感じだな。

\(
\begin{bmatrix}
x\prime \\
y\prime
\end{bmatrix}=
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
\begin{bmatrix}
x \\
y
\end{bmatrix}
\)
[出力ベクトル]=[変換行列][入力ベクトル]

太郎くん
太郎くん

あ、そういう意味か。
確かに入力と変換を経て出力って構成だね。

入力ベクトルと出力ベクトルを行列に拡張

フクさん
フクさん

上記の入力ベクトルと出力ベクトルを行列に拡張できる。

\(
\begin{bmatrix}
x_1^\prime & x_2^\prime\\
y_1^\prime & y_2^\prime
\end{bmatrix}=
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
\begin{bmatrix}
x_1 & x_2 \\
y_1 & y_2
\end{bmatrix}
\)

[出力ベクトル1,出力ベクトル2]=[変換行列][入力ベクトル1,入力ベクトル2]

太郎くん
太郎くん

なんか全部行列になった・・・。

フクさん
フクさん

考え方は入出力がベクトルの時と一緒だ。
入力の列ベクトルが2つ並んで、2×2の行列になって、
それに伴って出力の列ベクトルも2つになるので、2×2の行列になってるだけだな。

太郎くん
太郎くん

なるほど。
入力、出力に着目すると確かに納得な構成に見えるな。

フクさん
フクさん

ポイントは、全部2×2の行列だけど、
数式の位置によって意味が変わるってところだな。

太郎くん
太郎くん

あー、そもそも位置によって意味が全然違うってことなのかー。
行列のここら辺が妙なややこしさになってる気がするな―。

フクさん
フクさん

行列を嫌ってる人ってたぶんこの部分をすっ飛ばしてしまってるんじゃないかな?
これが分かっていれば、大半の行列は読めるというか、便利に使えると思うよ。

太郎くん
太郎くん

確かに行列に対する妙なモヤが晴れた気がする。

まとめ

フクさん
フクさん

まとめだよ。

  • 連立方程式を行列演算にしたものを再掲。
  • 上記の構成は[出力ベクトル]=[変換行列][入力ベクトル]となる。
  • これの入力、出力を列ベクトル2セットにすると2×2の行列になる。
  • すべて2×2行列になるが、数式上の位置によって、入力、変換、出力と意味が異なる。
    • このルールをすっ飛ばしてる行列嫌いになるかも?

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました