ベクトルの微分

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

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

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

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

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

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

定義

スカラー tt を変数とするベクトル a\boldsymbol{a} の微分を ddta=lim⁡h→0a(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=lim⁡h→0a(t+h)−a(t)h=lim⁡h→0(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 次元ベクトル,ff は tt を変数とするスカラー関数とする。

ddt(a+b)=ddta+ddtbddtfa=dfdta+fddtaddt(a⋅b)=ddta⋅b+a⋅ddtbddt(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′+b1′a2′+b2′a3′+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)=(f′a1+fa1′f′a2+fa2′f′a3+fa3′)=f′a+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(a⋅b)=ddt(a1b1+a2b2+a3b3)=a1′b1+a2′b2+a3′b3+a1b1′+a2b2′+a3b3′=ddta⋅b+a⋅ddtb\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(a2b3−a3b2a3b1−a1b3a1b2−a2b1)=(a2′b3−a3′b2+a2b3′−a3b2′a3′b1−a1′b3+a3b1′−a1b3′a1′b2−a2′b1+a1b2′−a2b1′)=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) で微分したものを 各変数による偏微分を並べたベクトル で定義する。すなわち, ∂f∂x=(∂f∂x1,∂f∂x2,⋯ ,∂f∂xn) \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)

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

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

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

微分公式

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

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

∂∂x(a⋅x)=a∂∂x(x⋅a)=a∂∂x(x⋅x)=2x∂∂xtxAx=(A+tA)x∂∂xt(x−a)(x−a)=2(x−a)\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=(∂a1∂x1⋯∂ai∂x1⋯∂an∂x1⋮⋱⋮∂a1∂xi⋯∂ai∂xi⋯∂an∂xi⋮⋱⋮∂a1∂xn⋯∂ai∂xn⋯∂an∂xn) \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 次元ベクトル,AA は n×nn \times n 正方行列とする。

∂∂xx=In∂∂xAx=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))=∂f∂x∂g∂y \dfrac{\partial}{\partial \boldsymbol{x}} g(f(\boldsymbol{x})) = \dfrac{\partial f}{\partial \boldsymbol{x}} \dfrac{\partial g}{\partial \boldsymbol{y}}

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