偏微分を用いた多変数の凸関数の判定
凸集合上に定義された多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が凸関数であることは、\begin{equation*}\forall \boldsymbol{x},\boldsymbol{y}\in X,\ \forall \lambda \in \left[ 0,1\right] :\lambda f\left( \boldsymbol{x}\right) +\left( 1-\lambda \right)
f\left( \boldsymbol{y}\right) \geq f\left( \lambda \boldsymbol{x}+\left(
1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}が成り立つこととして定義されますが、以上の定義にもとづいて関数が凸であることを示す作業は煩雑になりがちです。多変数関数が偏微分可能である場合、それが凸関数であることを比較的容易に判定できます。順番に解説します。
凸集合上に定義された関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が凸関数であるものとします。\(f\)の定義域である凸集合上の2つの点\(\boldsymbol{x},\boldsymbol{y}\in X\)を任意に選んだ上で、これらの点を端点とする閉じた線分\begin{equation*}\left[ \boldsymbol{x},\boldsymbol{y}\right] =\left\{ \lambda \boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\in X\ |\ \lambda \in \left[ 0,1\right] \right\}
\end{equation*}をとります。その上で、それぞれの\(\lambda \in \left[0,1\right] \)に対して、\begin{equation*}f_{\boldsymbol{x},\boldsymbol{y}}\left( \lambda \right) =f\left( \lambda
\boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}を値として定める1変数関数\begin{equation*}
f_{\boldsymbol{x},\boldsymbol{y}}:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \end{equation*}を定義します。多変数関数\(f\)が凸関数であることは、任意の\(\boldsymbol{x},\boldsymbol{y}\in X\)に対して上のように定義される1変数関数\(f_{\boldsymbol{x},\boldsymbol{y}}\)がいずれも凸関数であることと必要十分です。
\boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}を定める1変数関数\(f_{\boldsymbol{x},\boldsymbol{y}}:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)を定義する。任意の\(\boldsymbol{x},\boldsymbol{y}\in X\)について\(f_{\boldsymbol{x},\boldsymbol{y}}\)が凸関数であることは、\(f\)が凸関数であるための必要十分条件である。
多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が以下の3つの性質を満たすものとします。
1つ目の性質は、\(f\)の定義域\(X\)が非空の凸集合であるということです。
2つ目の性質は、\(f\)が定義域の相対的内部\(\mathrm{ri}\left( X\right) \)において全微分可能であるということです。通常の内部\(X^{i}\)ではなく相対的内部\(\mathrm{ri}\left( X\right) \)を採用するメリットについては後述します。
3つ目の性質は、\(f\)が凸関数であるということです。
\(n=2\)である場合、凸関数\(f\)のグラフはお椀型の曲面(もしくは平面部分を持つ)であるため、グラフ上の点を任意に選んだとき、そこでの接平面全体が\(f\)のグラフの下方に位置するはずです。つまり、\(f\)の定義域の相対的内部上の点\(\boldsymbol{x}\in \mathrm{ri}\left( X\right) \)を任意に選んだとき、この点における\(f\)のグラフの接平面の方程式は、\begin{equation*}z=\nabla f\left( \boldsymbol{x}\right) \cdot \left( \boldsymbol{y}-\boldsymbol{x}\right) +f\left( \boldsymbol{x}\right)
\end{equation*}で与えられますが、\(f\)が凸関数である場合には、この接平面全体が\(f\)のグラフの下方にあること、すなわち、任意の\(\boldsymbol{y}\in X\)について、\begin{equation*}f\left( \boldsymbol{y}\right) \geq \nabla f\left( \boldsymbol{x}\right)
\cdot \left( \boldsymbol{y}-\boldsymbol{x}\right) +f\left( \boldsymbol{x}\right)
\end{equation*}が成り立つはずです。これは正しい主張です。しかも、逆の議論もまた成立します。証明では先に示した命題を利用します。
\boldsymbol{x}\right)
\end{equation*}が成り立つことは、\(f\)が凸関数であるための必要十分条件である。
\boldsymbol{y}\right) \geq \nabla f\left( \boldsymbol{x}\right) \cdot \left(
\boldsymbol{y}-\boldsymbol{x}\right) +f\left( \boldsymbol{x}\right)
\end{equation*}が成り立つことは、\(f\)が凸関数であるための必要十分条件です。
以上の命題を踏まえると、多変数関数\(f\)が\(C^{2}\)級である場合には、\(f\)が凸関数であることを以下のように特徴づけられます。
\boldsymbol{x}\right) \boldsymbol{h}\geq 0
\end{equation*}が成り立つことは、\(f\)が凸関数であるための必要十分条件である。
多変数関数\(f\)が\(C^{2}\)級である場合、そのヘッセ行列\(H_{f}\left( \boldsymbol{x}\right) \)は対称行列になります。対称行列\(H_{f}\left( \boldsymbol{x}\right) \)に関しては以下の関係\begin{eqnarray*}H_{f}\left( \boldsymbol{x}\right) \text{は半正定値} &\Leftrightarrow &H_{f}\left( \boldsymbol{x}\right) \text{の固有値がすべて非負} \\
&\Leftrightarrow &H_{f}\left( \boldsymbol{x}\right) \text{のすべての主座小行列式が非負}
\end{eqnarray*}が成り立つため、固有値や主座小行列式の符号を観察することによって\(H_{f}\left( \boldsymbol{x}\right) \)が半正定値であることを判定できます。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{2}\)は非空の凸な開集合です。\(f\)は多変数の多項式関数であるため\(C^{2}\)級であり、点\(\left( x,y\right) \in \mathbb{R} ^{2}\)におけるヘッセ行列は、\begin{equation*}H_{f}\left( x,y\right) =\begin{pmatrix}
f_{xx}^{\prime \prime }\left( x,y\right) & f_{xy}^{\prime \prime }\left(
x,y\right) \\
f_{yx}^{\prime \prime }\left( x,y\right) & f_{yy}^{\prime \prime }\left(
x,y\right)
\end{pmatrix}=\begin{pmatrix}
2 & 0 \\
0 & 2\end{pmatrix}\end{equation*}です。\(H_{f}\left( x,y\right) \)の1次の主座小行列式は、\begin{eqnarray*}\left\vert A_{1}\right\vert &=&\left\vert 2\right\vert =2\geq 0 \\
\left\vert A_{2}\right\vert &=&\left\vert 2\right\vert =2\geq 0
\end{eqnarray*}を満たし、2次の主座小行列式は、\begin{equation*}
\left\vert A_{1,2}\right\vert =\begin{vmatrix}
2 & 0 \\
0 & 2\end{vmatrix}=4\geq 0
\end{equation*}を満たすため\(H_{f}\left( x,y\right) \)は半正定値です。任意の点\(\left( x,y\right) \in \mathbb{R} ^{2}\)について同様であるため、先の命題より\(f\)は凸関数です。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{2}\)は非空の凸な開集合です。\(f\)は多変数の多項式関数であるため\(C^{2}\)級であり、点\(\left( x,y\right) \in \mathbb{R} ^{2}\)におけるヘッセ行列は、\begin{equation*}H_{f}\left( x,y\right) =\begin{pmatrix}
f_{xx}^{\prime \prime }\left( x,y\right) & f_{xy}^{\prime \prime }\left(
x,y\right) \\
f_{yx}^{\prime \prime }\left( x,y\right) & f_{yy}^{\prime \prime }\left(
x,y\right)
\end{pmatrix}=\begin{pmatrix}
0 & 0 \\
0 & 0\end{pmatrix}\end{equation*}です。\(H_{f}\left( x,y\right) \)の1次の主座小行列式は、\begin{eqnarray*}\left\vert A_{1}\right\vert &=&\left\vert 0\right\vert =0 \\
\left\vert A_{2}\right\vert &=&\left\vert 0\right\vert =0
\end{eqnarray*}を満たし、2次の主座小行列式は、\begin{equation*}
\left\vert A_{1,2}\right\vert =\begin{vmatrix}
0 & 0 \\
0 & 0\end{vmatrix}=0
\end{equation*}を満たすため\(H_{f}\left( x,y\right) \)は半正定値です。任意の点\(\left( x,y\right) \in \mathbb{R} ^{2}\)について同様であるため、先の命題より\(f\)は凸関数です。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{3}\)は非空の凸な開集合です。\(f\)は多変数の多項式関数であるため\(C^{2}\)級であり、勾配ベクトル場\(\nabla f:\mathbb{R} ^{3}\rightarrow \mathbb{R} ^{3}\)はそれぞれの\(\left( x,y,z\right)\in \mathbb{R} ^{3}\)に対して、\begin{eqnarray*}\nabla f\left( x,y,z\right) &=&\left( \frac{\partial f\left( x,y,z\right) }{\partial x},\frac{\partial f\left( x,y,z\right) }{\partial y},\frac{\partial
f\left( x,y,z\right) }{\partial z}\right) \\
&=&\left( 2x+2y+2z,4y+2x,6z+2x\right)
\end{eqnarray*}を定め、ヘッセ行列関数\(H_{f}:\mathbb{R} ^{3}\rightarrow M_{3,3}\left( \mathbb{R} \right) \)はそれぞれの点\(\left(x,y,z\right) \in \mathbb{R} ^{3}\)に対して、\begin{eqnarray*}H_{f}\left( x,y,z\right) &=&\begin{pmatrix}
f_{xx}^{\prime \prime }\left( x,y,z\right) & f_{xy}^{\prime \prime }\left(
x,y,z\right) & f_{xz}^{\prime \prime }\left( x,y,z\right) \\
f_{yx}^{\prime \prime }\left( x,y,z\right) & f_{yy}^{\prime \prime }\left(
x,y,z\right) & f_{yz}^{\prime \prime }\left( x,y,z\right) \\
f_{zx}^{\prime \prime }\left( x,y,z\right) & f_{zy}^{\prime \prime }\left(
x,y,z\right) & f_{zz}^{\prime \prime }\left( x,y,z\right)
\end{pmatrix}
\\
&=&\begin{pmatrix}
2 & 2 & 2 \\
2 & 4 & 0 \\
2 & 0 & 6\end{pmatrix}\end{eqnarray*}を定めます。\(H_{f}\left( x,y,z\right) \)の1次の主座小行列式は、\begin{eqnarray*}\left\vert A_{1}\right\vert &=&\left\vert 2\right\vert =2\geq 0 \\
\left\vert A_{2}\right\vert &=&\left\vert 4\right\vert =4\geq 0 \\
\left\vert A_{3}\right\vert &=&\left\vert 6\right\vert =6\geq 0
\end{eqnarray*}を満たし、2次の主座小行列式は、\begin{eqnarray*}
\left\vert A_{1,2}\right\vert &=&\begin{vmatrix}
2 & 2 \\
2 & 4\end{vmatrix}=4\geq 0 \\
\left\vert A_{2,3}\right\vert &=&\begin{vmatrix}
4 & 0 \\
0 & 6\end{vmatrix}=24\geq 0 \\
\left\vert A_{1,3}\right\vert &=&\begin{vmatrix}
2 & 2 \\
2 & 6\end{vmatrix}=8\geq 0
\end{eqnarray*}を満たし、3次の主座小行列式は、\begin{equation*}
\left\vert A_{1,2,3}\right\vert =\begin{vmatrix}
2 & 2 & 2 \\
2 & 4 & 0 \\
2 & 0 & 6\end{vmatrix}=8\geq 0
\end{equation*}を満たすため\(H_{f}\left( x,y,z\right) \)は半正定値です。任意の点\(\left( x,y,z\right) \in \mathbb{R} ^{3}\)について同様であるため、先の命題より\(f\)は凸関数です。
先の命題は与えられた関数が凸であるための必要十分条件を与えているため、関数が凸ではないことを示す際にも有用です。具体的には、非空の凸集合上に定義された関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が\(C^{2}\)級である一方で、少なくとも1つの点\(\boldsymbol{x}\in \mathrm{ri}\left( X\right) \)について、ヘッセ行列\(H_{f}\left( \boldsymbol{x}\right) \)の少なくとも1つの主座小行列式の値が負である場合、\(f\)は凸関数ではありません。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{2}\)は非空の凸な開集合です。点\(\left( x,y\right) \in \mathbb{R} ^{2}\)におけるヘッセ行列は、\begin{equation*}H_{f}\left( x,y\right) =\begin{pmatrix}
f_{xx}^{\prime \prime }\left( x,y\right) & f_{xy}^{\prime \prime }\left(
x,y\right) \\
f_{yx}^{\prime \prime }\left( x,y\right) & f_{yy}^{\prime \prime }\left(
x,y\right)
\end{pmatrix}=\begin{pmatrix}
0 & 1 \\
1 & 0\end{pmatrix}\end{equation*}ですが、\begin{equation*}
\left\vert A_{1,2}\right\vert =\begin{vmatrix}
0 & 1 \\
1 & 0\end{vmatrix}=-1<0
\end{equation*}が成り立つため、先の命題より\(f\)は凸関数ではありません。
以下の例は、相対的内部を採用する理由を提示します。
\end{equation*}を定めるものとします。ただし、\begin{equation*}
X=\left\{ \left( x,y,z\right) \in \mathbb{R} ^{3}\ |\ z=0\right\}
\end{equation*}です。\(X\)は凸集合です。通常の内部を採用した場合、\begin{equation*}X^{i}=\phi
\end{equation*}となってしまいます。一方、相対的内部を採用した場合には、\begin{equation*}
\mathrm{Aff}\left( X\right) =\left\{ \left( x,y,0\right) \in \mathbb{R} ^{3}\ |\ x,y\in \mathbb{R} \right\}
\end{equation*}であることを踏まえると、\begin{equation*}
\mathrm{ri}\left( X\right) =X
\end{equation*}となります。その上で、\(f\)をアフィン包\(\mathrm{Aff}\left( X\right) \)上の関数として見ると、\begin{equation*}f\left( x,y\right) =x^{2}+y^{2}
\end{equation*}ですが、これは凸関数です。
偏微分を用いた多変数の凹関数の判定
凸集合上に定義された多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が凹関数であることは、\begin{equation*}\forall \boldsymbol{x},\boldsymbol{y}\in X,\ \forall \lambda \in \left[ 0,1\right] :\lambda f\left( \boldsymbol{x}\right) +\left( 1-\lambda \right)
f\left( \boldsymbol{y}\right) \leq f\left( \lambda \boldsymbol{x}+\left(
1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}が成り立つこととして定義されます。凸関数に関する先の議論において不等号の向きを逆にすればそのまま凹関数に関する議論になります。したがって、偏微分可能な関数が凹関数であることを以下のような形で特徴づけられます。
\boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}を定める1変数関数\(f_{\boldsymbol{x},\boldsymbol{y}}:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)を定義する。任意の\(\boldsymbol{x},\boldsymbol{y}\in X\)について\(f_{\boldsymbol{x},\boldsymbol{y}}\)が凹関数であることは、\(f\)が凹関数であるための必要十分条件である。
以上の命題を踏まえると、多変数関数\(f\)が全微分可能である場合には、\(f\)が凹関数であることを以下のように特徴づけられます。
\boldsymbol{x}\right)
\end{equation*}が成り立つことは、\(f\)が凹関数であるための必要十分条件である。
\boldsymbol{y}\right) \leq \nabla f\left( \boldsymbol{x}\right) \cdot \left(
\boldsymbol{y}-\boldsymbol{x}\right) +f\left( \boldsymbol{x}\right)
\end{equation*}が成り立つことは、\(f\)が凹関数であるための必要十分条件です。
以上の命題を踏まえると、多変数関数\(f\)が\(C^{2}\)級である場合には、\(f\)が凹関数であることを以下のように特徴づけられます。
\boldsymbol{x}\right) \boldsymbol{h}\leq 0
\end{equation*}が成り立つことは、\(f\)が凹関数であるための必要十分条件である。
多変数関数\(f\)が\(C^{2}\)級である場合、そのヘッセ行列\(H_{f}\left( \boldsymbol{x}\right) \)は対称行列になります。対称行列\(H_{f}\left( \boldsymbol{x}\right) \)に関しては以下の関係\begin{eqnarray*}H_{f}\left( \boldsymbol{x}\right) \text{は半負定値} &\Leftrightarrow &H_{f}\left( \boldsymbol{x}\right) \text{の固有値がすべて非正} \\
&\Leftrightarrow &\left\{
\begin{array}{l}
H_{f}\left( \boldsymbol{x}\right) \text{のすべての奇数次の主座小行列式が非正}\wedge \\
H_{f}\left( \boldsymbol{x}\right) \text{のすべての偶数次の主座小行列式が非負}\end{array}\right.
\end{eqnarray*}が成り立つため、固有値や主座小行列式の符号を観察することによって\(H_{f}\left( \boldsymbol{x}\right) \)が半負定値であることを判定できます。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{2}\)は凸集合です。\(f\)は多変数の多項式関数であるため\(C^{2}\)級であり、点\(\left( x,y\right) \in \mathbb{R} ^{2}\)におけるヘッセ行列は、\begin{equation*}H_{f}\left( x,y\right) =\begin{pmatrix}
f_{xx}^{\prime \prime }\left( x,y\right) & f_{xy}^{\prime \prime }\left(
x,y\right) \\
f_{yx}^{\prime \prime }\left( x,y\right) & f_{yy}^{\prime \prime }\left(
x,y\right)
\end{pmatrix}=\begin{pmatrix}
-2 & 0 \\
0 & -2\end{pmatrix}\end{equation*}です。\(H_{f}\left( x,y\right) \)の1次の主座小行列式については、\begin{eqnarray*}\left\vert A_{1}\right\vert &=&\left\vert -2\right\vert =-2\leq 0 \\
\left\vert A_{2}\right\vert &=&\left\vert -2\right\vert =-2\leq 0
\end{eqnarray*}が成り立ち、2次の主座小行列式については、\begin{equation*}
\left\vert A_{1,2}\right\vert =\begin{vmatrix}
-2 & 0 \\
0 & -2\end{vmatrix}=4\geq 0
\end{equation*}が成り立つため\(H_{f}\left(x,y\right) \)は半負定値です。任意の点\(\left( x,y\right) \in \mathbb{R} ^{2}\)について同様であるため、先の命題より\(f\)は凹関数です。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{2}\)は凸集合です。\(f\)は多変数の多項式関数であるため\(C^{2}\)級であり、点\(\left( x,y\right) \in \mathbb{R} ^{2}\)におけるヘッセ行列は、\begin{equation*}H_{f}\left( x,y\right) =\begin{pmatrix}
f_{xx}^{\prime \prime }\left( x,y\right) & f_{xy}^{\prime \prime }\left(
x,y\right) \\
f_{yx}^{\prime \prime }\left( x,y\right) & f_{yy}^{\prime \prime }\left(
x,y\right)\end{pmatrix}=\begin{pmatrix}
0 & 0 \\
0 & 0\end{pmatrix}\end{equation*}です。\(H_{f}\left( x,y\right) \)の1次の主座小行列式については、\begin{eqnarray*}\left\vert A_{1}\right\vert &=&\left\vert 0\right\vert =0 \\
\left\vert A_{2}\right\vert &=&\left\vert 0\right\vert =0
\end{eqnarray*}が成り立ち、2次の主座小行列式については、\begin{equation*}
\left\vert A_{1,2}\right\vert =\begin{vmatrix}
0 & 0 \\
0 & 0\end{vmatrix}=0
\end{equation*}が成り立つため\(H_{f}\left(x,y\right) \)は半負定値です。任意の点\(\left( x,y\right) \in \mathbb{R} ^{2}\)について同様であるため、先の命題より\(f\)は凹関数です。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{3}\)は非空の凸な開集合です。\(f\)は多変数の多項式関数であるため\(C^{2}\)級であり、勾配ベクトル場\(\nabla f:\mathbb{R} ^{3}\rightarrow \mathbb{R} ^{3}\)はそれぞれの\(\left( x,y,z\right)\in \mathbb{R} ^{3}\)に対して、\begin{eqnarray*}\nabla f\left( x,y,z\right) &=&\left( \frac{\partial f\left( x,y,z\right) }{\partial x},\frac{\partial f\left( x,y,z\right) }{\partial y},\frac{\partial
f\left( x,y,z\right) }{\partial z}\right) \\
&=&\left( -2x-2y-2z,-4y-2x,-6z-2x\right)
\end{eqnarray*}を定め、ヘッセ行列関数\(H_{f}:\mathbb{R} ^{3}\rightarrow M_{3,3}\left( \mathbb{R} \right) \)はそれぞれの点\(\left(x,y,z\right) \in \mathbb{R} ^{3}\)に対して、\begin{eqnarray*}H_{f}\left( x,y,z\right) &=&\begin{pmatrix}
f_{xx}^{\prime \prime }\left( x,y,z\right) & f_{xy}^{\prime \prime }\left(
x,y,z\right) & f_{xz}^{\prime \prime }\left( x,y,z\right) \\
f_{yx}^{\prime \prime }\left( x,y,z\right) & f_{yy}^{\prime \prime }\left(
x,y,z\right) & f_{yz}^{\prime \prime }\left( x,y,z\right) \\
f_{zx}^{\prime \prime }\left( x,y,z\right) & f_{zy}^{\prime \prime }\left(
x,y,z\right) & f_{zz}^{\prime \prime }\left( x,y,z\right)\end{pmatrix}
\\
&=&\begin{pmatrix}
-2 & -2 & -2 \\
-2 & -4 & 0 \\
-2 & 0 & -6\end{pmatrix}\end{eqnarray*}を定めます。\(H_{f}\left( x,y,z\right) \)の1次の主座小行列式については、\begin{eqnarray*}\left\vert A_{1}\right\vert &=&\left\vert -2\right\vert =-2\leq 0 \\
\left\vert A_{2}\right\vert &=&\left\vert -4\right\vert =-4\leq 0 \\
\left\vert A_{3}\right\vert &=&\left\vert -6\right\vert =-6\leq 0
\end{eqnarray*}が成り立ち、2次の主座小行列式については、\begin{eqnarray*}
\left\vert A_{1,2}\right\vert &=&\begin{vmatrix}
-2 & -2 \\
-2 & -4\end{vmatrix}=4\geq 0 \\
\left\vert A_{2,3}\right\vert &=&\begin{vmatrix}
-4 & 0 \\
0 & -6\end{vmatrix}=24\geq 0 \\
\left\vert A_{1,3}\right\vert &=&\begin{vmatrix}
-2 & -2 \\
-2 & -6\end{vmatrix}=8\geq 0
\end{eqnarray*}が成り立ち、3次の主座小行列式については、\begin{equation*}
\left\vert A_{1,2,3}\right\vert =\begin{vmatrix}
-2 & -2 & -2 \\
-2 & -4 & 0 \\
-2 & 0 & -6\end{vmatrix}=-8\leq 0
\end{equation*}が成り立つため\(H_{f}\left(x,y,z\right) \)は半負定値です。任意の点\(\left( x,y,z\right) \in \mathbb{R} ^{3}\)について同様であるため、先の命題より\(f\)は凹関数です。
先の命題は与えられた関数が凹であるための必要十分条件を与えているため、関数が凹ではないことを示す際にも有用です。具体的には、非空の凸集合上に定義された関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が\(C^{2}\)級である一方で、少なくとも1つの点\(\boldsymbol{x}\in \mathrm{ri}\left( X\right) \)について、ヘッセ行列\(H_{f}\left( \boldsymbol{x}\right) \)の少なくとも1つの奇数次の主座小行列式の値が正であるか、少なくとも1つの偶数次の主座小行列式の値が負である場合、\(f\)は凹関数ではありません。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{2}\)は非空の凸な開集合です。点\(\left( x,y\right) \in \mathbb{R} ^{2}\)におけるヘッセ行列は、\begin{equation*}H_{f}\left( x,y\right) =\begin{pmatrix}
f_{xx}^{\prime \prime }\left( x,y\right) & f_{xy}^{\prime \prime }\left(
x,y\right) \\
f_{yx}^{\prime \prime }\left( x,y\right) & f_{yy}^{\prime \prime }\left(
x,y\right)
\end{pmatrix}=\begin{pmatrix}
0 & 1 \\
1 & 0\end{pmatrix}\end{equation*}ですが、2次の主座小行列式について、\begin{equation*}
\left\vert A_{1,2}\right\vert =\begin{vmatrix}
0 & 1 \\
1 & 0\end{vmatrix}=-1<0
\end{equation*}が成り立つため、先の命題より\(f\)は凹関数ではありません。
以下の例は、相対的内部を採用する理由を提示します。
\end{equation*}を定めるものとします。ただし、\begin{equation*}
X=\left\{ \left( x,y,z\right) \in \mathbb{R} ^{3}\ |\ z=0\right\}
\end{equation*}です。\(X\)は凸集合です。通常の内部を採用した場合、\begin{equation*}X^{i}=\phi
\end{equation*}となってしまいます。一方、相対的内部を採用した場合には、\begin{equation*}
\mathrm{Aff}\left( X\right) =\left\{ \left( x,y,0\right) \in \mathbb{R} ^{3}\ |\ x,y\in \mathbb{R} \right\}
\end{equation*}であることを踏まえると、\begin{equation*}
\mathrm{ri}\left( X\right) =X
\end{equation*}となります。その上で、\(f\)をアフィン包\(\mathrm{Aff}\left( X\right) \)上の関数として見ると、\begin{equation*}f\left( x,y\right) =x^{2}+y^{2}
\end{equation*}ですが、これは凹関数です。
偏微分を用いた多変数の拡大実数値をとる凸関数の判定
凸集合上に定義された多変数の拡大実数値関数\(f:\mathbb{R} ^{n}\rightarrow \mathbb{R} \cup \left\{ +\infty \right\} \)が凸関数であることは、\begin{equation*}\forall \boldsymbol{x},\boldsymbol{y}\in \mathbb{R} ^{n},\ \forall \lambda \in \left[ 0,1\right] :\lambda f\left( \boldsymbol{x}\right) +\left( 1-\lambda \right) f\left( \boldsymbol{y}\right) \geq f\left(
\lambda \boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}が成り立つこととして定義されます。\(f\)の有効領域は、\begin{equation*}\mathrm{dom}\left( f\right) =\left\{ x\in \mathbb{R} ^{n}\ |\ f\left( x\right) <+\infty \right\}
\end{equation*}と定義されますが、\(f\)が凸関数である場合には\(\mathrm{dom}\left( f\right) \)は凸集合になります。さらに、\begin{equation*}\forall \boldsymbol{x},\boldsymbol{y}\in \mathrm{dom}\left( f\right) ,\
\forall \lambda \in \left[ 0,1\right] :\lambda f\left( \boldsymbol{x}\right)
+\left( 1-\lambda \right) f\left( \boldsymbol{y}\right) \geq f\left( \lambda
\boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}が成り立つことは、\(f\)が凸関数であるための必要十分条件です。
拡大実数値をとる凸関数に関しても実数値関数の場合と同様の命題が成り立ちます。
\boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}を定める1変数関数\(f_{\boldsymbol{x},\boldsymbol{y}}:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)を定義する。任意の\(\boldsymbol{x},\boldsymbol{y}\in \mathrm{dom}\left( f\right) \)について\(f_{\boldsymbol{x},\boldsymbol{y}}\)が凸関数であることは、\(f\)が凸関数であるための必要十分条件である。
以上の命題を踏まえると、多変数関数\(f\)が全微分可能である場合には、\(f\)が凸関数であることを以下のように特徴づけられます。
,\ \forall \boldsymbol{y}\in \mathrm{dom}\left( f\right) :f\left( \boldsymbol{y}\right) \geq \nabla f\left( \boldsymbol{x}\right) \cdot \left( \boldsymbol{y}-\boldsymbol{x}\right) +f\left( \boldsymbol{x}\right)
\end{equation*}が成り立つことは、\(f\)が凸関数であるための必要十分条件である。
以上の命題を踏まえると、多変数関数\(f\)が\(C^{2}\)級である場合には、\(f\)が凸関数であることを以下のように特徴づけられます。
,\ \forall \boldsymbol{h}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} :\boldsymbol{h}^{t}H_{f}\left(
\boldsymbol{x}\right) \boldsymbol{h}\geq 0
\end{equation*}が成り立つことは、\(f\)が凸関数であるための必要十分条件である。
多変数関数\(f\)が\(C^{2}\)級である場合、そのヘッセ行列\(H_{f}\left( \boldsymbol{x}\right) \)は対称行列になります。対称行列\(H_{f}\left( \boldsymbol{x}\right) \)に関しては以下の関係\begin{eqnarray*}H_{f}\left( \boldsymbol{x}\right) \text{は半正定値} &\Leftrightarrow &H_{f}\left( \boldsymbol{x}\right) \text{の固有値がすべて非負} \\
&\Leftrightarrow &H_{f}\left( \boldsymbol{x}\right) \text{のすべての主座小行列式が非負}
\end{eqnarray*}が成り立つため、固有値や主座小行列式の符号を観察することによって\(H_{f}\left( \boldsymbol{x}\right) \)が半正定値であることを判定できます。
偏微分を用いた多変数の拡大実数値をとる凹関数の判定
凸集合上に定義された多変数の拡大実数値関数\(f:\mathbb{R} ^{n}\rightarrow \mathbb{R} \cup \left\{ -\infty \right\} \)が凹関数であることは、\begin{equation*}\forall \boldsymbol{x},\boldsymbol{y}\in \mathbb{R} ^{n},\ \forall \lambda \in \left[ 0,1\right] :\lambda f\left( \boldsymbol{x}\right) +\left( 1-\lambda \right) f\left( \boldsymbol{y}\right) \leq f\left(
\lambda \boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}が成り立つこととして定義されます。\(f\)の有効領域は、\begin{equation*}\mathrm{dom}\left( f\right) =\left\{ x\in \mathbb{R} ^{n}\ |\ f\left( x\right) >-\infty \right\}
\end{equation*}と定義されますが、\(f\)が凹関数である場合には\(\mathrm{dom}\left( f\right) \)は凸集合になります。さらに、\begin{equation*}\forall \boldsymbol{x},\boldsymbol{y}\in \mathrm{dom}\left( f\right) ,\
\forall \lambda \in \left[ 0,1\right] :\lambda f\left( \boldsymbol{x}\right)
+\left( 1-\lambda \right) f\left( \boldsymbol{y}\right) \leq f\left( \lambda
\boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}が成り立つことは、\(f\)が凹関数であるための必要十分条件です。
凸関数に関する先の議論において不等号の向きを逆にすればそのまま凹関数に関する議論になります。したがって、偏微分可能な関数が凹関数であることを以下のような形で特徴づけられます。
\boldsymbol{x}+\left( 1-\lambda \right) \boldsymbol{y}\right)
\end{equation*}を定める1変数関数\(f_{\boldsymbol{x},\boldsymbol{y}}:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)を定義する。任意の\(\boldsymbol{x},\boldsymbol{y}\in \mathrm{dom}\left( f\right) \)について\(f_{\boldsymbol{x},\boldsymbol{y}}\)が凹関数であることは、\(f\)が凹関数であるための必要十分条件である。
以上の命題を踏まえると、多変数関数\(f\)が全微分可能である場合には、\(f\)が凹関数であることを以下のように特徴づけられます。
,\ \forall \boldsymbol{y}\in \mathrm{dom}\left( f\right) :f\left( \boldsymbol{y}\right) \leq \nabla f\left( \boldsymbol{x}\right) \cdot \left( \boldsymbol{y}-\boldsymbol{x}\right) +f\left( \boldsymbol{x}\right)
\end{equation*}が成り立つことは、\(f\)が凹関数であるための必要十分条件である。
以上の命題を踏まえると、多変数関数\(f\)が\(C^{2}\)級である場合には、\(f\)が凹関数であることを以下のように特徴づけられます。
,\ \forall \boldsymbol{h}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} :\boldsymbol{h}^{t}H_{f}\left(
\boldsymbol{x}\right) \boldsymbol{h}\leq 0
\end{equation*}が成り立つことは、\(f\)が凹関数であるための必要十分条件である。
多変数関数\(f\)が\(C^{2}\)級である場合、そのヘッセ行列\(H_{f}\left( \boldsymbol{x}\right) \)は対称行列になります。対称行列\(H_{f}\left( \boldsymbol{x}\right) \)に関しては以下の関係\begin{eqnarray*}H_{f}\left( \boldsymbol{x}\right) \text{は半負定値} &\Leftrightarrow &H_{f}\left( \boldsymbol{x}\right) \text{の固有値がすべて非正} \\
&\Leftrightarrow &\left\{
\begin{array}{l}
H_{f}\left( \boldsymbol{x}\right) \text{のすべての奇数次の主座小行列式が非正}\wedge \\
H_{f}\left( \boldsymbol{x}\right) \text{のすべての偶数次の主座小行列式が非負}\end{array}\right.
\end{eqnarray*}が成り立つため、固有値や主座小行列式の符号を観察することによって\(H_{f}\left( \boldsymbol{x}\right) \)が半負定値であることを判定できます。
演習問題
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、どちらでもない、のどれでしょうか。
&=&a_{1}x_{1}+\cdots +a_{n}x_{n}+b
\end{eqnarray*}と表されるものとします。\(f\)は凸関数、凹関数、どちらでもない、のどれでしょうか。
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、どちらでもない、のどれでしょうか。
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、どちらでもない、のどれでしょうか。
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、どちらでもない、のどれでしょうか。
\begin{array}{cc}
\ln \left( x+y\right) & \left( if\ \left( x,y\right) \in X\right) \\
-\infty & \left( if\ \left( x,y\right) \not\in X\right)\end{array}\right.
\end{equation*}を定めるものとします。ただし、\begin{equation*}
X=\left\{ \left( x,y\right) \in \mathbb{R} ^{2}\ |\ x+y>0\right\}
\end{equation*}です。以下の問いに答えてください。
- \(f\)の有効領域とその相対的内部を特定してください。
- \(f\)の凹凸を判定してください。
\begin{array}{cc}
\frac{1}{x+y} & \left( if\ x+y\not=0\right) \\
+\infty & \left( if\ x+y=0\right)\end{array}\right.
\end{equation*}を定めるものとします。以下の問いに答えてください。
- \(f\)の有効領域とその相対的内部を特定してください。
- \(f\)の凹凸を判定してください。
会員専用コンテンツです
【ログイン】【会員登録】