ゆるふわブログ

東京大学理科 I 類 2 年の学生です.プログラミング,大学の勉強,日常生活で感じたことをゆるふわに書いていけたらなと思います.技術的に拙いところがあっても温かい目で見守っていただければ幸いです.

凸ってなに?(数学)

こんにちは!Ysmr-Ry です.

ふと以前に見たキラキラネームについての動画を思い出しました.
凸って書いてテトリスって読むそうです.
これは特にひどい例ですが,名前つけるならちゃんと考えなきゃいけないよなぁと.
考えてみればみんなうまいこと子供の名前つけてるなぁって.昔小学校の授業で自分の名前の意味を調べる的なのやった気がします.
なんかアイデア集的なのがあるんですかね.

kazuyahkd.com

あと凸って言葉で印象に残ってることといえば… あれは中学 2 年生ぐらいだったか… ちょうど教育実習の先生がきていて,数学の単元が 2 次関数だったのです.
そこで先生は, y=ax^2 a>0 ならば「下に凸」, a<0 ならば「上に凸」というと強調していたのを覚えています.

実はこの,上に凸・下に凸,さらにそれが初めて出てくるのが 2 次関数であるということ,は大学に入ってからの微積分や熱力学で実は出てきていて,大事なことだなと思ったので,数学でいう凸性について僕が知っている範囲で面白いことを書き連ねていこうと思います.

数学でいう凸って?

凸というと,オウトツのトツ,デコボコのデコのことですが,数学的にはこうとらえます.
グラフ上の二点を結んだ線分が常にグラフの上側にあるような関数が下に凸な関数,逆に常にグラフの下側にあるような関数が上に凸な関数です.
図にするとこんな感じです.

f:id:Ysmr_Ry:20170609222327p:plain

f:id:Ysmr_Ry:20170609222347p:plain

数式にすると,線分の端点の  x 座標を  x_1,\ x_2 とおくと,線分上の点は  0 \leq t \leq 1 なる実数  t を用いて  t:(1-t) に内分した点と捉えられるので,次のようになります.
下に凸

f:id:Ysmr_Ry:20170612165844p:plain

上に凸

f:id:Ysmr_Ry:20170612165856p:plain

凸から相加・相乗平均の不等式がわかる?

 f(x) = \log x の場合を考えましょう. \log x は上に凸な関数なので*1,先ほどの 2 つ目の不等式を使って,特に  t = \frac{1}{2} のとき,

f:id:Ysmr_Ry:20170612170855p:plain

となります.第 1 式から第 2 式へは  \log の性質  \log a+\log b = \log ab,\ k\log a = \log a^k を,第 2 式から第 3 式へは  \log x (\log x)' = \frac{1}{x} > 0\,\,(x>0) から単調増加関数であることを利用し, \log をかけた不等式が成り立っていれば  \log を外しても成り立つことを使いました.例えば,2 人のテストの点数がそれぞれ  x_1,\ x_2 点だったときに,その平均にはいろいろあって,普通使う平均である  \frac{x_1+x_2}{2} を相加平均,ちょっとマイナーな  \sqrt{x_1x_2} という平均を相乗平均というのでした.上の不等式はそれらの関係,すなわち,(相乗平均)  \leq (相加平均) という関係を示しています.人数が  n 人になっても同様にできます.相加・相乗平均の不等式は  \log の凸性から出てくるのです.

凸で極大・極小値か見極める! (1 変数)

 f(x)極値を求めるとき, x_0極値をとるならば  f'(x_0)=0 ですが,その逆は成り立ちません.例えば  y=x^3 x=0 のように変曲点になっている場合があるからです.

増減表をかけば極値か変曲点かはっきりするのですが,他の方法として, f(x) の 2 階微分を用いて, f''(x) > 0 ならば極小値, f''(x) < 0 ならば極大値, f''(x) = 0 ならば変曲点であると判定できると数 II の教科書に確か書いてあったと思います.実はこの判定法がやっていることが「凸で極大・極小値か見極める」ことなのです.
この判定法は,極値の候補である  f'(x)=0 を満たす点の付近にぴったりとフィットする放物線を考えています. f(x) x=x_0 付近にフィットする放物線は  y=f(x_0)+f'(x_0)\,x+\frac{f''(x_0)}{2}x^2 と求められます.特に今回は  f'(x_0)=0 が成り立っているので,1 次の項は消えます.
極小値付近は形的に下に凸なはずですから,その付近にフィットする放物線の 2 次の係数は正なはずです.逆に極大値は負です.変曲点においては 2 次の係数も 0 なので単なる  y=f(x_0) になってしまいます.

 y=x^4-2x^2 のグラフです. x=0 で極大値, x=\pm1 で極小値を取ります.紫がフィットする放物線です.

 y=x^3 x=0 付近ではフィットする 2 次関数は単なる  y=0 になってしまいます.

つまり, y=ax^2\,\,(a>0) ( x=0 で極小) と  y=ax^2\,\,(a<0) ( x=0 で極大) と  y=a (変曲点) が基本形になっているのです.
「凸を知りたければ 2 階微分を見よ!」です.

グラフが位置エネルギーを表しているとすると,極小付近でフィットする放物線を求めることは対応する平衡点付近の運動を単振動に近似することに相当します.
下に凸なのがポイントで,これを安定な平衡点といいます.

もっと知りたい人のために

イェンゼンの不等式

 n 人の場合も相加・相乗平均の不等式を求められるといいましたが,どうやるのか詳しくみましょう.
3 人の場合を考えます.先ほどまでの凸の定義では,関数  f(x) 上の 2 点を結んだ線分を考えていましたが,今度は 3 点を結んだ三角形を考えます.

f:id:Ysmr_Ry:20170612172757p:plain

するとその三角形内の全ての点は同じ  x 座標の  f(x) 上の点より下にあることがわかります.三角形内部の点は重心座標*2を用いて  t_1x_1+t_2x_2+t_3x_3\,\,(t_1+t_2+t_3=1) と表せるので,不等式は,

f:id:Ysmr_Ry:20170612173347p:plain

となります.特に  f(x)=\log x,\ t_1=t_2=t_3=\frac{1}{3} のとき,

f:id:Ysmr_Ry:20170612173649p:plain

と導出することができました. n 人の場合も同様に, n 個の点を結んだ  n 角形内の点を和が 1 となるような  n 個の重心座標  t_i\,\,(i=1,2,\cdots,n) で表せばよいことがわかります.これをイェンゼンの不等式といいます.

凸で極大・極小値か見極める! (2 変数)

先ほどは変数が  x と 1 つだけでしたが,ここでは 2 変数にして  f(x,y) を考えます.次元の数を 1 つ増やして 3 次元とし, z=f(x,y) を満たす点を集めればこれのグラフを書くことができます.極値の候補になる点は,1 変数の場合と同様に  f_x(x,y) = f_y(x,y) = 0 と求められます*3.この候補の周囲の状況は先ほどの 1 変数の場合と同じように,極大か極小か鞍点かその他かに大別できます.そのうち極大,極小,鞍点にはやはり同様に基本形となる曲面があります.それらは 2 次形式という 2 変数における 2 次関数に対応するもの*4で,次のような式と形をしています.

極小:  z=x^2+y^2
f:id:Ysmr_Ry:20170612183511p:plain

極大:  z=-x^2-y^2
f:id:Ysmr_Ry:20170612183531p:plain

鞍点:  z=x^2-y^2
f:id:Ysmr_Ry:20170612183545p:plain

 f(x,y) 上の点  (x_0,y_0) 付近にフィットする 2 次形式は,行列を用いて次のように表されます.

f:id:Ysmr_Ry:20170612210422p:plain

今, f_x(x,y) = f_y(x,y) = 0 なのでやはり 1 次の項は消え, f(x_0,y_0) は所詮  z 方向の平行移動なので,重要なのは 2 次の項です.
この 2 次の項のあらわす 2 次曲面を  z 軸に平行な回転軸で回転して,上にあげた基本形のどれと同じかを見極めれば判定ができます.
詳細は省略しますが,行列の部分を対角化した固有値 \lambda_1,\ \lambda_2 とすると,回転後の式は  z=\lambda_1x^2+\lambda_2y^2 になるので,  \lambda_1 \lambda_2 > 0,\ \lambda_1 > 0,\ \lambda_2 > 0 ならば極小 ( z=x^2+y^2) 型,  \lambda_1 \lambda_2 > 0,\ \lambda_1 < 0,\ \lambda_2 < 0 ならば極大 ( z=-x^2-y^2) 型, \lambda_1\lambda_2 < 0 ならば鞍点 ( z=x^2-y^2) 型とわかります.

これが大学の微積分でやる Hessian による極値判定の本質です.1 変数の場合の綺麗な拡張になっています.

Legendre 変換と凸 (おまけ)

Legendre 変換とは, y=f(x) を通常  (x,f(x)) という点の集合と捉えるのに対し, x における接線の傾き  f'(x) とその  y 切片  f(x)-f'(x)\,x の組  (f'(x), f(x)-f'(x)\,x) で表わそうという変換です.(いわば "接線座標") このとき,グラフに凹凸があると同じ接線の傾きに複数の点が対応してしまい面倒です.それに対し,凸であると,1 対 1 の対応になるので都合が良いのです.熱力学では状態曲面  U(S,V) が凸な曲面であることを利用し,Legendre 変換の関係で  G,\ F,\ H,\ U を結んでいます.

*1:グラフを描いても確かめられますが, (\log x)''=-\frac{1}{x^2} < 0\,\,(x > 0) からもわかります. y=ax^2\,\,(a<0) と同じ状況なので上に凸です.

参考:  y=\log x のグラフ

*2:くわしくは
ysmr-ry.hatenablog.com
をごらんください .

*3: f_x(x,y) f(x,y) y を定数と見て  x微分したもの.(偏微分)

*4:これは統計とかこれとかを見るとわかるかもしれません.
ysmr-ry.hatenablog.com