本記事は以下の過去記事の内容を用います.
分散共分散行列(と相関行列)は半正定値であることを証明する - エンジニアを目指す浪人のブログ
応用上よく使われる関数に,凸(convex)(あるいは狭義凸(strictly convex))である(ベクトル値)二次関数(quadratic function)があります.二次関数が凸となる条件についてモヤモヤしてしまったので,調べてまとめることにしました.
問題を設定するため,いくつか準備をします.
の要素を要素にもつ 次元ベクトルの集合
の要素を要素にもつ 行列の集合
次元ベクトル
次元ベクトル
行列
正定値(positive definite),半正定値(positive semidefinite)の定義は冒頭の過去記事定義 4.1.11.にあります.
凸関数,狭義凸関数の定義は文献[3]にあります.
転置行列についての以下の性質は文献[4]にあります.
以上の設定のもとで,本記事の目的に進みます.以下の定理と証明は,文献[1]Theorem 1をほぼ引用したものです.
'--------------------------------------------------------------------------------------------------------------------------------------------
定理1.
とする.関数 が凸であるための必要十分条件は が半正定値であることである.
証明.
は半正定値でないとする.このとき となるある が存在する.以下の集合 を考える.
について であり, を固定すればこれは の関数であるから とおける.いま であるから は についての狭義凹であり,すなわち について は狭義凹になりうるので 上では は凸ではない.
したがって が半正定値でないとき は凸ではないので, が凸のとき は半正定値である.
逆を示す. は半正定値であるとする. について以下が成り立つ.
したがって が半正定値のとき は凸である.
(証明終わり)
'--------------------------------------------------------------------------------------------------------------------------------------------
以下の系は,文献[1]Corollary 2を参考にしています.
'--------------------------------------------------------------------------------------------------------------------------------------------
系2.
が狭義凸であるための必要十分条件は が正定値であることである.
証明.
定理1.の証明.では集合 を用いたが,ここでは集合 を考えることになる.以下の関係がある.
また,任意の関数は狭義凸ならば凸であるので,凸でないならば狭義凸でない.
したがって, は正定値でない は狭義凸ではない,は定理1.の証明.と同様に示せる.
逆についても, を正定値と仮定すれば定理1.の証明.と同様に示せる.ただし について考えるので,式変形中の を におきかえ,狭義凸であることを示すことになる.
(証明終わり)
'--------------------------------------------------------------------------------------------------------------------------------------------
以上,係数行列が対称行列の二次関数が凸関数(あるいは狭義凸関数)であるための必要十分条件はその係数行列が半正定値(あるいは正定値)であることを証明しました.
参考文献
[1] Massachusetts Institute of Technology Robert M. Freund先生のノート https://ocw.mit.edu/courses/sloan-school-of-management/15-084j-nonlinear-programming-spring-2004/lecture-notes/lec4_quad_form.pdf
[2] University of Delaware Thomas S. Angell先生のノート http://www.math.udel.edu/~angell/Opt/conv_fcn.pdf
[3] Wikipedia Convex function のページ https://en.wikipedia.org/wiki/Convex_function
[4] Wikipedia Transpose のページ https://en.wikipedia.org/wiki/Transpose