手帳と試行

学んだことをアウトプットしていきます。 日々、ノートあるのみ。

平方完成

統計学に関連する分野を学んでいると、2次形式への「平方完成」なる操作を要求されることがある。これをきちんとできるようにしておく。

2次形式への「平方完成」

以下のような変形を行なうことを平方完成 (completing the square) という。

xTAx+bTx+c=(x+x0)TA(x+x0)+c0\bm x^\mathsf{T} \bm A \bm x + \bm b^\mathsf{T} \bm x + c = (\bm x + \bm x_0)^\mathsf{T} \bm A (\bm x + \bm x_0) + c_0

ただしA\bm Aは正則な対称行列、x\bm xは変数ベクトル、b\bm bx0\bm x_0は定数ベクトル、ccc0c_0は定数スカラーとする。

varibles:xRNconstants:ARN×NbRNcRA1RN×Nx0RNc0RwhereAT=A\begin{darray}{llcl} \text{varibles}: & \bm x &\in& \mathbb R^{N} \\ \text{constants}: & \bm A &\in& \mathbb R^{N \times N} \\ & \bm b &\in& \mathbb R^{N} \\ & c &\in& \mathbb R \\ \hdashline & \bm A^{-1} &\in& \mathbb R^{N \times N} \\ & \bm x_0 &\in& \mathbb R^{N} \\ & c_0 &\in& \mathbb R \\ \text{where} &\bm A^\mathsf{T} &=& \bm A \end{darray}

目標は右辺に出現したx0\bm x_0およびc0c_0を、左辺の定数ベクトルで表現することである。

シンプルな例

もっとも簡単なのは、右辺を展開して左辺と比較するやり方。

まず右辺を展開する。

(x+x0)A(x+x0)+c0=xTAx+2[x0TA]x+[x0TAx0T+c0]\begin{aligned} (\bm x + \bm x_0) \bm A (\bm x + \bm x_0) + c_0 &= \bm x^\mathsf{T} \bm A \bm x + 2 [\bm x_0^\mathsf{T} \bm A] \bm x + [\bm x_0^\mathsf{T} \bm A \bm x_0^\mathsf{T} + c_0] \end{aligned}

これを左辺と比較する。

right–hand=xTAx+2[x0TA]x+x0TAx0T+c0left–hand=xTAx+bTx+c\begin{darray}{rcrcrcc} \text{right--hand} &=& \bm x^\mathsf{T} \bm A \bm x &+& 2 [\bm x_0^\mathsf{T} \bm A] \bm x &+& \bm x_0^\mathsf{T} \bm A \bm x_0^\mathsf{T} + c_0 \\ \text{left--hand} &=& \bm x^\mathsf{T} \bm A \bm x &+& \bm b^\mathsf{T} \bm x &+& c \end{darray}

これにより

2x0TA=bTAx0=12bx0=12A1b\begin{aligned} 2 \bm x_0^\mathsf{T} \bm A &= \bm b^\mathsf{T} \\ \bm A \bm x_0 &= \frac{1}{2} \bm b \\ \bm x_0 &= \frac{1}{2} \bm A^{-1} \bm b \end{aligned}

および

x0TAx0+c0=cc0=x0TAx0+cc0=14bTA1b+c\begin{aligned} \bm x_0^\mathsf{T} \bm A \bm x_0 + c_0 &= c \\ c_0 &= - \bm x_0^\mathsf{T} \bm A \bm x_0 + c \\ c_0 &= - \frac{1}{4} \bm b^\mathsf{T} \bm A^{-1} \bm b + c \end{aligned}

と導出できる。ゆえに

xTAx+bTx+c=(x+12A1b)TA(x+12A1b)14bTA1b+c\begin{aligned} \bm x^\mathsf{T} \bm A \bm x + \bm b^\mathsf{T} \bm x + c = \left(\bm x + \frac{1}{2} \bm A^{-1} \bm b \right)^\mathsf{T} \bm A \left(\bm x + \frac{1}{2} \bm A^{-1} \bm b \right) - \frac{1}{4} \bm b^\mathsf{T} \bm A^{-1} \bm b + c \end{aligned}

である。

スカラーの場合からの類推による暗算

実際は、この程度の変形なら途中計算なしに暗算でやってしまいたい。そこでまず、多くの人が慣れているであろう形の平方完成、すなわちスカラーの場合の平方完成に着目する。

ax2+bx+c=a(x12a1b)214a1b2+c\begin{aligned} ax^2 + bx + c = a \left( x - \frac{1}{2} a^{-1} b \right)^2 - \frac{1}{4} a^{-1} b^2 + c \end{aligned}

これを暗算でどう考えて行なっていたかを思い出す。

  1. まず基本の形をつくる。
  2. 次いで左辺1次の項をヒントに括弧の中の\circを当てる。
  3. 括弧を2乗すると何が出てくるかに着目して\triangleを当てる。
1.ax2+bx+c=a(x)2+c2.ax2+bx+c=a(x12a1b)2+c3.ax2+bx+c=a(x+12a1b)214a1b2+c\begin{alignedat}{4} &1. &\qquad ax^2 + bx + c &= a(x - \circ )^2 &&- \triangle &&+ c \\ &2. &\qquad ax^2 + bx + c &= a\left(x - \frac{1}{2}a^{-1} b \right)^2 &&- \triangle &&+ c \\ &3. &\qquad ax^2 + bx + c &= a \left( x + \frac{1}{2} a^{-1} b \right)^2 &&- \frac{1}{4} a^{-1} b^2 &&+ c \end{alignedat}

以上のスカラーの場合の類推により、2次形式への平方完成も暗算することができる。

1.xTAx+bTx+c=(x+)TA(x+)+c2.xTAx+bTx+c=(x+12A1b)TA(x+12A1b)+c3.xTAx+bTx+c=(x+12A1b)TA(x+12A1b)14bTA1b+c\begin{alignedat}{6} &1. &\qquad \bm x^\mathsf{T} \bm A \bm x + \bm b^\mathsf{T} \bm x + c &= & \left(\bm x + \bm{\circ{}} \right)^\mathsf{T} & \bm A && \left(\bm x + \bm{\circ{}} \right) && - \bm \triangle && + c \\ &2. &\qquad \bm x^\mathsf{T} \bm A \bm x + \bm b^\mathsf{T} \bm x + c &= & \left(\bm x + \frac{1}{2} \bm A^{-1} \bm b \right)^\mathsf{T} & \bm A && \left(\bm x + \frac{1}{2} \bm A^{-1} \bm b \right) && - \bm \triangle && + c \\ &3. &\qquad \bm x^\mathsf{T} \bm A \bm x + \bm b^\mathsf{T} \bm x + c &= & \left(\bm x + \frac{1}{2} \bm A^{-1} \bm b \right)^\mathsf{T} & \bm A && \left(\bm x + \frac{1}{2} \bm A^{-1} \bm b \right) && - \frac{1}{4} \bm b^\mathsf{T} \bm A^{-1} \bm b && + c \end{alignedat}