LoginSignup
2
1

More than 1 year has passed since last update.

ヤコビ行列のつくり方入門 ~ヤコビ行列を次元を増やしながら理解してみる~

Last updated at Posted at 2021-11-19

ヤコビ行列とは

一言でいうと出力がベクトルの多変数関数を偏微分した結果を行列の形に整列したものです.
とても単純に言うとただの微分の集まりです.

ヤコビ行列とは?と思っている方でもなるべく理解しやすいように,単純な式からヤコビ行列を組み立てていき,自分でも作れるようにだんだんと理解を進めていきます.

出力が1つ,変数が1つの場合のヤコビ行列

以下の式のヤコビ行列を考えます.

$$
f(x)=ax+b
$$
の微分値が

$$
\frac{df(x)}{dx}=a
$$
となるため,式$f$のヤコビ行列$J$は1行1列となり

$$
J = (\frac{df(x)}{dx})=(a)
$$
となります.

1次元であれば偏微分を使わないので簡単ですね.
ただの微分式です.

出力が1つ,変数が2つの場合のヤコビ行列

関数の出力が1つで変数が2つある式,つまり多変数関数を考えてみましょう.
多変数関数$f$を

$$
f(x_1, x_2) = ax_1 + bx_2 + c
$$

としたとき,式$f$のヤコビ行列$J$は1行2列となります.
今回は2変数を扱うため,変数ごとの微分,すなはち偏微分が必要になります.そのためヤコビ行列$J$は

\begin{align}
J &= (\frac{df}{dx_1} \ \ \frac{df}{dx_2}) \\
  &= (\frac{ax_1 + bx_2 + c}{dx_1} \ \ \frac{ax_1 + bx_2 + c}{dx_2}) \\
  &= (a \ \ b)
\end{align}

となります.

出力が2つ,変数が2つの場合のヤコビ行列

関数の出力が1つで変数が2つある式,つまり出力がベクトルである多変数関数を考えてみましょう.
出力がベクトルの多変数関数$\boldsymbol{f}$を

$$
\boldsymbol{f}(x_1, x_2) = \left\{ f_1, f_2 \right\}
$$
ここで$f_1, f_2$の中身を

f_1(x_1, x_2) = ax_1 + bx_2 + c \\
f_2(x_1, x_2) = dx_1 + ex_2 + f

としたとき,式$\boldsymbol{f}$のヤコビ行列$J$は2行2列となります.
今回は出力も2つあるため,それぞれを偏微分してやる必要があります.そのためヤコビ行列$J$は

J = 
\left(
\begin{array}{ccc}
\frac{df_1}{dx_1} & \frac{df_1}{dx_2} \\
\frac{df_2}{dx_1} & \frac{df_2}{dx_2} \\
\end{array}
\right)

となります.

出力がN個,変数がM個の場合のヤコビ行列

ここまで解ければあとはどれだけ出力と変数の数が増えても同じですね.
先ほどと同様に出力がベクトルの多変数関数$\boldsymbol{f}$を考えてみましょう.

$$
\boldsymbol{f}(x_1, x_2, .... , x_M) = \left\{ f_1, f_2, .... , f_N \right\}
$$
ここで$f_1, f_2, .... , f_N$の中身を

\begin{align}
f_1(x_1, x_2, .... , x_M) &= k_{1,1}x_1 + k_{1,2}x_2 + ..... + k_{1,M}x_M + c \\
f_2(x_1, x_2, .... , x_M) &= k_{2,1}x_1 + k_{2,2}x_2 + ..... + k_{2,M}x_M + c \\
\vdots \\
f_N(x_1, x_2, .... , x_M) &= k_{N,1}x_1 + k_{N,2}x_2 + ..... + k_{N,M}x_M + c \\
\end{align}

としたとき,式$\boldsymbol{f}$のヤコビ行列$J$はN行M列となります.このときヤコビ行列$J$は
J = 
\left(
\begin{array}{ccc}
\frac{df_1}{dx_1} & \frac{df_1}{dx_2} & ... & \frac{df_1}{dx_M} \\
\frac{df_2}{dx_1} & \frac{df_2}{dx_2} & ... & \frac{df_2}{dx_M} \\
& & \vdots & \\
\frac{df_N}{dx_1} & \frac{df_N}{dx_2} & ... & \frac{df_N}{dx_M} \\
\end{array}
\right)

これでヤコビ行列が作れました.

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1