ヘッセ行列で最大/最小値の存在を判定の続きで、今回は関数における停留点が極値かどうかを判定する方法を確認します。高校数学で習うように、1変数の関数であれば、二階微分の正負から増減表によって極値の判定ができますが、多変数関数では増減表を書くことができません。しかしあとで見るように、二階微分で作られるヘッセ行列が正定値/負定値であるかどうかで判定することができます。これは二階微分の正負で判定する手法の一般化であるといえます。
変数関数
を考え、点
で停留点、つまり、
とします。停留点は極値であることの必要条件です。
点まわりのテイラー展開による2次近似は、
で与えられます。ここで、式(1)の条件より、のとき0になり、
のときの項のみ残りますから、
です。ここで、2番目の項は、ヘッセ行列(参考:ベクトルをベクトルで微分の定義とヘッセ行列)に点を代入した
と、を用いて、
と書けますから、
です。なお式(4)の各要素は、2階微分した関数に点を代入したものですから、
のことです。
ちなみに、1変数関数の場合は、
となり、2次の項はが頂点の放物線ですから、
の正負で上に凸か下に凸か、つまり極大か極小であるかがわかります。近似式は点
の付近で
をよく近似しているはずなので、近似式が点
で最大/最小なら
もその点で極値だろうということですね。
さて、同じように式(5)においては定数ですから、
が最大値/最小値を持つかどうかが判定できれば、
が点
において極値かどうかが明らかになります。そして2次形式
が最大値/最小値を持つかどうかは、ヘッセ行列が正定値行列または負定値行列であるかによって確認できます*1。(参考:ヘッセ行列で最大/最小値の存在を判定)
よって、変数関数
が停留点
において、式(4)のヘッセ行列が正定値行列であれば極小値、負定値行列であれば極大値となります。
*1:このあたりは本来もっと議論が必要だと思いますが、直感的に理解するにはこれくらいで十分かなと思います、、、という言い訳。