MATLAB,Python,Scilab,Julia比較 第2章 その31【対称行列と二次形式③】

MATLAB,Python,Scilab,Julia比較 第2章 その31【対称行列と二次形式③】 数値計算
MATLAB,Python,Scilab,Julia比較 第2章 その31【対称行列と二次形式③】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia2-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

ロードマップ【再掲】

太郎くん
太郎くん

まずはロードマップを再掲。

正規方程式に至る道、二次形式、対称行列、二次形式の微分、グラム行列、二乗和誤差、正規方程式
フクさん
フクさん

今回は二次形式の話の続きで、行列表現と多項式表現の可逆性維持の話になる。

二次形式の行列表現と多項式表現

フクさん
フクさん

前回、二次形式を行列表現できたが、
これをもう少し具体的に書いてみる。

\(ax^2+bxy+cy^2\)の場合
\(
\begin{bmatrix}
x \\
y
\end{bmatrix}^T
\begin{bmatrix}
a && c/2 \\
c/2 && b
\end{bmatrix}
\begin{bmatrix}
x \\
y
\end{bmatrix}=
ax^2+by^2+cxy
\)

\(ax^2+by^2+cz^2+dxy+eyz+fxz\)の場合
\(
\begin{bmatrix}
x \\
y \\
z
\end{bmatrix}^T
\begin{bmatrix}
a && d/2 && f/2 \\
d/2 && b && e/2 \\
f/2 && e/2 && c
\end{bmatrix}
\begin{bmatrix}
x \\
y \\
z
\end{bmatrix}=
ax^2+by^2+cz^2+dxy+eyz+fxz
\)

太郎くん
太郎くん

対称行列にする意味ってあるの?

フクさん
フクさん

多項式から行列にする場合、対称行列という制約を設けないと、相互変換できないってのはあるな。

太郎くん
太郎くん

なるほど。
制約があるから可逆性が保証出来て、結果として表現が違うだけで同じものと言えるってわけか。

フクさん
フクさん

そうそう。

今後について

フクさん
フクさん

で、ここまでで二次形式の行列表現、多項式表現が等しいことを証明したわけだが、
これが本当に同じなのかを各ツール、各言語で確認するのを挟もうと思う。

太郎くん
太郎くん

そうだねー。
なんか、ここまででも結構ごちゃごちゃした感じがするもんねー。

フクさん
フクさん

そこで、一点問題がある!

太郎くん
太郎くん

ずっと問題だらけやー!

フクさん
フクさん

現状の行列表現のままだと、行列を利用した一括変換ができない
まぁfor文使えば解決ではあるのだけど、
折角だから、ベクトル、行列であるが故の利点を享受しておきたい。
というわけで、この話を次回やってから、実際に各ツール、各言語で計算させてみる。
って流れになると思う。

太郎くん
太郎くん

もう好きにしてくれ・・・。

まとめ

フクさん
フクさん
  • 二次形式の行列表現と多項式表現の関係性を示した。
    • 行列Aが対称行列になることを制約とすると行列表現と多項式表現に可逆性を付加することができる。
    • これに伴い、等しいものとして扱うことが可能となる。
  • 実際に行列表現と多項式表現が等しいかを各ツール、各言語で確認したいが、その前にベクトル、行列のまま演算する仕掛けを考える必要がある。

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

コメント

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