統計学に関連する分野を学んでいると、2次形式への「平方完成」なる操作を要求されることがある。これをきちんとできるようにしておく。
2次形式への「平方完成」
以下のような変形を行なうことを平方完成 (completing the square) という。
xTAx+bTx+c=(x+x0)TA(x+x0)+c0
ただしAは正則な対称行列、xは変数ベクトル、bとx0は定数ベクトル、cとc0は定数スカラーとする。
varibles:constants:wherexAbcA−1x0c0AT∈∈∈∈∈∈∈=RNRN×NRNRRN×NRNRA
目標は右辺に出現したx0およびc0を、左辺の定数ベクトルで表現することである。
シンプルな例
もっとも簡単なのは、右辺を展開して左辺と比較するやり方。
まず右辺を展開する。
(x+x0)A(x+x0)+c0=xTAx+2[x0TA]x+[x0TAx0T+c0]
これを左辺と比較する。
right–handleft–hand==xTAxxTAx++2[x0TA]xbTx++x0TAx0T+c0c
これにより
2x0TAAx0x0=bT=21b=21A−1b
および
x0TAx0+c0c0c0=c=−x0TAx0+c=−41bTA−1b+c
と導出できる。ゆえに
xTAx+bTx+c=(x+21A−1b)TA(x+21A−1b)−41bTA−1b+c
である。
スカラーの場合からの類推による暗算
実際は、この程度の変形なら途中計算なしに暗算でやってしまいたい。そこでまず、多くの人が慣れているであろう形の平方完成、すなわちスカラーの場合の平方完成に着目する。
ax2+bx+c=a(x−21a−1b)2−41a−1b2+c
これを暗算でどう考えて行なっていたかを思い出す。
-
まず基本の形をつくる。
-
次いで左辺1次の項をヒントに括弧の中の∘を当てる。
-
括弧を2乗すると何が出てくるかに着目して△を当てる。
1.2.3.ax2+bx+cax2+bx+cax2+bx+c=a(x−∘)2=a(x−21a−1b)2=a(x+21a−1b)2−△−△−41a−1b2+c+c+c
以上のスカラーの場合の類推により、2次形式への平方完成も暗算することができる。
1.2.3.xTAx+bTx+cxTAx+bTx+cxTAx+bTx+c===(x+∘)T(x+21A−1b)T(x+21A−1b)TAAA(x+∘)(x+21A−1b)(x+21A−1b)−△−△−41bTA−1b+c+c+c