{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 08 函数の凸性と不等式への応用\n", "\n", "黒木玄\n", "\n", "2018-06-11\n", "\n", "* Copyright 2018 Gen Kuroki\n", "* License: MIT https://opensource.org/licenses/MIT\n", "* Repository: https://github.com/genkuroki/Calculus\n", "\n", "このファイルは次の場所できれいに閲覧できる:\n", "\n", "* http://nbviewer.jupyter.org/github/genkuroki/Calculus/blob/master/08%20convexity.ipynb\n", "\n", "* https://genkuroki.github.io/documents/Calculus/08%20convexity.pdf\n", "\n", "このファイルは Julia Box で利用できる.\n", "\n", "自分のパソコンにJulia言語をインストールしたい場合には\n", "\n", "* WindowsへのJulia言語のインストール\n", "\n", "を参照せよ.\n", "\n", "論理的に完璧な説明をするつもりはない. 細部のいい加減な部分は自分で訂正・修正せよ.\n", "\n", "$\n", "\\newcommand\\eps{\\varepsilon}\n", "\\newcommand\\ds{\\displaystyle}\n", "\\newcommand\\Z{{\\mathbb Z}}\n", "\\newcommand\\R{{\\mathbb R}}\n", "\\newcommand\\C{{\\mathbb C}}\n", "\\newcommand\\QED{\\text{□}}\n", "\\newcommand\\root{\\sqrt}\n", "\\newcommand\\bra{\\langle}\n", "\\newcommand\\ket{\\rangle}\n", "\\newcommand\\d{\\partial}\n", "$" ] }, { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "using Plots\n", "gr(); ENV[\"PLOTS_TEST\"] = \"true\"\n", "#clibrary(:colorcet)\n", "clibrary(:misc)\n", "\n", "function pngplot(P...; kwargs...)\n", " sleep(0.1)\n", " pngfile = tempname() * \".png\"\n", " savefig(plot(P...; kwargs...), pngfile)\n", " showimg(\"image/png\", pngfile)\n", "end\n", "pngplot(; kwargs...) = pngplot(plot!(; kwargs...))\n", "\n", "showimg(mime, fn) = open(fn) do f\n", " base64 = base64encode(f)\n", " display(\"text/html\", \"\"\"\"\"\")\n", "end\n", "\n", "using SymPy\n", "#sympy[:init_printing](order=\"lex\") # default\n", "#sympy[:init_printing](order=\"rev-lex\")\n", "\n", "using SpecialFunctions\n", "using QuadGK" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 凸函数の定義" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**定義:** 区間 $I$ 上の実数値函数 $f$ が**下に凸**な函数であるとは, 任意の $a,b\\in I$ と実数 $t$ について, \n", "\n", "$$\n", "0\\leqq t\\leqq 1 \\implies f((1-t)a+tb) \\leqq (1-t)f(a)+t f(b) \n", "$$\n", "\n", "を満たしていることである. 逆向きの不等式で上に凸な函数を定義する. すなわち, 区間 $I$ 上の実数値函数 $f$ が**上に凸**な函数であるとは, 任意の $a,b\\in I$ と実数 $t$ について, \n", "\n", "$$\n", "0\\leqq t\\leqq 1 \\implies f((1-t)a+tb) \\geqq (1-t)f(a)+t f(b) \n", "$$\n", "\n", "を満たしていることである. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0.0\n", "\n", "\n", "0.5\n", "\n", "\n", "1.0\n", "\n", "\n", "1.5\n", "\n", "\n", "2.0\n", "\n", "\n", "-2.0\n", "\n", "\n", "-1.5\n", "\n", "\n", "-1.0\n", "\n", "\n", "-0.5\n", "\n", "\n", "0.0\n", "\n", "\n", "0.5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "y = log x\n", "\n", "\n", "\n", "x = a\n", "\n", "\n", "\n", "x = b\n", "\n", "\n" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# log x は上に凸な函数\n", "\n", "x = 0:0.01:2.0\n", "a, b = 0.3, 1.5\n", "f(x) = log(x)\n", "t = 0:0.01:1.0\n", "g(a,b,t) = (1-t)*f(a) + t*f(b)\n", "X(a,b,t) = (1-t)*a + t*b\n", "plot(size=(400,250), legend=:topleft, xlims=(0,2.0), ylims=(-2.0, 0.8))\n", "plot!(x, f.(x), label=\"y = log x\")\n", "plot!(X.(a,b,t), g.(a,b,t), label=\"\")\n", "plot!([a,a], [-10.0, f(a)], label=\"x = a\", ls=:dash)\n", "plot!([b,b], [-10.0, f(b)], label=\"x = b\", ls=:dash)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "-1\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "0\n", "\n", "\n", "2\n", "\n", "\n", "4\n", "\n", "\n", "6\n", "\n", "\n", "8\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "y = e^x\n", "\n", "\n", "\n", "x = a\n", "\n", "\n", "\n", "x = b\n", "\n", "\n" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# e^x は下に凸な函数\n", "\n", "x = -1:0.01:2\n", "a, b = -0.3, 1.5\n", "f(x) = e^x\n", "t = 0:0.01:1.0\n", "g(a,b,t) = (1-t)*f(a) + t*f(b)\n", "X(a,b,t) = (1-t)*a + t*b\n", "plot(size=(400,250), legend=:topleft, xlims=(-1,2), ylims=(0,8))\n", "plot!(x, f.(x), label=\"y = e^x\")\n", "plot!(X.(a,b,t), g.(a,b,t), label=\"\")\n", "plot!([a,a], [-0.0, f(a)], label=\"x = a\", ls=:dash)\n", "plot!([b,b], [-0.0, f(b)], label=\"x = b\", ls=:dash)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2階の導函数の符号と函数の凸性" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2階の導函数の符号と接線の関係\n", "\n", "**定理:** 区間 $I$ 上の実数値函数 $f$ が $C^2$ 級でかつ $I$ 上で $f''\\geqq 0$ ならば, $a\\in I$ における $y=f(x)$ のグラフは接線 $y=f'(a)(x-a)+f(a)$ の上側にある. 同様に区間 $I$ 上の実数値函数 $f$ が $C^2$ 級でかつ $I$ 上で $f''\\leqq 0$ ならば $a\\in I$ における $y=f(x)$ のグラフは接線 $y=f'(a)(x-a)+f(a)$ の下側にある.\n", "\n", "**証明:** 前半のみを証明する. 区間 $I$ 上の実数値函数 $f$ が $C^2$ 級でかつ $I$ 上で $f''\\geqq 0$ であると仮定し, $a\\in I$ とする. $f$ は $C^2$ 級なのでTaylorの公式より, $x\\in I$ について,\n", "\n", "$$\n", "f(x) = f(a) + f'(a)(x-a) + R, \\qquad\n", "R = f''(\\xi)\\frac{(x-a)^2}{2}.\n", "$$\n", "\n", "ここで $\\xi$ は $a$ と $x$ のあいだのある実数である. $f''\\geqq 0$ より, $R\\geqq 0$ となる. ゆえに, $f(x)\\geqq f(a) + f'(a)(x-a)$ となる. これで, $y=f(x)$ のグラフは接線 $y=f'(a)(x-a)+f(a)$ の上側にあることがわかった. $\\QED$\n", "\n", "**注意:** 上の定理の $C^2$ 級の仮定は2回微分可能性の仮定に弱めることができる. $\\QED$\n", "\n", "**注意:** 上の定理の証明中の剰余項は\n", "\n", "$$\n", "R = \\int_a^x dx_1\\int_a^{x_1}\\,dx_2\\;f''(x_2)\n", "$$\n", "\n", "とも書ける. $f''\\geqq 0$ のとき, $x>a$ ならば $x_1,x_2$ は $a0$ に対して $f(x)=\\log x$ とおくと $f'(x)=1/x$, $f''(x)=-1/x^2<0$ なので, $f$ は上に凸な函数である. $\\QED$\n", "\n", "**例題:** $a$ は実数であるとし, $x>0$ に対して $f(x)=x^a$ とおく. $f(x)$ は凸性について調べよ.\n", "\n", "**解答例:** $x>0$ であるとする. $f'(x)=ax^{a-1}$, $f''(x)=a(a-1)x^{a-2}$ であり, $x^{a-2}>0$ である. ゆえに, $a(a-1)\\geqq 0$ のとき, すなわち $a\\leqq 0$ または $1\\leqq a$ のとき, $f$ は下に凸になり, $a(a-1)\\leqq 0$ のとき, すなわち $0\\leqq a\\leqq 1$ のとき, $f$ は上に凸になる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 指数・対数函数への応用\n", "\n", "**問題:** すべての $x\\in\\R$ について $1+x\\leqq e^x$ となることを示せ. \n", "\n", "**解答例:** $y=e^x$ の $x=0$ での接線は $y=1+x$ であり, $f''(x)=e^x\\geqq 0$ であるから, 上の定理より, $1+x\\leqq ex$. $\\QED$\n", "\n", "**注意:** この問題の結果より, $1-x \\leqq e^{-x}$ なので, $x<1$ のとき $e^x\\leqq (1-x)^{-1}$ となる. これで \n", "\n", "$$\n", "1+x\\leqq e^x\\leqq (1-x)^{-1} \\qquad (x<1)\n", "$$\n", "\n", "となることがわかった. $a>0$, $-a\\leqq t-1$ のとき, $\\log(1+x)\\leqq x$ となることもわかる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** $x>-1$ のとき $\\ds\\frac{x}{1+x}\\leqq \\log(1+x)$ となることを示せ.\n", "\n", "**解答例:** $\\ds f(x) = \\log(1+x) - \\frac{x}{1+x}$ とおく. $f(0)=0$ である. $\\ds\\frac{x}{1+x}=1-\\frac{1}{1+x}$ と使って, $f$ を微分すると,\n", "\n", "$$\n", "f'(x) = \\frac{1}{1+x} - \\frac{1}{(1+x)^2} = \\frac{x}{(1+x)^2}\n", "$$\n", "\n", "なので, $x<0$ において $f'<0$ で $f$ は単調減少し, $x>0$ において $f'>0$ で $f$ は単調増加する. さらに $f(0)=0$ なので, $f(x)\\geqq 0$ すなわち, $\\ds \\frac{x}{1+x}\\leqq \\log(1+x)$ である. $\\QED$\n", "\n", "**注意:** $\\ds f''(x)=\\frac{1-x}{(x+1)^3}$ なので, $-11$ で $f''(x)<0$ となってしまうので, 上の問題と同様にこの問題を解くことはできない. $\\QED$\n", "\n", "**以上のまとめ:** $x>-1$ のとき\n", "\n", "$$\n", "\\frac{x}{1+x}\\leqq \\log(1+x)\\leqq x.\n", "\\qquad\\QED\n", "$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "-1\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "-6\n", "\n", "\n", "-4\n", "\n", "\n", "-2\n", "\n", "\n", "0\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "x/(1+x)\n", "\n", "\n", "\n", "log(1+x)\n", "\n", "\n" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = x/(1+x)\n", "g(x) = log(1+x)\n", "x = -0.99:0.01:3\n", "plot(size=(400, 250), legend=:bottomright, xlim=(-1,3), ylims=(-6,1.5))\n", "plot!(x, f.(x), label=\"x/(1+x)\")\n", "plot!(x, g.(x), label=\"log(1+x)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** $\\ds -\\frac{1}{2}\\leqq x\\leqq 0$ ならば $\\log(1+x)\\geqq 2x$ となることを示せ.\n", "\n", "**解答例:** $f(x)=\\log(1+x)-2x$ とおく. $f(0)=0$ である. ゆえに $\\ds -\\frac{1}{2}\\leqq x\\leqq 0$ で単調減少するならば, $\\ds -\\frac{1}{2}\\leqq x\\leqq 0$ で $f(x)\\leqq 0$ となり, 示したいことが示される. そのことを確認するために $f(x)$ を微分すると,\n", "\n", "$$\n", "f'(x) = \\frac{1}{1+x}-2 = \\frac{-(2x+1)}{1+x}\n", "$$\n", "\n", "なので $\\ds x\\geqq-\\frac{1}{2}$ ならば $f'(x)\\leqq 0$ となるので, そこで $f(x)$ は単調減少する. $\\QED$\n", "\n", "**注意:** $f(x)=\\log(1+x)-2x$ は上に凸な函数なので, $f(a)=0$ となる $a<0$ を取れば $f(x)\\geqq 0$ と $a\\leqq x\\leqq 0$ は同値になる. 実際に $a$ を計算すると $a=-0.79681213\\cdots$ となる. $\\QED$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "f(-0.79681213) = 5.84896575617222e-11\n", "f(-0.79681214) = -2.9157047887196086e-8\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "-1.00\n", "\n", "\n", "-0.75\n", "\n", "\n", "-0.50\n", "\n", "\n", "-0.25\n", "\n", "\n", "0.00\n", "\n", "\n", "-1.0\n", "\n", "\n", "-0.5\n", "\n", "\n", "0.0\n", "\n", "\n", "0.5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "log(1+x) - 2x\n", "\n", "\n", "\n", "x=-0.79681213\n", "\n", "\n" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = log(1+x) - 2x\n", "@show f(-0.79681213)\n", "@show f(-0.79681214)\n", "\n", "a = -0.79681213\n", "x = -0.999:0.001:0.1\n", "plot(size=(400,250), legend=:bottomright, ylims=(-1,0.5))\n", "plot!(x, f.(x), label=\"log(1+x) - 2x\")\n", "plot!(x, zeros(x), label=\"\", color=\"black\", ls=:dot)\n", "plot!([a,a], [-1,0], label=\"x=$a\", color=:red, ls=:dash)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** $a>0$ であるとし, $-a-1)\n", "$$\n", "\n", "より, \n", "\n", "$$\n", "\\begin{aligned}\n", "&\n", "\\frac{\\d}{\\d a}\\log\\left(1+\\frac{t}{a}\\right)^a =\n", "\\log\\left(1+\\frac{t}{a}\\right) - \\frac{t/a}{1+t/a} \\geqq 0,\n", "\\\\ &\n", "\\frac{\\d}{\\d a}\\log\\left(1-\\frac{t}{a}\\right)^{-a} =\n", "-\\log\\left(1-\\frac{t}{a}\\right) + \\frac{-t/a}{1-t/a} \\leqq 0.\n", "\\end{aligned}\n", "$$\n", "\n", "ゆえに, $\\ds\\left(1+\\frac{t}{a}\\right)^a$ は $a$ について単調増加し, $\\ds\\left(1-\\frac{t}{a}\\right)^{-a}$ は $a$ について単調減少する. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** 以上の結果をまとめて用いて, \n", "\n", "$$\n", "\\lim_{a\\to\\infty}\\left(1+\\frac{t}{a}\\right)^a =\n", "\\lim_{a\\to\\infty}\\left(1-\\frac{t}{a}\\right)^{-a} =\n", "e^t\n", "$$\n", "\n", "を証明せよ. \n", "\n", "**解答例:** 上の方の注意では\n", "\n", "$$\n", "\\left(1+\\frac{t}{a}\\right)^a \\leqq e^t \\leqq \\left(1-\\frac{t}{a}\\right)^{-a}\n", "\\tag{$*$}\n", "\\qquad (-a\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "-3\n", "\n", "\n", "-2\n", "\n", "\n", "-1\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "10\n", "\n", "\n", "-\n", "\n", "\n", "1.0 \n", "\n", "\n", "10\n", "\n", "\n", "-\n", "\n", "\n", "0.5 \n", "\n", "\n", "10\n", "\n", "\n", "0.0 \n", "\n", "\n", "10\n", "\n", "\n", "0.5 \n", "\n", "\n", "10\n", "\n", "\n", "1.0 \n", "\n", "\n", "a=5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "(1-t/a)^(-a)\n", "\n", "\n", "\n", "e^t\n", "\n", "\n", "\n", "(1+t/a)^a\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "-3\n", "\n", "\n", "-2\n", "\n", "\n", "-1\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "10\n", "\n", "\n", "-\n", "\n", "\n", "1.0 \n", "\n", "\n", "10\n", "\n", "\n", "-\n", "\n", "\n", "0.5 \n", "\n", "\n", "10\n", "\n", "\n", "0.0 \n", "\n", "\n", "10\n", "\n", "\n", "0.5 \n", "\n", "\n", "10\n", "\n", "\n", "1.0 \n", "\n", "\n", "a=10\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "(1-t/a)^(-a)\n", "\n", "\n", "\n", "e^t\n", "\n", "\n", "\n", "(1+t/a)^a\n", "\n", "\n" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(t) = e^t\n", "g(a,t) = (1+t/a)^a\n", "h(a,t) = (1-t/a)^(-a)\n", "t = -3:0.01:3\n", "\n", "PP = []\n", "for a in [5, 10, 20, 40]\n", " P = plot(title=\"a=$a\", titlefontsize=10, legendfontsize=7)\n", " plot!(legend=:topleft, yscale=:log, ylims=(10^(-1.3), 10^1.3))\n", " plot!(t, h.(a,t), label=\"(1-t/a)^(-a)\", ls=:dash)\n", " plot!(t, f.(t), label=\"e^t\")\n", " plot!(t, g.(a,t), label=\"(1+t/a)^a\", ls=:dash)\n", " push!(PP, P)\n", "end\n", "plot(PP[1:2]..., size=(750,250), layout=@layout([a b]))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "-3\n", "\n", "\n", "-2\n", "\n", "\n", "-1\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "10\n", "\n", "\n", "-\n", "\n", "\n", "1.0 \n", "\n", "\n", "10\n", "\n", "\n", "-\n", "\n", "\n", "0.5 \n", "\n", "\n", "10\n", "\n", "\n", "0.0 \n", "\n", "\n", "10\n", "\n", "\n", "0.5 \n", "\n", "\n", "10\n", "\n", "\n", "1.0 \n", "\n", "\n", "a=20\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "(1-t/a)^(-a)\n", "\n", "\n", "\n", "e^t\n", "\n", "\n", "\n", "(1+t/a)^a\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "-3\n", "\n", "\n", "-2\n", "\n", "\n", "-1\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "10\n", "\n", "\n", "-\n", "\n", "\n", "1.0 \n", "\n", "\n", "10\n", "\n", "\n", "-\n", "\n", "\n", "0.5 \n", "\n", "\n", "10\n", "\n", "\n", "0.0 \n", "\n", "\n", "10\n", "\n", "\n", "0.5 \n", "\n", "\n", "10\n", "\n", "\n", "1.0 \n", "\n", "\n", "a=40\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "(1-t/a)^(-a)\n", "\n", "\n", "\n", "e^t\n", "\n", "\n", "\n", "(1+t/a)^a\n", "\n", "\n" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(PP[3:4]..., size=(750,250), layout=@layout([a b]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Jensenの不等式" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 期待値汎函数\n", "\n", "函数を数に対応させる函数を**汎函数** (functional)と呼ぶことがある.\n", "\n", "**函数の例:** $x$ を $x$ に対応させる函数を $x$ と書く.\n", "\n", "すべての $x$ を一定の値 $\\alpha$ に対応させる函数も同じ記号の $\\alpha$ で書き, 定数函数と呼ぶ. $f(x)=\\alpha$ とおいて記号 $f$ を利用すると煩雑になるので, 単に $\\alpha$ と書いて代用するということである. 数としての $\\alpha$ と定数函数としての $\\alpha$ を同じ記号で書くので混乱しないように注意して欲しい. \n", "\n", "例えば, すべての $x$ を $1$ に対応させる函数も単に $1$ と書く. \n", "$\\QED$\n", "\n", "**定義:** 函数 $f$ を数 $E[f]$ に対応させる函数 $E[\\ ]$ (汎函数)が以下の条件を満たしているとき, $E[\\ ]$ は**期待値汎函数** (expextation functional)であると言うことにする:\n", "\n", "**(1) 線形性:** 函数 $f,g$ と数 $\\alpha,\\beta$ に対して, $E[\\alpha f+\\beta g]=\\alpha E[f]+\\beta E[g]$.\n", "\n", "**(2) 単調性:** 函数 $f, g$ のあいだで常に $f\\leqq g$ が成立しているならば $E[f]\\leqq E[g]$.\n", "\n", "**(3) 規格化条件:** 定数函数 $\\alpha$ について, $E[\\alpha]=\\alpha$. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**例:** 区間 $I$ 上の函数を数 $E[f]$ に対応させる函数 $E[\\ ]$ を以下のように定めると, $E[\\ ]$ は期待値汎函数になる. まず $a_1,\\ldots,a_n\\in I$ を任意に取る. $w_1,\\ldots,w_n$ は0以上の実数でかつ $w_1+\\cdots+w_n=1$ を満たしていると仮定する. そして区間 $I$ 上の函数 $f$ に対して\n", "\n", "$$\n", "E[f] = \\sum_{i=1}^n w_i f(a_i) = w_1 f(a_1)+\\cdots+w_n f(a_n)\n", "$$\n", "\n", "と定める. このようにして定められた $E[\\ ]$ が実際に期待値汎函数の性質を満たしていることは以下のようにして確認できる.\n", "\n", "(1) 区間 $I$ 上の函数 $f,g$ と数 $\\alpha,\\beta$ について\n", "\n", "$$\n", "\\begin{aligned}\n", "E[\\alpha f+\\beta g] &= \\sum_{i=1}^n w_i(\\alpha f(a_i)+\\beta g(a_i)) =\n", "\\sum_{i=1}^n (\\alpha w_i f(a_i)+\\beta w_i g(a_i))\n", "\\\\ &=\n", "\\alpha\\sum_{i=1}^n w_i f(a_i) + \\beta\\sum_{i=1}^n w_i g(a_i) = \\alpha E[f]+\\beta E[g].\n", "\\end{aligned}\n", "$$\n", "\n", "(2) 区間 $I$ 上で $f\\leqq g$ が成立していると仮定すると, $w_i\\geqq 0$ より $w_i f(a_i)\\leqq w_i g(a_i)$ も成立するので\n", "\n", "$$\n", "E[f] = \\sum_{i=1}^n w_i f(a_i) \\leqq \\sum_{i=1}^n w_i g(a_i) = E[g].\n", "$$\n", "\n", "(3) 定数函数 $f(x)=\\alpha$ について $f(a_i)=\\alpha$ が成立しているので, $w_1+\\cdots+w_n=1$ という仮定より, \n", "\n", "$$\n", "E[\\alpha] = E[f] = \\sum_{i=1}^n w_i f(a_i) = \\sum_{i=1}^n w_i \\alpha = \\alpha.\n", "$$\n", "\n", "これで示すべきことがすべて示された. \n", "\n", "特に $w_i=1/n$ であるとき, $E[f]$ は\n", "\n", "$$\n", "E[f] = \\frac{f(a_1)+\\cdots+f(a_n)}{n}\n", "$$\n", "\n", "と $f(a_i)$ たちの加法平均になる. $\\QED$\n", "\n", "抽象的な期待値汎函数の概念が難しいと感じる人は, 一般的な期待値汎函数の定義を忘れてこの例の $E[f]$ またはさらにその特別な場合である加法平均の場合のみを考えれば十分である. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** $a\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0.0\n", "\n", "\n", "0.5\n", "\n", "\n", "1.0\n", "\n", "\n", "1.5\n", "\n", "\n", "-2.0\n", "\n", "\n", "-1.5\n", "\n", "\n", "-1.0\n", "\n", "\n", "-0.5\n", "\n", "\n", "0.0\n", "\n", "\n", "0.5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "y = log x\n", "\n", "\n", "\n", "y = a(x-mu)+f(mu)\n", "\n", "\n", "\n", "x=mu\n", "\n", "\n" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = 0:0.01:2.0\n", "μ = 0.7\n", "f(x) = log(x)\n", "g(μ,x) = (1/μ)*(x-μ) + f(μ)\n", "plot(size=(500,350), legend=:topleft, xlims=(0,1.7), ylims=(-2.2, 0.8))\n", "plot!(x, f.(x), label=\"y = log x\")\n", "plot!(x, g.(μ,x), label=\"y = a(x-mu)+f(mu)\")\n", "plot!([μ, μ], [-3.0, f(μ)], label=\"x=mu\", ls=:dash)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** 上に凸な函数 $f(x)$ と\n", "\n", "$$\n", "E[g(x)] = w_1 g(a_1)+\\cdots+w_n g(a_n), \\quad\n", "w_i\\geqq 0, \\quad w_1+\\cdots+w_n=1\n", "$$\n", "\n", "に関するJensenの不等式\n", "\n", "$$\n", "w_1 f(a_1)+\\cdots + w_n f(a_n) \\leqq f(w_1 a_1 +\\cdots+ w_n a_n)\n", "\\tag{$*$}\n", "$$\n", "\n", "を $n$ に関する数学的帰納法を用いて直接証明せよ.\n", "\n", "**解答例:** $n=1$ のとき, ($*$) は $f(a_1)\\leqq f(a_1)$ を意味するので, 自明に正しい.\n", "\n", "$n=N\\geqq 1$ に関する ($*$) が常に成立していると仮定し(帰納法の仮定),\n", "\n", "$$\n", "w_i \\geqq 0, \\quad w_1+\\cdots+w_N+w_{N+1} = 1\n", "$$\n", "\n", "と仮定する. もしも $w_{N+1}=1$ ならば $n=N+1$ の場合の ($*$) は自明に成立している. 以下では $w_{N+1}<1$ と仮定し, \n", "\n", "$$\n", "t_i = \\frac{w_i}{1-w_{N+1}}\n", "$$\n", "\n", "とおく. このとき, $w_i\\geqq 0$, $w_1+\\cdots+w_N=1-w_{N+1}$ より, \n", "\n", "$$\n", "t_i \\geqq 0, \\quad\n", "t_1+\\cdots+t_N = \\frac{w_1+\\cdots+w_N}{1-w_{N+1}} = 1.\n", "$$\n", "\n", "したがって, $n=N$ の場合の($*$)より, \n", "\n", "$$\n", "t_1 f(a_1)+\\cdots+t_N f(a_N) \\leqq f(t_1 a_1+\\cdots+t_N a_N).\n", "$$\n", "\n", "$f$ は上に凸と仮定してあったので, $w_i=(1-w_{N+1})t_i$ を使うと,\n", "\n", "$$\n", "\\begin{aligned}\n", "w_1 f(a_1)+\\cdots+w_N f(a_N)+w_{N+1}f(a_{N+1}) &=\n", "(1-w_{N+1})(t_1 f(a_1)+\\cdots+t_N f(a_N))+w_{N+1}f(a_{N+1})\n", "\\\\ &\\leqq\n", "(1-w_{N+1})f(t_1 a_1+\\cdots+t_N a_N) + w_{N+1} f(a_{N+1})\n", "\\\\ &\\leqq\n", "f((1-w_{N+1})(t_1 a_1+\\cdots+t_N a_N)+w_{N+1} a_{N+1})\n", "\\\\ &=\n", "f(w_1 a_1+\\cdots+w_N a_N+w_{N+1} a_{N+1}) .\n", "\\end{aligned}\n", "$$\n", "\n", "ここで, 2行目で $n=N$ の場合の($*$)を使い, 3行目で $f$ が上に凸であることを使った.\n", "\n", "ゆえに数学的帰納法によってすべての $n$ について ($*$) が成立する. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 相加相乗平均の不等式" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**例:** $a_i>0$ であるとし, \n", "\n", "$$\n", "E[f(x)] = \\frac{f(a_1)+\\cdots+f(a_n)}{n}\n", "$$\n", "\n", "とおく. $x>0$ に対して $f(x)=\\log x$ とおく. このとき, $f(x)=\\log x$ は下に凸なので, Jensenの不等式より $E[f(x)] \\leqq f(E[x])$. そして, \n", "\n", "$$\n", "E[f(x)] = \\frac{\\log a_1+\\cdots+\\log a_n}{n} = \\log(a_1\\cdots a_n)^{1/n}, \\quad\n", "f(E[x]) = \\log\\frac{a_1+\\cdots+a_n}{n}\n", "$$\n", "\n", "なので, $\\log$ の単調増加性より, \n", "\n", "$$\n", "(a_1\\cdots a_n)^{1/n} \\leqq \\frac{a_1+\\cdots+a_n}{n}.\n", "$$\n", "\n", "これでJensenの不等式が相加相乗平均の不等式を含んでいることがわかった. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**例題:** 下に凸な函数 $f(x)=e^x$ に関するJensenの不等式を用いて相加相乗平均の不等式を証明し直せ.\n", "\n", "**解答例:** $a_i>0$ であるとし, $A_i=\\log a_i$, $\\ds E[f(x)] = \\frac{f(A_1)+\\cdots+f(A_n)}{n}$ とおくと, $f(x)=e^x$ のとき\n", "\n", "$$\n", "\\begin{aligned}\n", "&\n", "E[f(x)] = E[e^x] = \\frac{e^{A_1}+\\cdots+e^{A_n}}{n} = \\frac{a_1+\\cdots+a_n}{n}, \n", "\\\\ &\n", "f(E[x]) = e^{(A_1+\\cdots+A_n)/n} = \\left(e^{A_1}\\cdots e^{A_n}\\right)^{1/n} = (a_1\\cdots a_n)^{1/n}.\n", "\\end{aligned}\n", "$$\n", "\n", "下に凸な函数 $f(x)=e^x$ に関するJensenの不等式 $E[f(x)] \\geqq f(E[x])$ より,\n", "\n", "$$\n", "\\frac{a_1+\\cdots+a_n}{n} \\geqq (a_1\\cdots a_n)^{1/n}.\n", "$$\n", "\n", "これで示すべきことが示された. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Youngの不等式" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Youngの不等式の一般化:** $p_i>0$, $\\ds\\frac{1}{p_1}+\\cdots+\\frac{1}{p_n}=1$, $a_i>0$ のとき\n", "\n", "$$\n", "a_1\\cdots a_n \\leqq \\frac{a_1^{p_1}}{p_1}+\\cdots+\\frac{a_n^{p_n}}{p_n}\n", "$$\n", "\n", "$n=2$ の場合をYoungの不等式と呼ぶ. すなわち $p>0$, $q>0$, $\\ds\\frac{1}{p}+\\frac{1}{q}=1$, $a>0$, $b>0$ のときの\n", "\n", "$$\n", "ab \\leqq \\frac{a^p}{p} + \\frac{b^q}{q}\n", "$$\n", "\n", "という不等式を**Youngの不等式**と呼ぶ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**証明:** 上に凸な函数 $f(x)=\\log x$ に関するJensenの不等式より\n", "\n", "$$\n", "\\log(a_1\\cdots a_n)\n", "= \\frac{\\log a_1^{p_1}}{p_1} + \\cdots + \\frac{\\log a_n^{p_n}}{p_n}\n", "\\leqq \\log\\left(\\frac{a_1^{p_1}}{p_1}+\\cdots+\\frac{a_n^{p_n}}{p_n}\\right)\n", "$$\n", "\n", "ゆえに\n", "\n", "$$\n", "a_1\\cdots a_n \\leqq \\frac{a_1^{p_1}}{p_1}+\\cdots+\\frac{a_n^{p_n}}{p_n}\n", "\\qquad \\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** $a,b>0$, $p,q>0$, $\\ds\\frac{1}{p}+\\frac{1}{q}=1$ のとき\n", "\n", "$$\n", "ab \\leqq \\frac{a^p}{p} + \\frac{b^p}{q}\n", "$$\n", "\n", "となること(つまりYoungの不等式)を直接的に証明してみよ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例1:** $f(x)=\\log x$ が上に凸であることより, $A,B>0$ について\n", "\n", "$$\n", "\\frac{1}{p}\\log A + \\frac{1}{q}\\log B\\leqq \\log\\left(\\frac{A}{p}+\\frac{B}{q}\\right).\n", "$$\n", "\n", "ゆえに $A=a^p$, $B=b^q$ とおくと, \n", "\n", "$$\n", "\\log(ab) = \\frac{1}{p}\\log a^p + \\frac{1}{q}\\log b^q\\leqq \\log\\left(\\frac{a^p}{p}+\\frac{b^q}{q}\\right).\n", "$$\n", "\n", "したがって,\n", "\n", "$$\n", "ab \\leqq \\frac{a^p}{p} + \\frac{b^p}{q}. \\qquad \\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例2:** $f(x)=e^x$ が下に凸であることより, 実数 $A,B$ について\n", "\n", "$$\n", "\\frac{1}{p}e^A + \\frac{1}{q}e^B \\geqq e^{A/p+B/q} = e^{A/p} e^{B/q}.\n", "$$\n", "\n", "ゆえに $A=\\log a^p$, $B=\\log b^q$ とおくと, \n", "\n", "$$\n", "\\frac{a^p}{p}+\\frac{b^q}{q} \\geqq ab. \\qquad \\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例3:** $f(x)$ は $x\\geqq 0$ の狭義単調増加連続函数で $f(0)=0$ を満たすものであるとし, \n", "\n", "$$\n", "X = \\{\\,(x,y)\\mid 0\\leqq x\\leqq a,\\ 0\\leqq y\\leqq f(x)\\,\\}, \\quad\n", "Y = \\{\\,(x,y)\\mid 0\\leqq x\\leqq f^{-1}(y),\\ 0\\leqq y\\leqq b\\,\\}\n", "$$\n", "\n", "とおくと, $[0,a]\\times[0,b]\\subset X\\cup Y$ となるので(図を描いてみよ), 面積を比較することによって\n", "\n", "$$\n", "ab \\leqq \\int_0^a f(x)\\,dx + \\int_0^b f^{-1}(y)\\,dy.\n", "\\tag{$\\star$}\n", "$$\n", "\n", "$f(x)=x^{p-1}$ とおくと,\n", "\n", "$$\n", "\\frac{1}{p}+\\frac{1}{q}=1 \\iff (p-1)(q-1)=1\n", "$$\n", "\n", "より, $f^{-1}(y)=y^{1/(p-1)}=y^{q-1}$ となることがわかる. これに上の不等式を適用すると\n", "\n", "$$\n", "ab \\leqq \\frac{a^p}{p} + \\frac{b^p}{q}\n", "$$\n", "\n", "が得られる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**注意:** $a^{p-1}=b$ ならば ($\\star$) で等号が成立する. \n", "\n", "$$\n", "\\frac{1}{p}+\\frac{1}{q}=1 \\iff (p-1)(q-1)=1 \\iff (p-1)q = p\n", "$$\n", "\n", "なので $a^{p-1}=b$ と $a^p = b^q$ は同値である(前者の両辺を $q$ 乗すると後者になる). $\\QED$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "4\n", "\n", "\n", "5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "0\n", "\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "\n", "3\n", "\n", "\n", "4\n", "\n", "\n", "5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function plot_Young(a, b; p=2.5, kwarg...)\n", " q = p/(p-1)\n", " f(x) = x^(p-1)\n", " g(y) = y^(q-1)\n", " A = max(a, g(b))\n", " x = 0:a/200:a\n", " y = 0:b/200:b\n", " x1 = 0:A/200:A\n", " P = plot(legend=false; kwarg...)\n", " plot!([a,a], [0,b], color=:black)\n", " plot!([0,a], [b,b], color=:black)\n", " plot!(x, f.(x), color=:red, fill=(0, 0.4, :pink))\n", " plot!(x1, f.(x1), color=:red, fill=(b, 0.4, :pink))\n", " if A > a\n", " x2 = a:(A-a)/200:A\n", " plot!(x2, f.(x2), color=:red, fill=(b, 0.4, :pink))\n", " end\n", " P\n", "end\n", "\n", "P1 = plot_Young(3,2)\n", "P2 = plot_Young(2,5)\n", "plot(P1, P2, size=(600, 300))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " ### Hölderの不等式" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### $L^p$ ノルム" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "区間 $[a,b]$ 乗の連続函数 $f$ に対して $\\|f\\|_p$ を\n", "\n", "$$\n", "\\|f\\|_p = \\left(\\int_a^b \\left|f(x)\\right|^p\\,dx\\right)^{1/p}\n", "$$\n", "\n", "と定める. これを函数 $f$ の $L^p$ ノルムと呼ぶ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** 定数 $\\alpha$ について $\\left\\|\\alpha f\\right\\|_p=|\\alpha|\\left\\|f\\right\\|_p$ が成立していることを示せ.\n", "\n", "**解答例:**\n", "$$\n", "\\|\\alpha f\\|_p = \\left(\\int_a^b \\left|\\alpha f(x)\\right|^p\\,dx\\right)^{1/p} =\n", "\\left(\\left|\\alpha\\right|^p \\int_a^b \\left|f(x)\\right|^p\\,dx\\right)^{1/p} =\n", "\\left|\\alpha\\right| \\left(\\int_a^b \\left|f(x)\\right|^p\\,dx\\right)^{1/p} =\n", "|\\alpha|\\|f\\|_p. \\qquad \\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**注意:** 上の問題の結果より, 特に $g=\\dfrac{f}{\\|f\\|_p}$ とおくと $\\|g\\|_p=1$ となることがわかる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 一般化されたHölderの不等式" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$p > 0$, $p_i > 0$ であるとし, \n", "\n", "$$\n", "\\frac{1}{p_1} + \\cdots + \\frac{1}{p_n} = \\frac{1}{p}\n", "$$\n", "\n", "と仮定する. このとき, 区間 $[a,b]$ 上の連続函数 $f_i$ 達について\n", "\n", "$$\n", "\\|f_1\\cdots f_n\\|_p \\leqq \\|f_1\\|_{p_1}\\cdots\\|f_n\\|_{p_n}\n", "\\tag{$*$}\n", "$$\n", "\n", "が成立する. これを**一般化されたHölderの不等式**と呼ぶことにする. $n=2$, $p=1$ の場合はHölderの不等式と呼ばれる. すなわち, $p>0$, $q>0$ かつ\n", "\n", "$$\n", "\\frac{1}{p}+\\frac{1}{q}=1\n", "$$\n", "\n", "のときの\n", "\n", "$$\n", "\\|fg\\|_1 \\leqq \\|f\\|_p \\|g\\|_q\n", "$$\n", "\n", "という不等式は**Hölderの不等式**と呼ばれる. さらにこれの $p=q=2$ の場合は**Cauchy-Schwarzの不等式**の特別な場合である." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**一般化されたHölderの不等式の証明の概略:** $g_i(x) = \\dfrac{f_i(x)}{\\|f_i\\|_{p_i}}$ とおく. そのとき $\\|g_i\\|_{p_i}=1$ となる.\n", "\n", "$\\ds\\frac{1}{p_1} + \\cdots + \\frac{1}{p_n} = \\frac{1}{p}$ は $\\ds\\frac{p}{p_1} + \\cdots + \\frac{p}{p_n} = 1$ と同値なので, $q_i=p_i/p$ とおくと, \n", "\n", "$$\n", "q_i>0, \\quad p q_i = p_i, \\quad \\frac{1}{q_1}+\\cdots+\\frac{1}{q_n} = 1.\n", "$$\n", "\n", "ゆえに $a_i = |g_i(x)|^p$ にYoungの不等式の一般化を適用することによって, \n", "\n", "$$\n", "|g_1(x)\\cdots g_n(x)|^p =\n", "|g_1(x)|^p\\cdots|g_n(x)|^p \\leqq\n", "\\frac{|g_1(x)|^{pq_1}}{q_1}+\\cdots+\\frac{|g_n(x)|^{pq_n}}{q_n} =\n", "\\frac{|g_1(x)|^{p_1}}{q_1}+\\cdots+\\frac{|g_n(x)|^{p_n}}{q_n}.\n", "$$\n", "\n", "これを $x$ で積分すると,\n", "\n", "$$\n", "(\\|g_1\\cdots g_n\\|_p)^p \\leqq\n", "\\frac{(\\|g_1(x)\\|_{p_1})^{p_1}}{q_1}+\\cdots+\\frac{(\\|g_n(x)\\|_{p_n})^{p_n}}{q_n} =\n", "\\frac{1}{q_1}+\\cdots+\\frac{1}{q_n}=1.\n", "$$\n", "\n", "ゆえに, \n", "\n", "$$\n", "\\frac{\\|f_1\\cdots f_n\\|_p}{\\|f_1\\|_{p_1}\\cdots\\|f_n\\|_{p_n}} =\n", "\\|g_1\\cdots g_n\\|_p\\leqq 1.\n", "$$. \n", "\n", "したがって,\n", "\n", "$$\n", "\\|f_1\\cdots f_n\\|_p\\leqq \\|f_1\\|_{p_1}\\cdots\\|f_n\\|_{p_n}. \\qquad\\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** (一般化されていない)Youngの不等式から(一般化されていない)Hölderの不等式を導け.\n", "\n", "**解答例の概略:** $p,q>0$, $\\ds\\frac{1}{p}+\\frac{1}{q}=1$ と仮定する.\n", "\n", "$$\n", "\\|fg\\|_1 \\leqq \\|f\\|_p \\|g\\|_q\n", "$$\n", "\n", "を証明したい. 左辺を右辺で割ったものが $1$ 以下になることを示せばよい. \n", "\n", "$$\n", "a(x) = \\frac{|f(x)|}{\\|f\\|_p}, \\quad\n", "b(x) = \\frac{|g(x)|}{\\|g\\|_q}\n", "$$\n", "\n", "とおくと, $\\|a\\|_p=\\|b\\|_q=1$ となる. $a(x)$, $b(x)$ にYoungの不等式を適用すると,\n", "\n", "$$\n", "a(x)b(x) \\leqq \\frac{a(x)^p}{p} + \\frac{b(x)^q}{q}.\n", "$$\n", "\n", "両辺を $x$ について積分すると,\n", "\n", "$$\n", "\\begin{aligned}\n", "&\n", "\\int_a^b a(x)b(x)\\,dx = \\|ab\\|_1 = \\frac{\\|fg\\|_1}{\\|f\\|_p \\|g\\|_q}, \n", "\\\\ &\n", "\\int_a^b \\left(\\frac{a(x)^p}{p} + \\frac{b(x)^q}{q}\\right)\\,dx = \n", "\\frac{(\\|a\\|_p)^p}{p}+\\frac{(\\|b\\|_q)^q}{q} = \\frac{1}{p}+\\frac{1}{q} = 1.\n", "\\end{aligned}\n", "$$\n", "\n", "ゆえに\n", "\n", "$$\n", "\\frac{\\|fg\\|_1}{\\|f\\|_p \\|g\\|_q} \\leqq 1.\n", "$$\n", "\n", "これより, Hölderの不等式が成立することがわかる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Cauchy-Schwarzの不等式\n", "\n", "$p,q>0$, $\\ds\\frac{1}{p}+\\frac{1}{q}=1$ と仮定する. このとき, $\\|f\\|_p<\\infty$, $\\|g\\|_q<\\infty$ を満たす函数 $f,g$ の内積を\n", "\n", "$$\n", "\\bra f,g\\ket = \\int_a^b \\overline{f(x)}g(x)\\,dx\n", "$$\n", "\n", "と定義できる. ここで $\\overline{f(x)}$ は $f(x)$ の複素共役を意味している. $f(x)$ が実数ならば $\\overline{f(x)}=f(x)$ である. このとき, Hölderの不等式より,\n", "\n", "$$\n", "|\\bra f,g\\ket|\\leqq \n", "\\int_a^b \\left|\\overline{f(x)}\\right|\\left|g(x)\\right|\\,dx =\n", "\\int_a^b \\left|f(x)\\right|\\left|g(x)\\right|\\,dx =\n", "\\|fg\\|_1 \\leqq \\|f\\|_p\\|g\\|_q.\n", "$$\n", "\n", "すなわち, \n", "\n", "$$\n", "|\\bra f,g\\ket| \\leqq \\|fg\\|_1 \\leqq \\|f\\|_p\\|g\\|_q.\n", "$$\n", "\n", "この不等式の $p=q=1/2$ の場合は**Cauchy-Schwarzの不等式**と呼ばれている." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 分配函数の対数凸性" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** $a0$ に対して $\\Gamma(s) = \\int_0^\\infty e^{-x} x^{s-1}\\,dx = \\int_0^\\infty e^{(s-1)\\log x-x}\\,dx$ とおくと, その対数 $\\log\\Gamma(s)$ は $s>0$ の下に凸な函数になる. $\\QED$ " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**注意:** 上の問題の記号のもとで, 函数 $h(x)$ に対する $\\bra h(x)\\ket=\\bra h(y)\\ket$ を次のように定める:\n", "\n", "$$\n", "\\bra h(x)\\ket = \\frac{1}{Z(\\beta)}\\int_a^b h(x) e^{-\\beta f(x)+g(x)}\\,dx, \\quad\n", "\\bra h(y)\\ket = \\frac{1}{Z(\\beta)}\\int_a^b h(y) e^{-\\beta f(y)+g(y)}\\,dy.\n", "$$\n", "\n", "さらに函数 $h(x,y)$ に対する $\\bra h(x,y)\\ket$ を次のように定める:\n", "\n", "$$\n", "\\bra h(x,y)\\ket = \\frac{1}{Z(\\beta)^2}\\int_a^b\\int_a^b h(x,y) e^{-\\beta f(x)+g(x)}e^{-\\beta f(y)+g(y)}\\,dx\\,dy.\n", "$$\n", "\n", "このとき $\\bra f(x)\\ket^2=\\bra f(x)f(y)\\ket$ などが成立している.\n", "\n", "もしも上の問題の $Z(\\beta)$ について $\\beta$ に関する微分と積分の順序交換を自由にできるならば\n", "\n", "$$\n", "\\begin{aligned}\n", "&\n", "-\\frac{d}{d\\beta}\\log Z(\\beta) = \\frac{\\int_a^b e^{-\\beta f(x)+g(x)}f(x)\\,dx}{Z(\\beta)} = \\bra f(x)\\ket, \n", "\\\\ &\n", "\\frac{d^2}{d\\beta^2}\\log Z(\\beta) = \\bra f(x)^2\\ket - \\bra f(x)\\ket^2 =\n", "\\bra f(x)f(x)\\ket - \\bra f(x)f(y)\\ket\n", "\\\\ &\\qquad=\n", "\\frac{1}{2}(\\bra f(x)f(x)\\ket - 2\\bra f(x)f(y)\\ket + \\bra f(y)f(y)\\ket) =\n", "\\frac{1}{2}\\bra (f(x)+f(y))^2\\ket \\geqq 0.\n", "\\end{aligned}\n", "$$\n", "\n", "これからも, $\\log Z(\\beta)$ が下に凸な函数であることがわかる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Minkowskiの不等式" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$L^1$ ノルムについては, 三角不等式 $|f(x)+g(x)|\\leqq |f(x)|+|g(x)|$ より, \n", "\n", "$$\n", "\\|f+g\\|_1 = \\int_a^b |f(x)+g(x)|\\,dx\n", "\\leqq \\int_a^b(|f(x)|+|g(x)|)\\,dx = \\|f\\|_1 + \\|g\\|_1\n", "$$\n", "\n", "が成立している. この $L^1$ ノルムに関する三角不等式はそのまま $L^p$ ノルム ($p>1$) に一般化される." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$p>1$ であると仮定する. $q=\\dfrac{p}{p-1}$ とおくと, $\\ds\\frac{1}{p}+\\frac{1}{q}=1$. このとき,\n", "\n", "$$\n", "\\left\\|\\,\\left|\\varphi\\right|^{p-1}\\right\\|_q=\n", "\\left\\|\\,\\left|\\varphi\\right|^{p-1}\\right\\|_{p/(p-1)}=\n", "\\left(\\int_a^b \\left|\\varphi(x)\\right|^p\\,dx\\right)^{(p-1)/p}=\n", "(\\|\\varphi\\|_p)^{p-1}.\n", "$$\n", "\n", "これを $\\varphi=f+g$ に適用することによって,\n", "\n", "$$\n", "\\begin{aligned}\n", "(\\|f+g\\|_p)^p &=\n", "\\int_a^b \\left|f(x)+g(x)\\right|^p\\,dx = \\int_a^b \\left|f(x)+g(x)\\right|\\left|f(x)+g(x)\\right|^{p-1}\\,dx\n", "\\\\ &\\leqq\n", "\\int_a^b \\left|f(x)\\right| \\left|f(x)+g(x)\\right|^{p-1}\\,dx +\n", "\\int_a^b \\left|g(x)\\right| \\left|f(x)+g(x)\\right|^{p-1}\\,dx\n", "\\\\ &\\leqq\n", "\\|f\\|_p \\left\\|\\left|f(x)+g(x)\\right|^{p-1}\\right\\|_q +\n", "\\|g\\|_p \\left\\|\\left|f(x)+g(x)\\right|^{p-1}\\right\\|_q \n", "\\\\ &=\n", "\\|f\\|_p (\\|f(x)+g(x)\\|_p)^{p-1} +\n", "\\|g\\|_p (\\|f(x)+g(x)\\|_p)^{p-1}\n", "\\\\ &=\n", "(\\|f\\|_p+\\|g\\|_p) (\\|f(x)+g(x)\\|_p)^{p-1}\n", "\\end{aligned}\n", "$$\n", "\n", "ここで, 2行目の不等号で三角不等式 $|f(x)+g(x)|\\leqq |f(x)|+|g(x)|$ を使い, 3行目の不等号でHölderの不等式を使った. したがって,\n", "\n", "$$\n", "\\|f+g\\|_p \\leqq \\|f\\|_p+\\|g\\|_p.\n", "$$\n", "\n", "これを**Minkowskiの不等式**と呼ぶ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**定義:** $\\|f\\|_p<\\infty$ すなわち $\\ds \\int_a^b |f(x)|^p\\,dx<\\infty$ を満たす函数を **$L^p$ 函数** もしくは **$p$ 乗可積分函数** と呼ぶ. 特に $L^1$ 函数を単に**可積分函数**と呼ぶ. $\\QED$\n", "\n", "Minkowskiの不等式より, $L^p$ 函数の和も $L^p$ 函数になる." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "_draft": { "nbviewer_url": "https://gist.github.com/24a01ebc7d50e000e8e4244615355a4d" }, "gist": { "data": { "description": "08 convexity.ipynb", "public": true }, "id": "24a01ebc7d50e000e8e4244615355a4d" }, "kernelspec": { "display_name": "Julia 0.6.4", "language": "julia", "name": "julia-0.6" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "0.6.4" }, "toc": { "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }