ベクトルの微分

更新日時 2023/02/24

「ベクトルの微分」「ベクトルで微分」について,以下の3種類の意味と関連する公式を紹介します。

  1. ベクトルをスカラーで微分したもの dadt\dfrac{d\boldsymbol{a}}{dt}

  2. スカラーをベクトルで微分したもの fx\dfrac{\partial f}{\partial \boldsymbol{x}}

  3. ベクトルをベクトルで微分したもの ax\dfrac{\partial \boldsymbol{a}}{\partial \boldsymbol{x}}

力学や電磁気学などの物理や,機械学習で重要になります。

目次
  • ベクトルをスカラーで微分

  • スカラーをベクトルで微分

  • ベクトルのベクトルでの微分

ベクトルをスカラーで微分

定義

スカラー tt を変数とするベクトル a\boldsymbol{a} の微分を ddta=limh0a(t+h)a(t)h \dfrac{d}{dt} \boldsymbol{a} = \lim_{h \to 0} \dfrac{\boldsymbol{a} (t+h) - \boldsymbol{a} (t)}{h} と定義する。計算結果はベクトル。

右辺の分子はベクトルの差なのでベクトルです。つまり,右辺はベクトルです。

例えば,a(t)=(a1(t),a2(t),a3(t))\boldsymbol{a} (t) = (a_1 (t) , a_2 (t) , a_3 (t)) のように3次元のベクトルの場合,

ddta=limh0a(t+h)a(t)h=limh0(a1(t+h)a1(t)ha2(t+h)a2(t)ha3(t+h)a3(t)h)=(a1(t)a2(t)a3(t))\begin{aligned} \dfrac{d}{dt} \boldsymbol{a} &= \lim_{h \to 0} \dfrac{\boldsymbol{a} (t+h) - \boldsymbol{a} (t)}{h}\\ &= \lim_{h \to 0} \begin{pmatrix} \dfrac{a_1 (t+h) - a_1 (t)}{h}\\ \dfrac{a_2 (t+h) - a_2 (t)}{h}\\ \dfrac{a_3 (t+h) - a_3 (t)}{h} \end{pmatrix}\\ &= \begin{pmatrix} a_1' (t)\\ a_2' (t)\\ a_3' (t) \end{pmatrix} \end{aligned} となります。成分ごとに普通に微分すれば良いわけです。nn 次元ベクトルの場合も同様です。

微分公式

「ベクトルのスカラー微分」に関する公式

a,b\boldsymbol{a} , \boldsymbol{b} は各成分が tt を変数とする nn 次元ベクトル,fftt を変数とするスカラー関数とする。

ddt(a+b)=ddta+ddtbddtfa=dfdta+fddtaddt(ab)=ddtab+addtbddt(a×b)=ddta×b+a×ddtb\begin{aligned} \dfrac{d}{dt} (\boldsymbol{a} + \boldsymbol{b}) &= \dfrac{d}{dt} \boldsymbol{a} + \dfrac{d}{dt} \boldsymbol{b}\\ \dfrac{d}{dt} f \boldsymbol{a} &= \dfrac{df}{dt} \boldsymbol{a} + f \dfrac{d}{dt} \boldsymbol{a}\\ \dfrac{d}{dt} (\boldsymbol{a} \cdot \boldsymbol{b}) &=\dfrac{d}{dt} \boldsymbol{a} \cdot \boldsymbol{b} + \boldsymbol{a} \cdot \dfrac{d}{dt} \boldsymbol{b}\\ \dfrac{d}{dt} (\boldsymbol{a} \times \boldsymbol{b}) &= \dfrac{d}{dt} \boldsymbol{a} \times \boldsymbol{b} + \boldsymbol{a} \times \dfrac{d}{dt} \boldsymbol{b} \end{aligned}

ただし,最後の式(外積を含む式)では n=3n=3 とします。

証明は,ひたすら成分計算するだけです。

証明

a=(a1a2a3)\boldsymbol{a} = \begin{pmatrix} a_1\\ a_2\\ a_3 \end{pmatrix}b=(b1b2b3)\boldsymbol{b} = \begin{pmatrix} b_1\\ b_2\\ b_3 \end{pmatrix} とおく。

1番目の式は,

ddt(a+b)=ddt(a1+b1a2+b2a3+b3)=(a1+b1a2+b2a3+b3)=ddta+ddtb\begin{aligned} \dfrac{d}{dt} (\boldsymbol{a} + \boldsymbol{b}) &= \dfrac{d}{dt} \begin{pmatrix} a_1 + b_1\\ a_2 + b_2\\ a_3 + b_3 \end{pmatrix}\\ &= \begin{pmatrix} a_1' + b_1'\\ a_2' + b_2'\\ a_3' + b_3' \end{pmatrix}\\ &= \dfrac{d}{dt} \boldsymbol{a} + \dfrac{d}{dt} \boldsymbol{b} \end{aligned}

2番目の式は,

ddtfa=ddt(fa1fa2fa3)=(fa1+fa1fa2+fa2fa3+fa3)=fa+fddta\begin{aligned} \dfrac{d}{dt} f \boldsymbol{a} &= \dfrac{d}{dt} \begin{pmatrix} f a_1\\ f a_2\\ f a_3 \end{pmatrix}\\ &= \begin{pmatrix} f' a_1 + f a_1'\\ f' a_2 + f a_2'\\ f' a_3 + f a_3' \end{pmatrix}\\ &= f' a + f \dfrac{d}{dt} \boldsymbol{a} \end{aligned}

3番目の式は,

ddt(ab)=ddt(a1b1+a2b2+a3b3)=a1b1+a2b2+a3b3+a1b1+a2b2+a3b3=ddtab+addtb\begin{aligned} \dfrac{d}{dt} (\boldsymbol{a} \cdot \boldsymbol{b}) &= \dfrac{d}{dt} (a_1 b_1 + a_2 b_2 + a_3 b_3)\\ &= a_1' b_1 + a_2' b_2 + a_3' b_3\\ &\quad\quad +a_1 b_1' + a_2 b_2' + a_3 b_3'\\ &= \dfrac{d}{dt} \boldsymbol{a} \cdot \boldsymbol{b} + \boldsymbol{a} \cdot \dfrac{d}{dt} \boldsymbol{b} \end{aligned}

4番目の式は,

ddt(a×b)=ddt(a2b3a3b2a3b1a1b3a1b2a2b1)=(a2b3a3b2+a2b3a3b2a3b1a1b3+a3b1a1b3a1b2a2b1+a1b2a2b1)=ddta×b+a×ddtb\begin{aligned} \dfrac{d}{dt} (\boldsymbol{a} \times \boldsymbol{b}) &= \dfrac{d}{dt} \begin{pmatrix} a_2 b_3 - a_3 b_2\\ a_3 b_1 - a_1 b_3\\ a_1 b_2 - a_2 b_1 \end{pmatrix}\\ &= \begin{pmatrix} a_2' b_3 - a_3' b_2 + a_2 b_3' - a_3 b_2'\\ a_3' b_1 - a_1' b_3 + a_3 b_1' - a_1 b_3'\\ a_1' b_2 - a_2' b_1 + a_1 b_2' - a_2 b_1' \end{pmatrix}\\ &= \dfrac{d}{dt} \boldsymbol{a} \times \boldsymbol{b} + \boldsymbol{a} \times \dfrac{d}{dt} \boldsymbol{b} \end{aligned}

スカラーをベクトルで微分

定義

nn 変数関数 f(x1,x2,...,xn)f(x_1 , x_2 , ... , x_n) をベクトル x=(x1,x2,...,xn)\boldsymbol{x}=(x_1,x_2,...,x_n) で微分したものを 各変数による偏微分を並べたベクトル で定義する。すなわち, fx=(fx1,fx2,,fxn) \dfrac{\partial f}{\partial \boldsymbol{x}} = \left( \dfrac{\partial f}{\partial x_1} , \dfrac{\partial f}{\partial x_2} , \cdots , \dfrac{\partial f}{\partial x_n} \right)

fx\dfrac{\partial f}{\partial \boldsymbol{x}} のことを,f\nabla f と書くこともあります。\nabla はナブラ演算子です。ナブラエフなどと読みます。

fx\dfrac{\partial f}{\partial \boldsymbol{x}} は勾配ベクトルとも呼ばれます。→勾配ベクトルの意味と例題

また,ベクトル場における発散(div)と回転(rot)の定義・意味 もどうぞ。

微分公式

スカラーのベクトルでの微分公式

a\boldsymbol{a}x\boldsymbol{x} に依存しない,x\boldsymbol{x} と同じ次元の定数ベクトルとする。このとき,

x(ax)=ax(xa)=ax(xx)=2xxtxAx=(A+tA)xxt(xa)(xa)=2(xa)\begin{aligned} \dfrac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{a} \cdot \boldsymbol{x}) &= \boldsymbol{a}\\ \dfrac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{x} \cdot \boldsymbol{a}) &= \boldsymbol{a}\\ \dfrac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{x} \cdot \boldsymbol{x}) &= 2\boldsymbol{x}\\ \dfrac{\partial}{\partial \boldsymbol{x}} {}^t \boldsymbol{x} A \boldsymbol{x} &= (A + {}^t A) \boldsymbol{x}\\ \dfrac{\partial}{\partial \boldsymbol{x}} {}^t (\boldsymbol{x} - \boldsymbol{a})(\boldsymbol{x} - \boldsymbol{a}) &= 2 (\boldsymbol{x} - \boldsymbol{a}) \end{aligned}

さきほどと同様に成分計算で証明できます。やってみてください。

ベクトルのベクトルでの微分

ベクトルをベクトルで微分した導関数は,スカラーの微分を並べた行列として定義します。すなわち a=(a1,a2,,an)\boldsymbol{a} = (a_1 , a_2 , \cdots , a_n)x=(x1,x2,,xn)\boldsymbol{x} = (x_1 , x_2 , \cdots , x_n) で微分した導関数を xa=(a1x1aix1anx1a1xiaixianxia1xnaixnanxn) \dfrac{\partial}{\partial \boldsymbol{x}} \boldsymbol{a} = \begin{pmatrix} \dfrac{\partial a_1}{\partial x_1} & \cdots & \dfrac{\partial a_i}{\partial x_1} & \cdots & \dfrac{\partial a_n}{\partial x_1}\\ \vdots & \ddots & & & \vdots\\ \dfrac{\partial a_1}{\partial x_i} & \cdots & \dfrac{\partial a_i}{\partial x_i} & \cdots & \dfrac{\partial a_n}{\partial x_i}\\ \vdots & & & \ddots & \vdots\\ \dfrac{\partial a_1}{\partial x_n} & \cdots & \dfrac{\partial a_i}{\partial x_n} & \cdots & \dfrac{\partial a_n}{\partial x_n}\\ \end{pmatrix} と定義します。

微分公式

ベクトルのベクトルでの微分公式

x\boldsymbol{x}nn 次元ベクトル,AAn×nn \times n 正方行列とする。

xx=InxAx=tA\begin{aligned} \dfrac{\partial}{\partial \boldsymbol{x}} \boldsymbol{x} &= I_n\\ \dfrac{\partial}{\partial \boldsymbol{x}} A \boldsymbol{x} &= {}^t A \end{aligned}

ベクトルを入力として,ベクトル値を返す関数 f(x)f(\boldsymbol{x})g(y)g(\boldsymbol{y}) に対して xg(f(x))=fxgy \dfrac{\partial}{\partial \boldsymbol{x}} g(f(\boldsymbol{x})) = \dfrac{\partial f}{\partial \boldsymbol{x}} \dfrac{\partial g}{\partial \boldsymbol{y}}

混同しやすいので,3種類のうちどれを扱っているのかゆっくり考えましょう。

人気記事