{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 09 積分\n", "\n", "黒木玄\n", "\n", "2018-06-21~2019-04-03, 2023-06-22\n", "\n", "* Copyright 2018,2023 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/09%20integration.ipynb\n", "\n", "* https://genkuroki.github.io/documents/Calculus/09%20integration.pdf\n", "\n", "このファイルは Julia Box で利用できる.\n", "\n", "自分のパソコンにJulia言語をインストールしたい場合には\n", "\n", "* [WindowsへのJulia言語のインストール](http://nbviewer.jupyter.org/gist/genkuroki/81de23edcae631a995e19a2ecf946a4f)\n", "\n", "* [Julia v1.1.0 の Windows 8.1 へのインストール](https://nbviewer.jupyter.org/github/genkuroki/msfd28/blob/master/install.ipynb)\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", "\\newcommand\\sinc{\\operatorname{sinc}}\n", "\\newcommand\\Si{\\operatorname{Si}}\n", "\\newcommand\\Ci{\\operatorname{Ci}}\n", "\\newcommand\\si{\\operatorname{si}}\n", "\\newcommand\\Cin{\\operatorname{Cin}}\n", "$" ] }, { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

目次

\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "using Base.MathConstants\n", "using Base64\n", "using Printf\n", "using Statistics\n", "const e = ℯ\n", "endof(a) = lastindex(a)\n", "linspace(start, stop, length) = range(start, stop, length=length)\n", "\n", "using Plots\n", "#gr(); ENV[\"PLOTS_TEST\"] = \"true\"\n", "#clibrary(:colorcet)\n", "#clibrary(:misc)\n", "default(fmt=:png)\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", "const latex = sympy.latex\n", "using LaTeXStrings\n", "mylatex(x; kwargs...) = latex(x; kwargs...)\n", "mylatex(x::AbstractString) = x\n", "latexstring_displaystyle(args...; kwargs...) = \n", " LaTeXString(raw\"$$\" * prod(mylatex.(args; kwargs...)) * raw\"$$\")\n", "latexdisp(args...; kwargs...) = \n", " display(latexstring_displaystyle(args...; kwargs...))\n", "const ls = latexstring_displaystyle\n", "const ld = latexdisp\n", "\n", "using SpecialFunctions\n", "using QuadGK" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Override the Base.show definition of SymPy.jl:\n", "# https://github.com/JuliaPy/SymPy.jl/blob/29c5bfd1d10ac53014fa7fef468bc8deccadc2fc/src/types.jl#L87-L105\n", "\n", "@eval SymPy function Base.show(io::IO, ::MIME\"text/latex\", x::SymbolicObject)\n", " print(io, as_markdown(\"\\\\displaystyle \" * sympy.latex(x, mode=\"plain\", fold_short_frac=false)))\n", "end\n", "@eval SymPy function Base.show(io::IO, ::MIME\"text/latex\", x::AbstractArray{Sym})\n", " function toeqnarray(x::Vector{Sym})\n", " a = join([\"\\\\displaystyle \" * sympy.latex(x[i]) for i in 1:length(x)], \"\\\\\\\\\")\n", " \"\"\"\\\\left[ \\\\begin{array}{r}$a\\\\end{array} \\\\right]\"\"\"\n", " end\n", " function toeqnarray(x::AbstractArray{Sym,2})\n", " sz = size(x)\n", " a = join([join(\"\\\\displaystyle \" .* map(sympy.latex, x[i,:]), \"&\") for i in 1:sz[1]], \"\\\\\\\\\")\n", " \"\\\\left[ \\\\begin{array}{\" * repeat(\"r\",sz[2]) * \"}\" * a * \"\\\\end{array}\\\\right]\"\n", " end\n", " print(io, as_markdown(toeqnarray(x)))\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 積分の基本性質" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1変数函数 $f(x)$ の積分 $\\int_a^b f(x)\\,dx$ の構成の仕方は無数に存在する.\n", "\n", "Riemann積分とLebesgue積分は有名であり, それら以外にも様々な方法が存在する. 例えば, \n", "\n", "* S. ラング, 『ラング 現代の解析学』, 共立出版, 1981 (原書: Serge Lang, Real Analysis, 1969)\n", "\n", "の第5章「微分法」の第1節では, \n", "\n", "$$\n", "f(t) = v_i \\quad (a_{i-1} b$ の場合には $\\int_a^b f(x)\\,dx$ を $\\int_a^b f(x)\\,dx = -\\int_b^a f(x)\\,dx$ で定義することによって, $a,b$ の大小に条件を付ける必要がなくなる.\n", "\n", "(4) (B)は $\\ds\\int_a^c f(x)\\,dx - \\int_b^a\\,f(x)\\,dx = \\int_b^c f(x)\\,dx$ と同値である. 基本性質(B)はこの形でもよく使われる.\n", "\n", "**基本性質(C)** **定数の積分:** 定数 $\\alpha$ について,\n", "\n", "$$\n", "\\int_a^b \\alpha\\,dx = \\alpha(b-a).\n", "$$\n", "\n", "**注意:** (1) $\\int_a^b 1\\,dx = b-a$ と(A)から(C)が導かれる.\n", "\n", "(2) 函数 $f(x)$ が $ab$ であっても成立している. そのために絶対値を付けた. \n", "\n", "**証明:** $-|f(x)|\\leqq f(x)\\leqq |f(x)|$ なので積分の単調性(D)より\n", "\n", "$$\n", "-\\int_a^b|f(x)|\\,dx \\leqq \\int_a^b f(x)\\,dx \\leqq \\int_a^b |f(x)|\\,dx.\n", "$$\n", "\n", "これは(1)が成立することを意味する. $a\\leqq x\\leqq b$ で $|f(x)|\\leqq M$ ならば積分の単調性(D)と(C)より,\n", "\n", "$$\n", "\\int_a^b |f(x)|\\,dx \\leqq \\int_a^b M\\,dx = M(b-a)=M|b-a|.\n", "$$\n", "\n", "これで(2)も成立することが示された. $\\QED$\n", "\n", "**解説:** 多くの場面で「小さいこと」を示したい誤差項は積分で表わされる. (Taylorの定理における積分型剰余項はその典型例である.) 性質(E)は積分の絶対値が「小さいこと」を示すためによく使われることになる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**注意:** $f(x)$ が複素数値函数であっても性質(E)は成立している. さらに絶対値を任意のノルムで置き換えればベクトル値函数であっても性質(E)は成立している. しかし, そのことを示すためには性質(A)~(D)を仮定するだけでは足りないので, 複素数値函数やベクトル値函数まで拡張された性質(E)も必要ならば, 最初から拡張された性質(E)も仮定しておく方がよいかもしれない.\n", "\n", "拡張された性質(E)が主要などの積分論でも成立する理由は, どの積分論においても積分が有限和 $v_1+\\cdots+v_n$ の極限で構成されているからである. ここで $v_i$ は複素数またはベクトルである. 絶対値およびより一般にノルムは三角不等式\n", "\n", "$$\n", "\\|v_1+\\cdots+v_n\\| \\leqq \\|v_1\\|+\\cdots+\\|v_n\\|\n", "$$\n", "\n", "を満たしている. これの極限として複素数値もしくはベクトル値函数 $f(x)$ についても\n", "\n", "$$\n", "\\left\\|\\int_a^b f(x)\\,dx\\right\\|\\leqq \\int_a^b \\|f(x)\\|\\,dx\n", "$$\n", "\n", "が成立することが示される. この不等式を点の運動 $x(t)$ の速度ベクトル $v(t)=x'(t)$ に適用した結果は\n", "\n", "$$\n", "\\|x(b)-x(a)\\|=\\left\\|\\int_a^b v(t)\\,dt\\right\\|\\leqq \\int_a^b \\|v(t)\\|\\,dt\n", "$$\n", "\n", "となる. 速さ $\\|v(t)\\|=\\|x'(t)\\|$ の時刻 $a$ から $b$ までの積分の値は点の運動の軌跡(曲線)の長さなので, この不等式は $x(a)$ と $x(b)$ の距離は $x(a)$ と $x(b)$ を結ぶ曲線の長さ以下になることを意味する. \n", "\n", "これより, ベクトル値函数に拡張された性質(E)は, 直観的には当然そうなるべき結果を意味していることがわかる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 性質(F) 微分積分学の基本定理1\n", "\n", "**(F)** 微分積分学の基本定理1: 連続函数 $f(x)$ について\n", "\n", "$$\n", "\\frac{d}{dx}\\int_a^x f(\\xi)\\,d\\xi = f(x).\n", "$$\n", "\n", "**証明:** $F(x)=\\int_a^x f(\\xi)\\,d\\xi$ とおく. このとき(B)より\n", "\n", "$$\n", "F(x+h)-F(x) = \\int_a^{x+h}f(\\xi)\\,d\\xi - \\int_a^x f(\\xi)\\,d\\xi = \\int_x^{x+h}f(\\xi)\\,d\\xi.\n", "$$\n", "\n", "さらに $f(x)$ は積分変数 $\\xi$ について定数なので, (C)より\n", "\n", "$$\n", "f(x)h = f(x)((x+h) - x) = \\int_x^{x+h} f(x)\\,d\\xi.\n", "$$\n", "\n", "ゆえに\n", "\n", "$$\n", "F(x+h)-F(x)-f(x)h = \n", "\\int_x^{x+h}f(\\xi)\\,d\\xi - \\int_x^{x+h} f(x)\\,d\\xi =\n", "\\int_x^{x+h}(f(\\xi) - f(x))\\,d\\xi.\n", "$$\n", "\n", "任意の $\\eps > 0$ を取る. $f(\\xi)$ は $\\xi$ の連続函数なので $|h|$ を十分に小さくすると\n", "\n", "$$\n", "|f(\\xi)-f(x)|\\leqq \\eps\n", "$$\n", "\n", "となる(図を描いてみよ). ゆえに(E)より\n", "\n", "$$\n", "|F(x+h)-F(x)-f(x)h|=\\left|\\int_x^{x+h}(f(\\xi) - f(x))\\,d\\xi\\right|\n", "\\leqq \\eps|(x+h)-x| = \\eps|h|.\n", "$$\n", "\n", "両辺を $|h|$ で割ることによって, $\\eps>0$ ごとに $|h|>0$ を十分に小さくすることによって, \n", "\n", "$$\n", "\\left|\\frac{F(x+h)-F(x)-f(x)h}{h}\\right|\\leqq \\eps\n", "$$\n", "\n", "となることわかる. これは $h\\to 0$ のとき\n", "\n", "$$\n", "\\frac{F(x+h)-F(x)}{h}-f(x) = \\frac{F(x+h)-F(x)-f(x)h}{h} \\to 0\n", "$$\n", "\n", "が成立することを意味する. これで $F'(x) = f(x)$ となることを示せた. $\\QED$\n", "\n", "**注意:** 上の証明では $\\eps$-$\\delta$ 論法を使った. $\\eps$-$\\delta$ 論法を未習もしくはまだ理解していない人であっても, $f(x)$ のグラフを適当に描いて, 積分が「面積」を表すことを思い出しながら, 証明の各ステップに現われる積分がグラフのどの部分の「面積」になっているかを確認すれば, 直観的には明らかな議論しか行っていないことがわかるだろう. むしろ $\\eps$-$\\delta$ 論法を使った証明を使いこなせるようになるためには, $\\eps$-$\\delta$ 論法を理解していない段階でのそのような直観的な議論を十分にしておいた方がよい. 慣れてしまえば, $\\eps$-$\\delta$ 論法自体が直観的に明らかな議論に見えて来ることになるだろう. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 性質(G) 微分積分学の基本定理2\n", "\n", "**準備:** 微分可能函数 $f(x)$ の導函数 $f'(x)$ が恒等的に $0$ ならば $f(x)$ は定数函数になることを(G)の証明では認めて使うことにする. その結果は平均値の定理\n", "\n", "$$\n", "f(x) - f(a) = f'(\\xi)(x-a) \\quad (\\xi = a+t(x-a),\\ 00$ を取る. $f(x)$ は閉区間 $[a,b]$ 上の連続函数であると仮定してあったので, $f(x)$ は閉区間 $[a,b]$ 上の一様連続函数になる. $\\Delta x_i$ 達の最大値を十分小さくすれば\n", "\n", "$$\n", "|f(x)-f(x_i^*)| \\leqq \\frac{\\eps}{b-a}\\quad (x_{i-1}\\leqq x\\leqq x_i)\n", "$$\n", "\n", "となる. したがって, \n", "\n", "$$\n", "\\begin{aligned}\n", "\\left|\\sum_{i=1}^N f(x_i^*)\\Delta x_i-\\int_a^b f(x)\\,dx\\right| &=\n", "\\left|\\sum_{i=1}^N \\int_{x_{i-1}}^{x_i}f(x_i^*)\\,dx-\\sum_{i=1}^N\\int_{x_{i-1}}^{x_i} f(x)\\,dx\\right|\n", "\\\\ &=\n", "\\left|\\sum_{i=1}^N \\int_{x_{i-1}}^{x_i}(f(x_i^*)-f(x))\\,dx\\right|\n", "\\\\ &\\leqq\n", "\\sum_{i=1}^N \\left|\\int_{x_{i-1}}^{x_i}(f(x_i^*)-f(x))\\,dx\\right|\n", "\\\\ &\\leqq\n", "\\sum_{i=1}^N \\int_{x_{i-1}}^{x_i}|f(x_i^*)-f(x)|\\,dx\n", "\\\\ &\\leqq\n", "\\sum_{i=1}^N \\int_{x_{i-1}}^{x_i}\\frac{\\eps}{b-a}\\,dx =\n", "\\sum_{i=1}^N \\frac{\\eps}{b-a}\\Delta x_i \n", "\\\\ &= \n", "\\frac{\\eps}{b-a}(b-a) = \n", "\\eps\n", "\\end{aligned}\n", "$$\n", "\n", "以上によって, 閉区間 $[a,b]$ の分割を細かくすることによって, Riemann和で積分を誤差 $\\eps$ 以下で近似できることを示せた. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**定理:** 閉区間 $[a,b]$ の分割のデータ\n", "\n", "$$\n", "a=x_0\\leqq x_1\\leqq\\cdots\\leqq x_N=b, \\quad x_i^*\\in[x_{i-1},x_i], \\quad \\Delta x_i=x_i-x_{i-1}\n", "$$\n", "\n", "において, $\\Delta x_i$ の最大値を $0$ に近付ける極限を, $\\ds\\lim_{\\max\\{\\Delta x_i\\}\\searrow 0}$ と書くと, $[a,b]$ 上の連続函数 $f(x)$ について,\n", "\n", "$$\n", "\\int_a^b f(x)\\,dx = \\lim_{\\max\\{\\Delta x_i\\}\\searrow 0} \\sum_{i=1}^N f(x_i^*)\\Delta x_i\n", "$$\n", "\n", "が成立する. $\\QED$\n", "\n", "**注意(Riemann積分):** 積分の基本性質とは無関係に, 閉区間 $[a,b]$ 上の連続函数 $f(x)$ に対して, 極限\n", "\n", "$$\n", "\\lim_{\\max\\{\\Delta x_i\\}\\searrow 0} \\sum_{i=1}^N f(x_i^*)\\Delta x_i\n", "$$\n", "\n", "が存在することを示せる. この極限が存在するような閉区間 $[a,b]$ 上の函数は**Riemann積分可能**な函数と呼ばれ, その極限の値は**Riemann積分**と呼ばれる. 特に閉区間上の連続函数はRiemann積分可能である. そして, Riemann積分で積分を定義すると, Riemann積分可能な函数について, 積分の基本性質をすべて示すことができる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 台形公式\n", "\n", "閉区間 $[a,b]$ の分割 $a=x_0\\leqq x_1\\leqq\\cdots\\leqq x_N=b$ に対する和\n", "\n", "$$\n", "\\sum_{i=1}^N \\frac{f(x_{i-1})+f(x_i)}{2}\\Delta x_i\n", "$$\n", "\n", "で積分 $\\int_a^b f(x)\\,dx$ を近似することもできる. これを**台形公式**(trapezoidal rule)と呼ぶ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simpsonの公式\n", "\n", "閉区間 $[a,b]$ の分割 $a=x_0\\leqq x_1\\leqq\\cdots\\leqq x_N=b$ に対する和\n", "\n", "$$\n", "\\sum_{i=1}^N \\frac{f(x_{i-1}) + 4\\,f((x_{i-1}+x_i)/2) + f(x_i)}{6}\\Delta x_i\n", "$$\n", "\n", "で積分 $\\int_a^b f(x)\\,dx$ を近似することもできる. これを**Simpsonの公式**(Simpson's rule)と呼ぶ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Simpsonの公式の由来:** $aEuler-Maclaurinの和公式の一般化\n", "\n", "の第3.5と第3.6節を参照せよ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** 上のSimpsonの公式の由来の解説において結果だけを書いた積分計算を自分で実行せよ. $\\QED$\n", "\n", "解答略." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$c = \\frac{a + b}{2}$$" ], "text/plain": [ "L\"$$c = \\frac{a + b}{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int\\limits_{a}^{b} \\frac{\\left(- b + x\\right) \\left(- c + x\\right)}{\\left(a - b\\right) \\left(a - c\\right)}\\, dx = - \\frac{a - b}{6}$$" ], "text/plain": [ "L\"$$\\int\\limits_{a}^{b} \\frac{\\left(- b + x\\right) \\left(- c + x\\right)}{\\left(a - b\\right) \\left(a - c\\right)}\\, dx = - \\frac{a - b}{6}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int\\limits_{a}^{b} \\frac{\\left(- a + x\\right) \\left(- c + x\\right)}{\\left(- a + b\\right) \\left(b - c\\right)}\\, dx = - \\frac{a - b}{6}$$" ], "text/plain": [ "L\"$$\\int\\limits_{a}^{b} \\frac{\\left(- a + x\\right) \\left(- c + x\\right)}{\\left(- a + b\\right) \\left(b - c\\right)}\\, dx = - \\frac{a - b}{6}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int\\limits_{a}^{b} \\frac{\\left(- a + x\\right) \\left(- b + x\\right)}{\\left(- a + c\\right) \\left(- b + c\\right)}\\, dx = - \\frac{2 \\left(a - b\\right)}{3}$$" ], "text/plain": [ "L\"$$\\int\\limits_{a}^{b} \\frac{\\left(- a + x\\right) \\left(- b + x\\right)}{\\left(- a + c\\right) \\left(- b + c\\right)}\\, dx = - \\frac{2 \\left(a - b\\right)}{3}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a, b, c, x = symbols(\"a b c x\", real=true)\n", "\n", "I1 = sympy.Integral((x-b)*(x-c)/((a-b)*(a-c)), (x,a,b))\n", "I2 = sympy.Integral((x-a)*(x-c)/((b-a)*(b-c)), (x,a,b))\n", "I3 = sympy.Integral((x-a)*(x-b)/((c-a)*(c-b)), (x,a,b))\n", "\n", "ld(c, \" = \", factor((a+b)/2))\n", "ld(I1, \" = \", I1(c=>(a+b)/2).doit().simplify().factor())\n", "ld(I2, \" = \", I2(c=>(a+b)/2).doit().simplify().factor())\n", "ld(I3, \" = \", I3(c=>(a+b)/2).doit().simplify().factor())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** Simpsonの公式の由来の説明に基いて, 以下の公式を導け.\n", "\n", "$$\n", "\\int_a^b (x-a)(x-b)\\,dx = -\\frac{(b-a)^3}{6}, \\quad\n", "\\int_a^b (x-a)\\left(x-\\tfrac{a+b}{2}\\right)\\,dx = \\frac{(b-a)^3}{12}.\n", "\\qquad \\QED\n", "$$\n", "\n", "解答略." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "code_folding": [] }, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{a}^{b} \\left(- a + x\\right) \\left(- b + x\\right)\\, dx = \\frac{\\left(a - b\\right)^{3}}{6}$$" ], "text/plain": [ "L\"$$\\int\\limits_{a}^{b} \\left(- a + x\\right) \\left(- b + x\\right)\\, dx = \\frac{\\left(a - b\\right)^{3}}{6}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int\\limits_{a}^{b} \\left(- a + x\\right) \\left(x - \\frac{a + b}{2}\\right)\\, dx = - \\frac{\\left(a - b\\right)^{3}}{12}$$" ], "text/plain": [ "L\"$$\\int\\limits_{a}^{b} \\left(- a + x\\right) \\left(x - \\frac{a + b}{2}\\right)\\, dx = - \\frac{\\left(a - b\\right)^{3}}{12}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a, b, x = symbols(\"a b x\", real=true)\n", "c = factor((a+b)/2)\n", "\n", "I1 = sympy.Integral((x-a)*(x-b), (x,a,b))\n", "I2 = sympy.Integral((x-a)*(x-c), (x,a,b))\n", "\n", "ld(I1, \" = \", I1.doit().simplify().factor())\n", "ld(I2, \" = \", I2.doit().simplify().factor())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** 円周率を表わす2種類の積分\n", "\n", "$$\n", "4\\int_0^1\\sqrt{1-x^2}\\,dx = \\pi, \\quad\n", "4\\int_0^1\\frac{dx}{1+x^2} = \\pi\n", "$$\n", "\n", "の近似計算を, 閉区間 $[0,1]$ の分割 $x_i = i/N$ ($i=0,1,\\ldots,N$) と $x_i^*=(x_{i-1}+x_i)/2$ に関するRiemann和と台形公式とSimpsonの公式を用いて実行してみよ. $N=10$ の場合にどうなるか? $\\QED$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SymPyIntegrate (generic function with 1 method)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function RiemannSum(f, a, b, N)\n", " Δx = (b-a)/N\n", " sum(i->f(a+(i-1/2)*Δx)*Δx, 1:N)\n", "end\n", "\n", "function TrapezoidalRule(f, a, b, N)\n", " Δx = (b-a)/N\n", " sum(i->(f(a+(i-1)*Δx)+f(a+i*Δx))/2*Δx, 1:N)\n", "end\n", "\n", "function SimpsonRule(f, a, b, N)\n", " Δx = (b-a)/N\n", " sum(i->(f(a+(i-1)*Δx)+4f(a+(i-1/2)*Δx)+f(a+i*Δx))/6*Δx, 1:N)\n", "end\n", "\n", "function SymPyIntegrate(f, a, b)\n", " x = symbols(\"x\", real=true)\n", " integrate(f(x), (x, a, b))\n", "end" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RiemannSum(f, a, b, N) = 5.0\n", "TrapezoidalRule(f, a, b, N) = 5.0\n", "SimpsonRule(f, a, b, N) = 5.0\n", "s = SymPyIntegrate(f, Sym(0), Sym(1)) = 5\n" ] }, { "data": { "text/plain": [ "5.0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = 4x + 3\n", "a, b = 0.0, 1.0\n", "N = 10\n", "\n", "@show RiemannSum(f, a, b, N)\n", "@show TrapezoidalRule(f, a, b, N)\n", "@show SimpsonRule(f, a, b, N)\n", "@show s = SymPyIntegrate(f, Sym(0), Sym(1))\n", "float(s)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RiemannSum(f, a, b, N) = 3.1650000000000005\n", "TrapezoidalRule(f, a, b, N) = 3.170000000000001\n", "SimpsonRule(f, a, b, N) = 3.166666666666667\n", "s = SymPyIntegrate(f, Sym(0), Sym(1)) = 19/6\n" ] }, { "data": { "text/plain": [ "3.1666666666666665" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = 2x^2 - x + 3\n", "a, b = 0.0, 1.0\n", "N = 10\n", "\n", "@show RiemannSum(f, a, b, N)\n", "@show TrapezoidalRule(f, a, b, N)\n", "@show SimpsonRule(f, a, b, N)\n", "@show s = SymPyIntegrate(f, Sym(0), Sym(1))\n", "float(s)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RiemannSum(f, a, b, N) = 3.1524114332616446\n", "TrapezoidalRule(f, a, b, N) = 3.1045183262483182\n", "SimpsonRule(f, a, b, N) = 3.136447064257202\n", "s = SymPyIntegrate(f, Sym(0), Sym(1)) = pi\n" ] }, { "data": { "text/plain": [ "3.141592653589793" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = 4*√(1-x^2)\n", "a, b = 0.0, 1.0\n", "N = 10\n", "\n", "@show RiemannSum(f, a, b, N)\n", "@show TrapezoidalRule(f, a, b, N)\n", "@show SimpsonRule(f, a, b, N)\n", "@show s = SymPyIntegrate(f, Sym(0), Sym(1))\n", "float(s)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RiemannSum(f, a, b, N) = 3.142425985001098\n", "TrapezoidalRule(f, a, b, N) = 3.1399259889071587\n", "SimpsonRule(f, a, b, N) = 3.1415926529697855\n", "s = SymPyIntegrate(f, Sym(0), Sym(1)) = pi\n" ] }, { "data": { "text/plain": [ "3.141592653589793" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = 4/(1+x^2)\n", "a, b = 0.0, 1.0\n", "N = 10\n", "\n", "@show RiemannSum(f, a, b, N)\n", "@show TrapezoidalRule(f, a, b, N)\n", "@show SimpsonRule(f, a, b, N)\n", "@show s = SymPyIntegrate(f, Sym(0), Sym(1))\n", "float(s)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-6.200076008155975e-10" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SimpsonRule(f, a, b, N) - π" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\ds 4\\int_0^1\\frac{dx}{1+x^2}=\\pi$ の左辺を10分割のSimpsonの公式で計算すると, 小数点以下8桁まで円周率を正確に求めることができている!たったの10分割しかしていないのに!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**注意:** 数値積分は非常に深い分野である. 巧妙な幾つかの方法が開発されており, 多くの場合に以上で説明した方法よりもずっと効率的である. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 広義積分\n", "\n", "無限区間もしくは区間 $(a,b)$ の端で発散しているかもしれない函数 $f(x)$ について極限\n", "\n", "$$\n", "\\lim_{\\alpha\\searrow a,\\ \\beta\\nearrow b} \\int_\\alpha^\\beta f(x)\\,dx\n", "$$\n", "\n", "を**広義積分**と呼ぶ. 極限が存在しなければ広義積分は存在しない. 広義積分は\n", "\n", "$$\n", "\\lim_{\\alpha\\searrow a,\\ \\beta\\nearrow b} \\int_\\alpha^\\beta |f(x)|\\,dx\n", "\\tag{$*$}\n", "$$\n", "\n", "が有限の値に収束するとき収束し, そのときその広義積分は**絶対収束**するという. もとの広義積分は収束するが, ($*$)が有限の値に収束しないとき, その広義積分は**条件収束**するという.\n", "\n", "応用上重要な積分のかなりの割合が無限区間 $(-\\infty, \\infty)$, $(0,\\infty)$ 上の積分になり, 有限区間 $(a,b)$ 上の積分であっても広義積分になっていることが多い.\n", "\n", "例えば, **Gauss積分**や**Fourier変換**は無限区間 $(-\\infty,\\infty)$ 上の積分で定義され, **ガンマ函数**は半無限区間 $(0,\\infty)$ 上の積分で定義され, **ベータ函数**は有限開区間 $(0,1)$ 上の広義積分で定義される." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**注意:** 広義積分を表すときに毎回 $\\lim$ 記号を書くのは面倒なので, 通常の積分と同じ記号法で\n", "\n", "$$\n", "\\int_a^b f(x)\\,dx = \\lim_{\\alpha\\searrow a,\\ \\beta\\nearrow b} \\int_\\alpha^\\beta f(x)\\,dx\n", "$$\n", "\n", "と書くことが多い. さらに $f(x)=F'(x)$ のとき,\n", "\n", "$$\n", "\\lim_{\\alpha\\searrow a,\\ \\beta\\nearrow b} \\int_\\alpha^\\beta f(x)\\,dx =\n", "\\lim_{\\alpha\\searrow a,\\ \\beta\\nearrow b} [F(x)]_\\alpha^\\beta =\n", "\\lim_{\\beta\\nearrow b} F(\\beta) - \\lim_{\\alpha\\searrow a}F(\\alpha).\n", "$$\n", "\n", "であるが, これの右辺を記号の簡単のため\n", "\n", "$$\n", "[F(x)]_a^b = \\lim_{\\beta\\nearrow b} F(\\beta) - \\lim_{\\alpha\\searrow a}F(\\alpha)\n", "$$\n", "\n", "と書くことにする. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** 積分は積分の基本性質を満たしていると仮定する. $a<\\alpha\\leqq\\beta0$ に対するガンマ函数の定義 $\\ds \\Gamma(s)=\\int_0^\\infty e^{-x}x^{s-1}\\,dx$ は無限区間の積分になっており, $00$ ならば $s<1$ であっても $\\ds \\int_0^1 x^{s-1}\\,ds=\\frac{1}{s}$ (有限の値)となる. これより $s>0$ のとき $\\ds \\int_0^1 e^{-x}x^{s-1}\\,dx$ も収束することがわかる. ($x>0$ で $e^{-x}<1$ となることに注意せよ.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** $00$ のとき $e^{-x}<1$ なので, $s>0$ のとき, $x\\searrow 0$ で $x^s\\to 0$ となることより, \n", "\n", "$$\n", "\\int_0^1 e^{-x}x^{s-1}\\,dx \\leqq \\int_0^2 x^{s-1}\\,dx = \\left[\\frac{x^s}{s}\\right]_0^1 = \\frac{1}{s} < \\infty.\n", "\\qquad \\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題:** 任意の実数 $s$ に対して, 積分 $\\ds \\int_1^\\infty e^{-x}x^{s-1}\\,dx$ が有限の値に収束することを示せ.\n", "\n", "**解答例:** 指数函数は多項式函数よりも速く増大するので, $R>1$ を十分大きくすると, $x\\geqq R$ で $\\ds e^{-x/2}x^{s-1}\\leqq 1$ となる. ゆえに\n", "\n", "$$\n", "e^{-x}x^{s-1} \\leqq e^{-x/2}\\quad (x\\geqq R).\n", "$$\n", "\n", "ゆえに\n", "\n", "$$\n", "\\begin{aligned}\n", "\\int_1^\\infty e^{-x}x^{s-1}\\,dx &= \n", "\\int_1^R e^{-x}x^{s-1}\\,dx + \\int_R^\\infty e^{-x}x^{s-1}\\,dx \n", "\\\\ &\\leqq\n", "\\int_1^R e^{-x}x^{s-1}\\,dx + \\int_R^\\infty e^{-x/2}\\,dx\n", "\\\\ &=\n", "\\int_1^R e^{-x}x^{s-1}\\,dx + 2e^{-R/2} < \\infty.\n", "\\qquad \\QED\n", "\\end{aligned}\n", "$$\n", "\n", "**注意:** 指数函数部分 $e^{-x}$ を $e^{-x/2}$ と $e^{-x/2}$ に分けてその片方をもう1つの因子と比較するというような方法はよく使われる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### ベータ函数\n", "\n", "**(4)** $p>0$, $q>0$ に対するベータ函数の定義 $\\ds B(p,q)=\\int_0^1 x^{p-1}(1-x)^{q-1}\\,dx$ の被積分函数は, $00$ ならば $p<1$ であっても $\\ds \\int_0^1 x^{p-1}\\,ds=\\frac{1}{p}$ (有限の値)となることから左端でも積分は収束する. 同様にして, $q>0$ ならば右端でも積分は収束する.\n", "\n", "#### Gauss分布のFourier変換\n", "\n", "**(5)** $a>0$ と仮定する. $f(x)=e^{-x^2/a}$ のFourier変換\n", "\n", "$$\n", "\\hat{f}(p) = \n", "\\int_{-\\infty}^\\infty e^{-ipx} f(x)\\,dx =\n", "\\int_{-\\infty}^\\infty e^{-x^2/a}\\cos(px)\\,dx\n", "$$\n", "\n", "の積分区間は無限区間である. $x\\to\\pm\\infty$ で $e^{-x^2/a}$ が急速に $0$ に近付くのでこの積分は絶対収束する." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 三角函数のLaplace変換\n", "\n", "**問題(三角函数のLaplace変換):** $s>0$ と仮定する. 次の公式を示せ:\n", "\n", "$$\n", "\\int_0^\\infty e^{-st}\\cos(pt)\\,dt = \\frac{s}{s^2+p^2}, \\quad\n", "\\int_0^\\infty e^{-st}\\sin(pt)\\,dt = \\frac{p}{s^2+p^2}.\n", "$$\n", "\n", "**解答例1:** $\\ds f(s) = \\int_0^\\infty e^{-st}\\cos(pt)\\,dt$ とおく. $\\ds \\frac{\\d}{\\d t}\\left(\\frac{e^{-st}}{-s}\\right)=e^{-st}$ を使った部分積分を2回行う.\n", "\n", "$$\n", "\\begin{aligned}\n", "f(s) &=\n", "\\int_0^\\infty e^{-st}\\cos(pt)\\,dt =\n", "\\left[\\frac{e^{-st}}{-s}\\cos(pt)\\right]_0^\\infty -\n", "\\int_0^\\infty \\frac{e^{-st}}{-s}\\;(-p\\sin(pt))\\,dt\n", "\\\\ &=\n", "\\frac{1}{s} -\n", "\\frac{p}{s}\\int_0^\\infty e^{-st}\\sin(pt)\\,dt =\n", "\\frac{1}{s} -\n", "\\frac{p}{s}\\left(\n", "\\left[\\frac{e^{-st}}{-s}\\sin(pt)\\right]_0^\\infty -\n", "\\int_0^\\infty \\frac{e^{-st}}{-s}\\;p\\cos(pt)\\,dt\n", "\\right)\n", "\\\\ &=\n", "\\frac{1}{s} -\n", "\\frac{p^2}{s^2}f(s).\n", "\\end{aligned}\n", "$$\n", "\n", "これを $f(s)$ について解けば前者の公式が得られる.\n", "\n", "$\\ds g(s) = \\int_0^\\infty e^{-st}\\sin(pt)\\,dt$ とおく. 上と同様にして,\n", "$$\n", "\\begin{aligned}\n", "g(s) &=\n", "\\int_0^\\infty e^{-st}\\sin(pt)\\,dt =\n", "\\left[\\frac{e^{-st}}{-s}\\sin(pt)\\right]_0^\\infty -\n", "\\int_0^\\infty \\frac{e^{-st}}{-s}\\;p\\cos(pt)\\,dt\n", "\\\\ &=\n", "\\frac{p}{s}\\int_0^\\infty e^{-st}\\cos(pt)\\,dt =\n", "\\frac{p}{s}\\left(\n", "\\left[\\frac{e^{-st}}{-s}\\cos(pt)\\right]_0^\\infty -\n", "\\int_0^\\infty \\frac{e^{-st}}{-s}\\;(-p\\sin(pt))\\,dt\n", "\\right)\n", "\\\\ &=\n", "\\frac{p}{s}\\left(\n", "\\frac{1}{s} - \\frac{p}{s}g(s)\n", "\\right).\n", "\\end{aligned}\n", "$$\n", "\n", "これを $g(s)$ について解けば後者の公式が得られる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例2:** $e^{ipx}=\\cos(px)+i\\sin(px)$ を用いて一挙に計算する.\n", "\n", "$$\n", "\\int_0^\\infty e^{-st}e^{ipx}\\,dx =\n", "\\int_0^\\infty e^{-(s-ip)t}\\,dx =\n", "\\left[\\frac{e^{-(s-ip)t}}{-(s-ip)}\\right]_0^\\infty =\n", "\\frac{1}{s-ip} = \\frac{s+ip}{s^2+p^2}.\n", "$$\n", "\n", "この結果の実部と虚部のそれぞれから示したい公式の前者と後者が得られる. $\\QED$\n", "\n", "部分積分を2回繰り返すよりも計算が圧倒的に平易になっている." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} e^{- s t} \\cos{\\left(p t \\right)}\\, dt = \\frac{s}{p^{2} + s^{2}}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} e^{- s t} \\cos{\\left(p t \\right)}\\, dt = \\frac{s}{p^{2} + s^{2}}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} e^{- s t} \\sin{\\left(p t \\right)}\\, dt = \\frac{p}{p^{2} + s^{2}}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} e^{- s t} \\sin{\\left(p t \\right)}\\, dt = \\frac{p}{p^{2} + s^{2}}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t, s, p = symbols(\"t s p\", positive=true)\n", "\n", "I1 = sympy.Integral(exp(-s*t)*cos(p*t), (t,0,oo))\n", "I2 = sympy.Integral(exp(-s*t)*sin(p*t), (t,0,oo))\n", "\n", "ld(I1, \" = \", I1.doit().simplify())\n", "ld(I2, \" = \", I2.doit().simplify())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 条件収束する広義積分の例\n", "\n", "以下は条件収束する広義積分に関する有名な公式である. \n", "\n", "#### Dirichlet積分\n", "\n", "**(1)** **Dirichlet積分**(ディリクレ積分): $\\ds \\int_0^\\infty \\frac{\\sin x}{x}\\,dx = \\frac{\\pi}{2}$.\n", "\n", "#### Dirichlet積分の一般化\n", "\n", "**(2)** Dirichelet積分の一般化:\n", "\n", "$$\n", "\\int_0^\\infty \\frac{e^{-ax}\\sin x}{x}\\,dx = \n", "\\int_a^\\infty\\frac{dt}{1+t^2} = \\frac{\\pi}{2} - \\arctan a\n", "\\quad (a\\geqq 0).\n", "$$\n", "\n", "これはDirichlet積分になる $a=0$ の場合にのみ条件収束する.\n", "\n", "#### Fresnel積分の特殊値\n", "\n", "**(3)** **Fresnel積分の特殊値**(フレネル積分の特殊値): \n", "\n", "$$\n", "\\int_{-\\infty}^\\infty \\cos(t^2)\\,dt = \n", "\\int_{-\\infty}^\\infty \\sin(t^2)\\,dt = \n", "\\sqrt{\\frac{\\pi}{2}}.\n", "$$\n", "\n", "**(4)** 上の続き. (3)における被積分函数は $t$ の偶函数なので $(0,\\infty)$ 上の積分に書き直して, $t=\\sqrt{x}$ と置換すると\n", "\n", "$$\n", "\\int_0^\\infty \\frac{\\cos x}{\\sqrt{x}}\\,dx = \n", "\\int_0^\\infty \\frac{\\sin x}{\\sqrt{x}}\\,dx = \n", "\\sqrt{\\frac{\\pi}{2}}.\n", "$$\n", "\n", "これらの公式の証明については\n", "\n", "* 黒木玄, ガンマ分布の中心極限定理とStirlingの公式\n", "\n", "を参照せよ. (1), (2)の証明は第5.5節とを参照せよ. (1), (3), (4)の証明は第8.6節を参照せよ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dirichelt積分の収束の様子\n", "\n", "**問題:** $\\ds \\sinc x = \\frac{\\sin x}{x}$ ($x\\ne 0$), $\\sinc 0=1$ と $\\ds F(R) = \\int_0^R \\sinc x\\,dx$ のグラフをプロットせよ. $\\QED$\n", "\n", "次のセルを見よ." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "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", "\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" ], "text/html": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = iszero(x) ? one(x) : sin(x)/x\n", "F(R) = quadgk(f, 0, R)[1]\n", "x = 0:0.05:100\n", "R = 0:0.05:100\n", "\n", "P1 = plot(x, f.(x), label=\"(sin x)/x\", legend=:topright, ylims=(-0.4, 1.2))\n", "hline!([0], ls=:dash, label=\"0\")\n", "P2 = plot(R, F.(R), label=\"int_0^R (sin x)/x dx\", legend=:bottomright, ylims=(0,2))\n", "hline!([π/2], ls=:dash, label=\"pi/2\")\n", "plot(P1, P2, size=(700,250))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dirichlet積分が絶対収束しないことの証明\n", "\n", "**問題:** $\\ds\\int_0^\\infty \\left|\\frac{\\sin x}{x}\\right|\\,dx=\\infty$ を示せ.\n", "\n", "**解答例:** $|\\sin(x+\\pi)|=|\\sin x|$ と $\\int_0^\\pi \\sin x\\,dx = 2$ より,\n", "\n", "$$\n", "\\begin{aligned}\n", "\\int_0^\\infty \\left|\\frac{\\sin x}{x}\\right|\\,dx &=\n", "\\sum_{n=1}^\\infty \\int_{(n-1)\\pi}^{n\\pi} \\frac{|\\sin x|}{x}\\,dx \\geqq\n", "\\sum_{n=1}^\\infty \\int_{(n-1)\\pi}^{n\\pi} \\frac{|\\sin x|}{n\\pi}\\,dx \n", "\\\\ &=\n", "\\sum_{n=1}^\\infty \\frac{1}{n\\pi}\\int_0^\\pi \\sin x\\,dx =\n", "\\frac{2}{\\pi}\\sum_{n=1}^\\infty \\frac{1}{n} = \\infty.\n", "\\qquad \\QED\n", "\\end{aligned}\n", "$$\n", "\n", "**注意:** 上の解答例の計算の仕方より,\n", "\n", "$$\n", "\\int_0^{N\\pi}\\left|\\frac{\\sin x}{x}\\right|\\,dx \\geqq\n", "\\frac{2}{\\pi}\\sum_{n=1}^N\\frac{1}{n} \\sim \\frac{2}{\\pi}\\log N\n", "$$\n", "\n", "となることがわかる." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dirichlet積分が絶対収束しない様子\n", "\n", "**問題:** $\\ds G(R) = \\int_0^R \\left|\\frac{\\sin x}{x}\\right|\\,dx$ をプロットせよ. $\\QED$\n", "\n", "次のセルを見よ." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "G(π) = 1.8519370519824665\n" ] }, { "data": { "image/png": "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XKAlsJ/GFx1cNfVCwYsy2kETuzakzWZXbUyvXr3qTh33yy+/PHz48K+//kpLS3vy5AkzW1692oDD4WzatImiqEePHl25cmXkyPo5X3Jysqen55cuCBUUFEaOHLlixQo+n5+VlfXPP/8wc03/8ssv69ate/z48bNnzzZv3iwq/6X6SllZefHixStWrKAoKjo6um6EGIatWTHeA/0AACAASURBVLNGKBS+e/cuPDy8Xo8LhNCzZ8/Mzc2/e27FPn36DBkyZMSIEXfv3uVwOMwdCdHR3r1713348uXLM2fOIISioqKKior69u1b72yNV++gJXBfPcrYu3Lkv1mxOZS2ArowkBXSQ2ayK9SeEywrK6tOnTrFx8cjhLhcbn5+Po7js2fPnj59+vTp02/evEmSZFxcXN0xzB4eHi9evDA2Np4/f/6ZM2eYm33W1taiTt9nzpyZMmVKvRciCMLFxYVp94qMjHz//r25ufnYsWNDQkKYm49//PGHv7//7Nmzd+3aNXPmTNHZmAVcmW0tLS1HR0fROefNmycUCl+/fn3+/Pm6FZaRkZGioqKFhcWYMWP27NnD9OsyMzPT19dnCpw9e/bzCOsyMTH5vCOtCIvFunLlSu/evSdNmqSrq9utW7e3b98y0+rUCxghNHr06D179hgYGERERJw7d465u+rk5MSkdxRFXbx4MSAgoJFggBjRAn551K6y8I38Vw8qcnM6qmI3/Ag9KZs2BnyJlpbWoEGDmDWbEULv3r1TV1cPCgpi6qvz588jhGJjY3/44QfRU2xsbNhstpmZWWBg4JEjR5j2JHNzc9E/+NmzZ5lhN/W4uLgw7V4HDhwQCARWVlaDBg0KCgpiLtgmT548b968P//8c/Xq1TNmzKhbX509e5bZVlVVZaZuYfz666/6+voPHjyolwLKy8s7OTnZ2toOGDBg+fLlTPpiZGQkagX/an1lYGDweXt8XSdPnhw7duz06dOZGWRu37595cqVzwNGCA0cOPDChQsGBgYbN248f/48M5kFM4EWU+DcuXMNflygRVBkZezhktCViu8e6pRk9NDDno5kyd5K85IavijxaRpomr58+fKIESO+dDQpKWn48OGihzExMV5eXo2cLSUlpUePHqIxwE0nFApF2zNmzBB9LAKBoHPnzhkZGV964qdPn7p06VI3ABMTk0ZeqKCgwM7Ojs1u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", "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", "\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" ], "text/html": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g(x) = abs(iszero(x) ? one(x) : sin(x)/x)\n", "G(R) = quadgk(g, 0, R)[1]\n", "@show G(π)\n", "\n", "N = 1:0.1:10\n", "R = N.*π\n", "P1 = plot(size=(600, 300), legend=:topleft, xscale=:log)\n", "plot!(R, G.(R), label=\"G(R)\", lw=2)\n", "plot!(R, @.(2/π*log(R/π)+G(π)), label=\"(2/pi) log(R/pi) + G(pi)\", ls=:dash, lw=2)\n", "\n", "N = 1:100\n", "R = N.*π\n", "P2 = plot(size=(600, 300), legend=:topleft, xscale=:log)\n", "plot!(R, G.(R), label=\"G(R)\", lw=2)\n", "plot!(R, @.(2/π*log(R/π)+G(π)), label=\"(2/pi) log(R/pi) + G(pi)\", ls=:dash, lw=2)\n", "\n", "plot(P1, P2, size=(800, 300))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Fresnel積分\n", "\n", "**Fresnel積分:** 次の不定積分をFresnel積分(フレネル積分)と呼ぶ:\n", "\n", "$$\n", "C(t) = \\int_0^t \\cos(s^2)\\,ds, \\quad S(t) = \\int_0^t \\sin(s^2)\\,ds.\n", "$$\n", "\n", "上で紹介したように, 条件収束する広義積分の例として, \n", "\n", "$$\n", "\\lim_{t\\to^\\infty}C(t)=\n", "\\lim_{t\\to^\\infty}S(t)=\n", "\\frac{1}{2}\\sqrt{\\frac{\\pi}{2}}\n", "$$\n", "\n", "は有名である. $C'(t)^2+S'(t)^2=1$ なので点 $(C(t),S(t))$ の運動の速さは常に $1$ である. だから時刻 $0$ から $t$ までの軌跡の長さは $t$ に等しい. だから軌跡の長さは $t\\to\\infty$ で無限大に発散する. 無限に長い軌跡の最終到着地点が $a=(1/2)\\sqrt{\\pi/2}$ に対する点 $(a,a)$ になる." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Fresnel積分の収束の様子\n", "\n", "Fresnel積分 $C(t),S(t)$ のそれぞれをプロットすると以下のようになる. それらが $t\\to\\infty$ で $a=(1/2)\\sqrt{\\pi/2}$ に収束する様子も確認できる." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "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", "\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" ], "text/html": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C(t) = quadgk(s->cos(s^2), 0, t)[1]\n", "S(t) = quadgk(s->sin(s^2), 0, t)[1]\n", "a = sqrt(π/2)/2\n", "\n", "PP = []\n", "\n", "tmin, tmax = 0, 20\n", "t = tmin:(tmax-tmin)/1000:tmax\n", "PC = plot(t, C.(t), label=\"C(t)\"); hline!([a], label=\"a\")\n", "PS = plot(t, C.(t), label=\"S(t)\"); hline!([a], label=\"a\")\n", "push!(PP, PC, PS)\n", "\n", "plot(PP..., size=(700, 250), legend=:bottomright)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "次のセルで $(C(t),S(t))$ の軌跡をプロットしてみよう." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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g0BxcXFqauqaNWva9ygUihDK0yuSJL3++uszZ87s38MS0eOPP/7YY4+p1WoAzc3Njz322KJFi5KSkvrrFCaTafHixXl5eYcPH66pqbnllltcLtff//73ziMPHjz4y1/+8pFHHjnfUxDR2rVr77777l/96lcajWbt2rXXX3/9jh07Fi5cCMDn8y1fvtzv9+/du9fr9f7gBz9YuXLlnj17GGMA/vu//3vFihX3339/VFRUX7+q4HwQOigzMnSwHZ/Pd8cddzidzsrKysCdw1IHQ2yIB57c3NzuJmh1dXWBsxWn01lSUuLz+air2ajL5dqzZ8+mTZvKy8sDD1JaWmq1Wm0229atW7/44ovOZ/F6vfv27fvwww8///xzk8kk7zSZTBUVFUR09OjRjz76qLCwMPAjRUVFNptNfl1WVmaxWBwOx/bt23ft2iXvLC8v37p16/bt22tqagI/2MNsdMeOHWq1urm5WRZp586dADZu3FhSUlJWVtblR86X559/XqlUNjY2ypvr1q2TJKmysrLDMKvV+sILL2g0mpKSkpKSkrq6uva3jh49+sEHH+zfv1/+L3SJy+Vqf+31eg0Gw5133ilvfvjhhwC++eYbeXPHjh0APv/8c3mTc56dnf3nP/+5r99TcJ4IHZQZMToo8+tf/3rBggUPPvhgenp6+85hqoOj2hCuWLFi9erV7Zt79uwBIF8THZRwz549qampsbGxeXl5SqVyzZo17VeJUql8+OGHExIS0tLSlixZ0uEUFRUVubm5sbGxs2bNMhgMCoVCvo8/++yzWVlZP/zhDxMTE3NzcxljTz31lPyRDm6ZyMjIBx98MCUlJSUlZcGCBUS0Zs0arVY7ceLE7OxsSZIef/zx9tP1oIT33HPPwoUL5dfV1dUGgwFAWlpaTk7O9OnTg/01e+S666677LLL2jdra2sBvP322x2Gbdy4MSEhgTGWk5OTk5Nzxx13EJHFYlm8eLFSqRw/frxWq83LyystLQ3mpBMmTFizZo38+uGHH05NTeWcy5terzcqKup///d/2wfff//9gRIKBgehgzIjSQfz8/OjoqJOnTr10EMPBRrCYaqDI981CiA/P//ll19u30xLS1uxYkXwH29qalqxYsWtt9764osvqlSqkydPzp8/f926dQ888IA84O9///v27dtnzZrl9/s7fPYPf/hDXFzcqVOnZGdIfn6+Utn2m1dUVPj9/traWoVC8de//vXuu+++9tprZ82a1VmAv/3tb9u2bZs7d658/HvuuWfdunU6nQ7Ahg0bVq5ceeONN86ePbvnb7Fnz57ly5e3/wI7d+4cN27cxo0bu/P//Pvf//7jH//Y5VuZmZlvv/125/01NTUTJ05s30xJSVGr1bIqBnLttde+8MIL9957b0lJSfvOxx577MCBA4cPH548eXJDQ8NVV121evXqvXv39vyldu/eXVBQ8Jvf/KZdgIyMDNkJA0CpVKalpQUKMHv27L/+9a8ul0ur1fZ8ZEH/InQQI0gHOed33XXXo48+GniudgGGow6OFkP46quvtm9edNFF56WEH330kc/nkzUQwKRJk9asWbN58+Z2Jbzzzjtl5em88uF0Oj0eT3Nzc2pqKoAO180LL7wgf+TOO+/84x//+MYbb3SphD/84Q/nzp3bfvx58+YBMJvNRqNx6tSpGRkZX3/9da9KWFFRIcsQJLm5uTfccEOXb8XGxna5v7m5OTIyMnBPVFRUU1NTMKf717/+dd99902ePBlAUlLSU089ddNNN1VWVmZkZHT3kbq6utWrV69YsWLlypXynpaWlg4CREdHBwqQlpbmdrvr6+uzsrKCkUrQXwgdxAjSwRdffNFqtf785z/vfJBhqoOjwhDeeOONr7/++gV/vKCgwOfzyWogU19fHxYW1r7ZeVrUzk9/+tOlS5caDIZ58+YtW7bs9ttvT0lJkd+Kj49PTk5uHzllypTi4uIuDzJhwoTAzY0bNz788MNVVVUxMTHh4eF1dXU1NTU9fwXOucvlkiewQTJjxowZM2YEPx5ATEyM1WoN3GO1WrvT2EBaW1ubmpqmTZsWeHYAxcXF3RnCxsbGq6++2mAw/POf/wwUoLq6OnCYxWLJy8tr35T/a6GKyB/NCB0cMTpYVlb29NNPb9u2TZ6UdBZgOOrgqDCEPUAByS4ej6fLMS6XKzk5OXA+C0B2s8hoNJrujj9x4sSioqJdu3bt3Lnzr3/96+9///tDhw7JUyGv1xs40uv1Bh4zkMDjNzQ0rFq16sknn/zZz34m+xbGjx9PveUMSZIUHR1tNpt7HhbI+vXrn3vuuS7fys7O3rBhQ+f9qampdXV17ZstLS0ul6v9ptMDKpWKMRb4g8j/i+5+kJaWlsWLF4eFhW3ZskWv17fvT0lJ+fbbb9s3iaiuri7wTmc0GgHEx8f3KpJg0BA62B1DUwc//vhjv9//k5/8RN6sqqoym82zZ8/++c9/vmrVqmGqg6PaECYlJQVOAI8ePdrlsJkzZ77++utJSUnp6ekXcBa1Wr148eLFixc/+eSTSUlJW7Zsue+++wCYzebTp0+PHz8egN/vP3DgwPe+971ej3b8+HGn03nvvffKGlhXV1dWVhaMGJMnTy4qKmrflBW7w42gw/h77rmny7diYmK63D9nzpznn3/ebreHh4cD2L59O4CLL76480itVitHOshrCWFhYQaDYd++fbfccos8YO/evYyxcePGdf5sa2vr0qVLAWzdurVDEPacOXNeeuml9l/1wIEDLS0tgQKcPn06ISGhH6PVBX1E6OCw08Grrroq8Fn8/fffP3To0I9+9CPZpzpcdTB0cTqDRG5u7rJly7afixw29uabbyqVyk8++cThcGzbtk0O4uocsWaz2XJzcy+55JIjR474fD6j0bh58+Z3331XPr5SqewclNXOyy+//MUXXzidTiL65JNPGGOffvopET377LNqtXrhwoW1tbU2m+0Xv/iFSqWSY7Q6R6y9/vrr7QcsLi6WJOn//u//fD5fVVXVokWLtFrtY489Jr/bQ8Ta008/PXHixPZNj8cTERHx8MMPnzp1qr9Ct6urq/V6/a233mqxWAoKCjIyMpYtW9blyIMHDwL429/+dvr0afkH//Wvf63T6T744AOPx7N///7U1NSVK1d2/qDb7Z4zZ05kZOT69es/PUN7rLbD4cjIyFiwYEFjY2Ntbe3s2bMnTpzo9XrbP37jjTeuWrWqX76sIHiEDsqMDB3sQIeo0WGqgyPfEE6ePFnXCfkf7/V6V69eLU8I8vLy3njjjZiYGDmrKT8/X6fT5efnywcpLy9funSpJEmSJAHIyMh488035bcSEhL+9a9/dXf2Rx55RJ6aqdXqyMjIZ555Rt7/7LPPZmdn/+53v9NqtQqFIjo6+p133pHf8vv9Op3u448/ljcDzyXzwgsvqNVqpVKp0+meeeaZhQsX/upXv5Lfuvbaax944IEuJamoqFAoFMeOHWvf8957702ZMiU2NjYrK+v8ftPu2bFjh3wvA7B48eL2fKbOPPXUU7m5uTExMTfddBMReb3en/3sZxqNhjEmSdINN9zQnu8VSHNzc0wnFi1a1D7g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", "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", "\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", "\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", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C(t) = quadgk(s->cos(s^2), 0, t)[1]\n", "S(t) = quadgk(s->sin(s^2), 0, t)[1]\n", "a = sqrt(π/2)/2\n", "\n", "P = []\n", "for (lw, tmax) in [(1,7), (0.6,10), (0.4,20), (0.25,40)]\n", " t = 0:0.01:tmax\n", " p = plot(xlims=(0,1), ylims=(0,1), legend=false)\n", " plot!(title=\"Euler spiral (t = 0 to $tmax)\", titlefontsize=10)\n", " plot!(C.(t), S.(t), lw=lw)\n", " scatter!([a],[a])\n", " push!(P, p)\n", "end\n", "#pngplot(P..., size=(600, 600))\n", "plot(P..., size=(600, 600))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 数式処理系による定積分の計算" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} \\frac{\\sin{\\left(x \\right)}}{x}\\, dx = \\frac{\\pi}{2}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} \\frac{\\sin{\\left(x \\right)}}{x}\\, dx = \\frac{\\pi}{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = symbols(\"x\", positive=true)\n", "I1 = sympy.Integral(x^(-1)*sin(x), (x,0,oo))\n", "ld(I1, \" = \", I1.doit())" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} \\frac{e^{- a x} \\sin{\\left(x \\right)}}{x}\\, dx = - \\operatorname{atan}{\\left(a \\right)} + \\frac{\\pi}{2}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} \\frac{e^{- a x} \\sin{\\left(x \\right)}}{x}\\, dx = - \\operatorname{atan}{\\left(a \\right)} + \\frac{\\pi}{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a, x = symbols(\"a, x\", positive=true)\n", "I1 = sympy.Integral(exp(-a*x)*x^(-1)*sin(x), (x,0,oo))\n", "ld(I1, \" = \", I1.doit())" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{-\\infty}^{\\infty} \\cos{\\left(x^{2} \\right)}\\, dx = \\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$" ], "text/plain": [ "L\"$$\\int\\limits_{-\\infty}^{\\infty} \\cos{\\left(x^{2} \\right)}\\, dx = \\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int\\limits_{-\\infty}^{\\infty} \\sin{\\left(x^{2} \\right)}\\, dx = \\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$" ], "text/plain": [ "L\"$$\\int\\limits_{-\\infty}^{\\infty} \\sin{\\left(x^{2} \\right)}\\, dx = \\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = symbols(\"x\", positive=true)\n", "\n", "I1 = sympy.Integral(cos(x^2), (x,-oo,oo))\n", "I2 = sympy.Integral(sin(x^2), (x,-oo,oo))\n", "\n", "ld(I1, \" = \", I1.doit())\n", "ld(I2, \" = \", I2.doit())" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} \\frac{\\cos{\\left(x \\right)}}{\\sqrt{x}}\\, dx = \\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} \\frac{\\cos{\\left(x \\right)}}{\\sqrt{x}}\\, dx = \\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} \\frac{\\sin{\\left(x \\right)}}{\\sqrt{x}}\\, dx = \\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} \\frac{\\sin{\\left(x \\right)}}{\\sqrt{x}}\\, dx = \\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = symbols(\"x\", positive=true)\n", "\n", "I1 = sympy.Integral(x^(-Sym(1)/2)*cos(x), (x,0,oo))\n", "I2 = sympy.Integral(x^(-Sym(1)/2)*sin(x), (x,0,oo))\n", "\n", "ld(I1, \" = \", I1.doit())\n", "ld(I2, \" = \", I2.doit())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dirichlet積分の分母を $x^a$ とする一般化\n", "\n", "**問題:** $a>0$ のとき, 広義積分\n", "\n", "$$\n", "\\int_1^\\infty \\frac{\\sin x}{x^a}\\,dx = \\lim_{R\\to\\infty}\\int_1^R \\frac{\\sin x}{x^a}\\,dx\n", "$$\n", "\n", "が収束することを示せ. \n", "\n", "**解答例:** 部分積分によって\n", "\n", "$$\n", "\\begin{aligned}\n", "\\int_1^R \\frac{\\sin a}{x^a}\\,dx &= \n", "\\int_1^R x^{-a}(-\\cos x)'\\,dx \n", "\\\\ &=\n", "[-x^{-a}\\cos x]_1^R -\\int_1^R (x^{-a})'(-\\cos x)\\,dx\n", "\\\\ &=\n", "-R^{-a}\\cos R+\\cos 1 - a\\int_1^R x^{-a-1}\\cos x\\,dx.\n", "\\end{aligned}\n", "$$\n", "\n", "第1項の $-R^{-a}\\cos R$ は $R\\to\\infty$ で $0$ に収束し, 第3項の積分は\n", "\n", "$$\n", "\\int_1^R |x^{-a-1}\\cos x|\\,dx \\leqq\n", "\\int_1^R x^{-a-1}\\,dx =\n", "\\left[\\frac{x^{-a}}{-a}\\right]_1^R =\n", "\\frac{1-R^{-a}}{a}\n", "$$\n", "\n", "なので $R\\to\\infty$ で絶対収束する. これで示すべきことがすべて示された. $\\QED$\n", "\n", "**解説:** \n", "$$\n", "\\int_1^R x^{-a}\\,dx = \\begin{cases}\n", "\\dfrac{1-R^{1-a}}{1-a} & (a\\ne 1) \\\\\n", "\\log R & (a=1)\n", "\\end{cases}\n", "$$\n", "\n", "なので, $a\\leqq 1$ のとき, この積分は $R\\to\\infty$ で無限大に発散する. しかし, $x^{-a}$ を微分すると, $-a x^{-(a+1)}$ になり, $a>0$ ならば $a+1>1$ となり, $x^{-(a+1)}$ の $1$ から $\\infty$ までの積分が収束することを使える. 上の問題の解答例では, 部分積分によってそれを実現している. 絶対収束しない積分を上手に部分積分すると絶対収束する形に直せることがよくある. 部分積分はこの意味での非常に有用である. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 部分積分による広義積分の収束の証明法\n", "\n", "**問題:** $a(x)$, $b(x)$ は $x\\geqq 1$ の連続函数であるとし, $A(x)=\\int_1^x a(\\xi)\\,d\\xi$ とおく. $A(x)$ は $x\\geqq 1$ で有界であると仮定する: $A(x)\\leqq M$ ($x\\geqq 1$). さらに $b(x)$ は単調減少な $C^1$ 函数でかつ $x\\to\\infty$ で $b(x)\\to 0$ となっていると仮定する(特に $b(x)\\geqq 0$ ($x\\geqq 0$) である). このとき, 広義積分\n", "\n", "$$\n", "\\int_1^\\infty a(x)b(x)\\,dx = \\lim_{R\\to\\infty}\\int_1^R a(x)b(x)\\,dx\n", "\\tag{1}\n", "$$\n", "\n", "が収束することを示せ.\n", "\n", "**解答例:** 部分積分によって,\n", "\n", "$$\n", "\\int_1^R a(x)b(x)\\,dx = A(R)b(R) - A(1)b(1) - \\int_1^R A(x) b'(x)\\,dx.\n", "\\tag{2}\n", "$$\n", "\n", "そして, $x\\geqq 1$ のとき, $|A(x)|\\leqq M$ かつ $b(x)$ の単調減少性より $b'(x)\\leqq 0$ なので,\n", "\n", "$$\n", "|A(x)b'(x)|\\leqq -Mb'(x) \\quad (x\\geqq 1).\n", "$$\n", "\n", "ゆえに, $b(x)\\geqq 0$ であることも使うと, \n", "\n", "$$\n", "\\int_1^R |A(x) b'(x)|\\,dx \\leqq -\\int_1^R M b'(x)\\,dx = M(b(1)-b(R)) \\leqq M b(1) < \\infty.\n", "$$\n", "\n", "これで, 上の(2)の右辺の積分が絶対収束することがわかった. (2)の右辺の $A(R)b(R)$ は $R\\to\\infty$ のとき $b(R)\\to 0$ より $0$ に収束する. これで, (1)の広義積分が収束することがわかった. $\\QED$\n", "\n", "**注意:** 上の解答例と\n", "\n", "* 黒木玄, 02 級数2.2 条件収束する複素級数の例\n", "\n", "にある解説を比較してみよ. 積分と和の違いに過ぎず, 本質的には同じ内容であることがわかる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 積分と極限の交換\n", "\n", "このノートを含む一連のノート群では安全な極限の交換しか扱わない.\n", "\n", "読者は積分と極限の交換, 積分と微分の交換, 積分順序の交換などを形式的に自由にできることを認めて読んで欲しい.\n", "\n", "もしくは以下の結果が証明抜きで自由に使用されると考えてもよい.\n", "\n", "**(J)** **積分の順序交換:** $\\ds\\int_a^b\\left(\\int_c^d |f(x,y)| \\,dy\\right)\\,dx < \\infty$ ならば\n", "\n", "$$\n", "\\int_a^b\\left(\\int_c^d f(x,y) \\,dy\\right)\\,dx = \\int_c^d\\left(\\int_a^b f(x,y) \\,dx\\right)\\,dy.\n", "$$\n", "\n", "**(K)** **積分記号化での微分:** 各パラメーター $\\alpha$ について $\\int_a^b|f(\\alpha,x)|\\,dx <\\infty$ であり, 各 $x\\in(a,b)$ について偏導函数(偏微分に値を持つ函数)\n", "\n", "$$\n", "\\frac{\\d f(\\alpha, x)}{\\d\\alpha} = \\lim_{h\\to 0}\\frac{f(\\alpha+h,x)-f(\\alpha,x)}{h}\n", "$$\n", "\n", "が存在し, ある非負値函数 $\\varphi(x)\\geqq 0$ でかつ\n", "$$\n", "\\int_a^b \\varphi(x)\\,dx<\\infty, \\qquad\n", "\\left|\\frac{\\d f(\\alpha,x)}{\\d\\alpha}\\right| \\leqq \\varphi(x)\\quad (a実解析入門』, 岩波書店, 1996\n", "\n", "など多くの教科書に書いてある. この本は品切れで中古本にプレミア価格がついている. 大学の図書館などで借りて読めば安上がりである. その本において, (L)はp.78の定理3.23に, (K)はp.79の例3.3に, (J)のより正確な表現であるFubiniの定理はpp.120-123に書いてある." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 積分と極限が交換できない場合\n", "\n", "このノートを含む一連のノート群では安全な極限の交換しか行わないが, 積分と極限が交換できない例は非常に簡単に作れる. 以下を見よ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Lebesgueの収束定理の結論が成立しない場合1\n", "\n", "**例(Lebesgueの収束定理の結論が成立しない場合1):** 函数列 $f_n(x)$ を\n", "\n", "$$\n", "f_n(x) = \\begin{cases}\n", "1/n & (0< x \\leqq n) \\\\\n", "0 & (\\text{otherwise}) \\\\\n", "\\end{cases}\n", "$$\n", "\n", "と定める. さらに函数 $g(x)$ を\n", "\n", "$$\n", "g(x) = \\max\\{f_n(x)\\}_{n=1}^\\infty = \\begin{cases}\n", "1/n & (n-1\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", "\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", "\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", "\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", "\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", "\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", "\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" ], "text/html": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(n,x) = 0 < x ≤ n ? 1/n : zero(x)\n", "g(x) = x > 0 ? 1/ceil(x) : zero(x)\n", "x = 0.0:0.02:10.0\n", "\n", "PP = []\n", "for n in 1:8\n", " P = plot(x, f.(n,x), label=\"f_$n(x)\")\n", " push!(PP, P)\n", "end\n", "P = plot(x, g.(x), label=\"g(x)\")\n", "push!(PP, P)\n", "#pngplot(P..., size=(750, 600), ylims=(0,1))\n", "plot(PP..., size=(750, 600), ylims=(0,1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dirichlet積分とその一般化\n", "\n", "条件収束する広義積分に関する有名な公式\n", "\n", "$$\n", "\\int_0^\\infty \\frac{\\sin x}{x}\\,dx = \\frac{\\pi}{2}\n", "$$\n", "\n", "の左辺はよく**Dirichlet積分**と呼ばれる.\n", "\n", "Dirichlet積分の公式の様々な証明については以下の文献を参照せよ.\n", "\n", "* D. H. Hardy, The Integral $\\int_0^\\infty \\frac{\\sin x}{x}\\,dx$, The Mathematical Gazette Vol. 5, No. 80 (Jun. - Jul., 1909), pp. 98-103. ([JSTOR](https://www.jstor.org/stable/3602798))\n", "\n", "* A. C. Dixon, Proof That $\\int_0^\\infty \\frac{\\sin x}{x}\\,dx=\\frac{\\pi}{2}$, The Mathematical Gazette Vol. 6, No. 96 (Jan., 1912), pp. 223-224. ([JSTOR](https://www.jstor.org/stable/3604314))\n", "\n", "この一連のノート群ではDirichlet積分の公式の導出を何度も繰り返し扱うが, そこで使った方法の多くはこの2つの文献で紹介されている方法の範囲に含まれている.\n", "\n", "Dirichlet積分の公式は, ノート「12 Fourier解析」でFourier変換の逆変換の収束性に関するDiniの条件を扱うときに用いられる." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dirichlet積分の一般化に関する公式\n", "\n", "**問題:** Dirichlet積分の一般化に関する公式\n", "\n", "$$\n", "\\int_0^\\infty \\frac{e^{-ax}\\sin x}{x}\\,dx = \\int_a^\\infty \\frac{dt}{1+t^2} = \\frac{\\pi}{2} - \\arctan a\n", "\\quad (a\\geqq 0)\n", "$$\n", "\n", "を $a>0$ の場合について示せ.\n", "\n", "**注意:** 上の問題の公式の $a\\searrow 0$ の極限としてDirichlet積分の公式が得られる." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例1:** $a>0$ と仮定し, $\\ds I(a) = \\int_0^\\infty \\frac{e^{-ax}\\sin x}{x}\\,dx$ とおく.\n", "\n", "$a\\to\\infty$ で $I(a)\\to 0$ である($I(\\infty)=0$ とおく). 積分記号化での微分(K)と上の方にある三角函数のLaplace変換の問題の結果より\n", "\n", "$$\n", "I'(a) = \\int_0^\\infty \\frac{\\d}{\\d a}\\frac{e^{-ax}\\sin x}{x}\\,dx = -\\int_0^\\infty e^{-ax}\\sin x\\,dx =\n", "\\frac{-1}{1+a^2}.\n", "$$\n", "\n", "ゆえに\n", "\n", "$$\n", "I(a) = I(\\infty) + \\int_\\infty^a \\frac{-1}{1+t^2}\\,dt = \\int_a^\\infty \\frac{dt}{1+t^2}.\n", "$$\n", "\n", "さらに\n", "\n", "$$\n", "\\int_a^\\infty \\frac{dt}{1+t^2} = \n", "\\int_0^\\infty \\frac{dt}{1+t^2} - \\int_0^a \\frac{dt}{1+t^2} =\n", "\\frac{\\pi}{2} - \\arctan a.\n", "$$\n", "\n", "これで示すべきことがすべて示された. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例2:** $a>0$ であると仮定する. $x>0$ のとき, $\\ds \\frac{e^{-ax}}{x} = \\int_a^\\infty e^{-tx}\\,dt$ なので\n", "\n", "$$\n", "\\int_0^\\infty \\frac{e^{-ax}\\sin x}{x}\\,dx =\n", "\\int_0^\\infty \\left(\\int_a^\\infty e^{-tx}\\sin x\\,dt\\right)\\,dx.\n", "$$\n", "\n", "積分の順序交換(J)によって, \n", "\n", "$$\n", "\\int_0^\\infty \\left(\\int_a^\\infty e^{-tx}\\sin x\\,dt\\right)\\,dx =\n", "\\int_a^\\infty \\left(\\int_0^\\infty e^{-tx}\\sin x\\,dx\\right)\\,dt.\n", "$$\n", "\n", "上の方の三角函数のLaplace変換の問題の結果より,\n", "\n", "$$\n", "\\int_a^\\infty \\left(\\int_0^\\infty e^{-tx}\\sin x\\,dx\\right)\\,dt =\n", "\\int_a^\\infty \\frac{1}{1+t^2}\\,dt.\n", "$$\n", "\n", "これで $a>0$ の場合の公式(2)が示された. $\\QED$\n", "\n", "**注意:** $a>0$ の場合には絶対収束する積分しか出て来ないので積分順序を自由に交換できて簡単である. $a=0$ の場合にも積分順序の交換が可能なことを示せれば $a=0$ の場合の(1)も証明される. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dirichlet積分の公式の証明のための準備\n", "\n", "**問題(次の問題の解答例1のための準備):** 次の公式を示せ: $t>0$ のとき,\n", "\n", "$$\n", "\\int e^{-tx} \\cos x\\,dx = \\frac{-e^{-tx}}{1+t^2}(t\\cos x-\\sin x), \\quad\n", "\\int e^{-tx} \\sin x\\,dx = \\frac{-e^{-tx}}{1+t^2}(t\\sin x+\\cos x).\n", "$$\n", "\n", "**解答例:** \n", "$$\n", "\\begin{aligned}\n", "\\int e^{-tx}e^{ix}\\,dx &= \n", "\\int e^{-(t-i)x}\\,dx =\n", "\\frac{e^{-(t-i)x}}{-(t-i)} =\n", "-\\frac{t+i}{t^2+1}e^{-tx}(\\cos x+i\\sin x) \n", "\\\\ &=\n", "\\frac{-e^{-tx}}{1+t^2}((t\\cos x-\\sin x) + i(t\\sin x+\\cos x)).\n", "\\end{aligned}\n", "$$\n", "\n", "この等式の両辺の実部と虚部が示すべき公式にちょうどなっている. $\\QED$\n", "\n", "この問題の結果より, $t>0$ のとき, \n", "\n", "$$\n", "\\begin{aligned}\n", "&\n", "\\int_0^R e^{-tx}\\cos x\\,dx = \\frac{-e^{-tR}}{1+t^2}(t\\cos R-\\sin R) + \\frac{t}{1+t^2},\n", "\\\\ &\n", "\\int_0^R e^{-tx}\\sin x\\,dx = \\frac{-e^{-tR}}{1+t^2}(t\\sin R+\\cos R) + \\frac{1}{1+t^2}.\n", "\\end{aligned}\n", "$$" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int e^{- t x} \\cos{\\left(x \\right)}\\, dx = \\frac{\\left(- t \\cos{\\left(x \\right)} + \\sin{\\left(x \\right)}\\right) e^{- t x}}{t^{2} + 1}$$" ], "text/plain": [ "L\"$$\\int e^{- t x} \\cos{\\left(x \\right)}\\, dx = \\frac{\\left(- t \\cos{\\left(x \\right)} + \\sin{\\left(x \\right)}\\right) e^{- t x}}{t^{2} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int e^{- t x} \\sin{\\left(x \\right)}\\, dx = - \\frac{\\left(t \\sin{\\left(x \\right)} + \\cos{\\left(x \\right)}\\right) e^{- t x}}{t^{2} + 1}$$" ], "text/plain": [ "L\"$$\\int e^{- t x} \\sin{\\left(x \\right)}\\, dx = - \\frac{\\left(t \\sin{\\left(x \\right)} + \\cos{\\left(x \\right)}\\right) e^{- t x}}{t^{2} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t, x = symbols(\"t x\", positive=true)\n", "\n", "I1 = sympy.Integral(exp(-t*x)*cos(x), x)\n", "I2 = sympy.Integral(exp(-t*x)*sin(x), x)\n", "\n", "ld(I1, \" = \", I1.doit().simplify())\n", "ld(I2, \" = \", I2.doit().simplify())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dirichlet積分の公式の証明\n", "\n", "**問題:** Dirichlet積分の公式\n", "\n", "$$\n", "\\int_0^\\infty \\frac{\\sin x}{x}\\,dx = \\lim_{R\\to\\infty}\\int_0^R\\frac{\\sin x}{x}\\,dx = \\frac{\\pi}{2}\n", "$$\n", "\n", "を示せ. (1つ目の等号は広義積分の定義であり, 示す必要はない.)\n", "\n", "**解答例1:** $R>0$ であるとする. $x>0$ のとき, $\\ds \\frac{1}{x} = \\int_0^\\infty e^{-tx}\\,dt$ なので\n", "\n", "$$\n", "\\int_0^R \\frac{\\sin x}{x}\\,dx =\n", "\\int_0^R \\left(\\int_0^\\infty e^{-tx}\\sin x\\,dt\\right)\\,dx.\n", "$$\n", "\n", "積分の順序交換(J)によって\n", "\n", "$$\n", "\\int_0^R \\frac{\\sin x}{x}\\,dx =\n", "\\int_0^\\infty \\left(\\int_0^R e^{-tx}\\sin x\\,dx\\right)\\,dt.\n", "$$\n", "\n", "すぐ上の問題の結果より, \n", "\n", "$$\n", "\\int_0^R \\frac{\\sin x}{x}\\,dx =\n", "\\int_0^\\infty\\frac{-e^{-tR}}{1+t^2}(t\\sin R+\\cos R)\\,dt + \n", "\\int_0^\\infty \\frac{dt}{1+t^2}.\n", "$$\n", "\n", "右辺の前者の積分は $R\\to\\infty$ で $0$ に収束し, 後者の積分は $\\pi/2$ に等しいので,\n", "\n", "$$\n", "\\int_0^\\infty \\frac{\\sin x}{x}\\,dx =\n", "\\lim_{R\\to\\infty}\\int_0^R \\frac{\\sin x}{x}\\,dx =\n", "\\frac{\\pi}{2}.\n", "$$\n", "\n", "これで公式(1)が示された. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例2:** $N$ は正の整数であるとする.\n", "\n", "$$\n", "\\sum_{k=-N}^N e^{2\\pi ikx} = e^{-2\\pi iNx}\\frac{e^{2\\pi i(2N+1)x}-1}{e^{2\\pi ix}-1} =\n", "\\frac{e^{\\pi i(2N+1)x}-e^{-\\pi i(2N+1)x}}{e^{\\pi ix}-e^{-\\pi ix}} =\n", "\\frac{\\sin(\\pi(2N+1)x)}{\\sin(\\pi x)}\n", "$$\n", "\n", "なので, $N\\to\\infty$ のとき,\n", "\n", "$$\n", "\\begin{aligned}\n", "1 &= \\int_{-1/2}^{1/2} \\sum_{k=-N}^N e^{2\\pi ikx}\\,dx =\n", "\\int_{-1/2}^{1/2} \\frac{\\sin(\\pi(2N+1)x)}{\\sin(\\pi x)}\\,dx =\n", "2\\int_0^{1/2} \\frac{\\sin(\\pi(2N+1)x)}{\\sin(\\pi x)}\\,dx \n", "\\\\ &=\n", "\\frac{2}{\\pi} \\int_0^{\\pi(2N+1)/2} \\frac{\\sin t}{(2N+1)\\sin\\left(\\frac{t}{2N+1}\\right)}\\,dt\n", "\\to\n", "\\frac{2}{\\pi} \\int_0^\\infty \\frac{\\sin t}{t}\\,dt.\n", "\\end{aligned}\n", "$$\n", "\n", "4つ目の等号で $\\ds x = \\frac{t}{\\pi(2N+1)}$ とおいた. $N\\to\\infty$ の極限操作では $\\ds(2N+1)\\sin\\left(\\frac{t}{2N+1}\\right)\\to t$ を用いた.\n", "\n", "ゆえに $\\ds \\int_0^\\infty \\frac{\\sin t}{t}\\,dt = \\frac{\\pi}{2}$. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例2':** 上の解答例2で $N\\to\\infty$ での極限を雑に扱った部分を, Fourier解析におけるRiemann-Lebesgueの定理を認めて使うことによって, より正確に扱ってみよう.\n", "\n", "$\\ds\\frac{1}{\\sin(\\pi x)} - \\frac{1}{\\pi x}$ は $x=0$ まで連続函数として延長され, $[-1/2,1/2]$ 上の連続函数になる. ゆえにRiemann-Lebesgueの定理より, $N\\to\\infty$ のとき\n", "\n", "$$\n", "\\eps_N :=\n", "2\\int_0^{1/2} \\left(\\frac{1}{\\sin(\\pi x)} - \\frac{1}{\\pi x}\\right)\\sin(\\pi(2N+1)x)\\,dx \\to 0.\n", "$$\n", "\n", "一方, $\\ds x = \\frac{t}{\\pi(2N+1)}$ とおくと, $N\\to\\infty$ のとき\n", "\n", "$$\n", "2\\int_0^{1/2} \\frac{\\sin(\\pi(2N+1)x)}{\\pi x}\\,dx =\n", "\\frac{2}{\\pi} \\int_0^{\\pi(2N+1)/2}\\frac{\\sin t}{t}\\,dt \\to \n", "\\frac{2}{\\pi} \\int_0^\\infty \\frac{\\sin t}{t}\\,dt.\n", "$$\n", "\n", "ゆえに, $N\\to\\infty$ のとき, 途中まで解答例1と同様にして, \n", "\n", "$$\n", "\\begin{aligned}\n", "1 &= \\int_{-1/2}^{1/2} \\sum_{k=-N}^N e^{2\\pi ikx}\\,dx =\n", "\\int_{-1/2}^{1/2} \\frac{\\sin(\\pi(2N+1)x)}{\\sin(\\pi x)}\\,dx =\n", "2\\int_0^{1/2} \\frac{\\sin(\\pi(2N+1)x)}{\\sin(\\pi x)}\\,dx \n", "\\\\ &=\n", "\\eps_N + 2\\int_0^{1/2} \\frac{\\sin(\\pi(2N+1)x)}{\\pi x}\\,dx\n", "\\to\n", "\\frac{2}{\\pi} \\int_0^\\infty \\frac{\\sin t}{t}\\,dt\n", "\\end{aligned}\n", "$$\n", "\n", "ゆえに $\\ds \\int_0^\\infty \\frac{\\sin t}{t}\\,dt = \\frac{\\pi}{2}$. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " ### Fresnel積分の特殊値の公式の導出\n", " \n", " #### Fresnel積分の特殊値の公式の証明のための準備 (1/(1+t⁴)の積分)\n", " \n", " **問題:** 次を示せ.\n", "\n", "$$\n", "\\int_0^\\infty \\frac{dt}{1+t^4} = \n", "\\int_0^\\infty \\frac{t^2\\,dt}{1+t^4} =\n", "\\frac{\\sqrt{2}\\;\\pi}{4}\n", "$$" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} \\frac{t^{2}}{t^{4} + 1}\\, dt = \\frac{\\sqrt{2} \\pi}{4}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} \\frac{t^{2}}{t^{4} + 1}\\, dt = \\frac{\\sqrt{2} \\pi}{4}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} \\frac{1}{t^{4} + 1}\\, dt = \\frac{\\sqrt{2} \\pi}{4}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} \\frac{1}{t^{4} + 1}\\, dt = \\frac{\\sqrt{2} \\pi}{4}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t = symbols(\"t\", real=true)\n", "\n", "I1 = sympy.Integral(t^2/(t^4+1), (t,0,oo))\n", "I2 = sympy.Integral(1/(t^4+1), (t,0,oo))\n", "\n", "ld(I1, \" = \", I1.doit().simplify())\n", "ld(I2, \" = \", I2.doit().simplify())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例1:** $t=1/u$ とおくと,\n", "\n", "$$\n", "\\int_0^\\infty \\frac{dt}{1+t^4} = \\int_\\infty^0 \\frac{-u^{-2}\\,du}{1+u^{-4}} =\n", "\\int_0^\\infty \\frac{u^2\\,du}{u^4+1} = \\int_0^\\infty\\frac{t^2\\,dt}{1+t^4}.\n", "$$\n", "\n", "天下りになってしまうが, $F(t)$ を次のように定める:\n", "\n", "$$\n", "F(t) = \\frac{\\sqrt{2}}{8}\\log\\frac{t^2+\\sqrt{2}\\;t+1}{t^2-\\sqrt{2}\\;t+1}+\n", "\\frac{\\sqrt{2}}{4}\\left(\n", "\\arctan\\left(\\sqrt{2}\\;t+1\\right) + \\arctan\\left(\\sqrt{2}\\;t-1\\right)\n", "\\right).\n", "$$\n", "\n", "これの導函数を計算すると $F'(t)=1/(1+t^4)$ となることを確認できる(かなり面倒な計算が必要になる). したがって, \n", "\n", "$$\n", "\\int_0^\\infty \\frac{dt}{1+t^4} = [F(t)]_0^\\infty = F(\\infty) = \\frac{\\sqrt{2}}{4}\\pi.\n", "\\qquad\\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$1/(1+t^4)$ の原始函数の求め方については\n", "\n", "* E. ハイラー, G. ワナー, 『解析教程 上』\n", "\n", "の第2章(5.16)式の周辺(pp.172-174)が詳しい. $1/(1+t^4)$ の部分分数展開を使う. 下の方の解答例2の直後の問題とその解答例も見よ." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$F(t) = \\frac{\\sqrt{2} \\left(\\operatorname{atan}{\\left(\\sqrt{2} t - 1 \\right)} + \\operatorname{atan}{\\left(\\sqrt{2} t + 1 \\right)}\\right)}{4} + \\frac{\\sqrt{2} \\log{\\left(\\frac{t^{2} + \\sqrt{2} t + 1}{t^{2} - \\sqrt{2} t + 1} \\right)}}{8}$$" ], "text/plain": [ "L\"$$F(t) = \\frac{\\sqrt{2} \\left(\\operatorname{atan}{\\left(\\sqrt{2} t - 1 \\right)} + \\operatorname{atan}{\\left(\\sqrt{2} t + 1 \\right)}\\right)}{4} + \\frac{\\sqrt{2} \\log{\\left(\\frac{t^{2} + \\sqrt{2} t + 1}{t^{2} - \\sqrt{2} t + 1} \\right)}}{8}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\frac{d}{dt}F(t) = \\frac{1}{t^{4} + 1}$$" ], "text/plain": [ "L\"$$\\frac{d}{dt}F(t) = \\frac{1}{t^{4} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t = symbols(\"t\")\n", "r = sqrt(Sym(2))\n", "H = r/8*log((t^2+r*t+1)/(t^2-r*t+1)) + r/4*(atan(r*t+1)+atan(r*t-1))\n", "ld(\"F(t) = \", H)\n", "ld(raw\"\\frac{d}{dt}F(t) = \", simplify(diff(H, t)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例2:** 複素解析を使う方法. $R>0$ とし, $C_1$ は $0$ から $R$ への線分 $t$, $0\\leqq t\\leqq R$ であるとし, $C_2$ は $R$ から $iR$ への曲線 $Re^{i\\theta}$, $0\\leqq\\theta\\leqq\\pi/2$, $C_3$ は $Ri$ から $0$ への線分であるとする. このとき, \n", "\n", "$$\n", "\\int_{C_3}\\frac{dz}{1+z^4} = -\\int_0^R\\frac{d(it)}{1+(it)^4} =\n", "-i\\int_0^R \\frac{dt}{1+t^4} = -i\\int_{C_1}\\frac{dt}{1+t^4}.\n", "$$\n", "\n", "$1/(1+z^4)$ の $z=e^{i\\pi/4}$ における留数は\n", "\n", "$$\n", "\\frac{1}{(e^{i\\pi/4}-e^{i3\\pi/4})(e^{i\\pi/4}-e^{i5\\pi/4})(e^{i\\pi/4}-e^{i7\\pi/4})} =\n", "\\frac{1}{\\sqrt{2}\\cdot\\sqrt{2}(1+i)\\cdot \\sqrt{2}\\;i} =\n", "\\frac{1}{2\\sqrt{2}\\;(1+i)i}\n", "$$\n", "\n", "なので, 留数定理より,\n", "\n", "$$\n", "\\frac{2\\pi i}{2\\sqrt{2}\\;(1+i)i} = (1-i)\\int_{C_1}\\frac{dz}{1+z^4} + \\int_{C_2}\\frac{dz}{1+z^4}.\n", "$$\n", "\n", "$R\\to\\infty$ で右辺の $C_1$ 上での積分は $\\int_0^\\infty dt/(1+t^4)$ に収束し, $C_2$ 上での積分は $0$ に収束するので,\n", "\n", "$$\n", "\\frac{2\\pi i}{2\\sqrt{2}\\;(1+i)i} = (1-i)\\int_0^\\infty\\frac{dt}{1+t^4}.\n", "$$\n", "\n", "ゆえに,\n", "\n", "$$\n", "\\int_0^\\infty\\frac{dt}{1+t^4} =\n", "\\frac{2\\pi}{2\\sqrt{2}\\cdot 2} =\n", "\\frac{\\sqrt{2}\\;\\pi}{4}.\n", "\\qquad\\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**問題(上の解答例1で使った結果):** $1/(t^4+1)$ の原始函数を求めよ.\n", "\n", "**解答例:** 以下, 記号の簡単のため $r=\\sqrt{2}$ とおく($r^2=2$). 因数分解\n", "\n", "$$\n", "t^4+1 = (t^2+rt + 1)(t^2-rt+1)\n", "$$\n", "\n", "より, \n", "\n", "$$\n", "\\frac{2r}{t^4+1} = \\frac{t+r}{t^2+rt+1}-\\frac{t-r}{t^2-rt+1}.\n", "$$\n", "\n", "一般に $a>0$ のとき\n", "\n", "$$\n", "\\int\\frac{s\\;ds}{s^2+a^2} = \\frac{1}{2}\\log(s^2+a^2), \\quad\n", "\\int\\frac{ds}{s^2+a^2} = \\frac{1}{a}\\arctan\\frac{s}{a}.\n", "$$\n", "\n", "$t=s-r/2$ とおくと\n", "\n", "$$\n", "\\begin{aligned}\n", "\\int\\frac{t+r}{t^2+rt+1}\\,dt &= \\int\\frac{s+r/2}{s^2+1/2}\\,ds =\n", "\\frac{1}{2}\\log(2s^2+1) + \\arctan(rs)\n", "\\\\ &=\n", "\\frac{1}{2}\\log 2 + \\frac{1}{2}\\log(t^2+rt+1) + \\arctan(rt+1).\n", "\\end{aligned}\n", "$$\n", "\n", "$t=s+r/2$ とおくと\n", "\n", "$$\n", "\\begin{aligned}\n", "-\\int \\frac{t-r}{t^2-rt+1}\\,dt &= -\\int \\frac{s-r/2}{s^2+1/2}\\,ds =\n", "-\\frac{1}{2}\\log(2s^2+1) + \\arctan(rs)\n", "\\\\ &=\n", "-\\frac{1}{2}\\log 2 - \\frac{1}{2}\\log(t^2-rt+1) + \\arctan(rt-1).\n", "\\end{aligned}\n", "$$\n", "\n", "ゆえに\n", "\n", "$$\n", "2r\\int\\frac{dt}{t^4+1} =\n", "\\frac{1}{2}\\log\\frac{t^2+rt+1}{t^2-rt+1} + \\arctan(rt+1) + \\arctan(rt-1).\n", "$$\n", "\n", "したがって,\n", "\n", "$$\n", "\\int\\frac{dt}{t^4+1} = \n", "\\frac{1}{4r}\\log\\frac{t^2+rt+1}{t^2-rt+1} + \n", "\\frac{1}{2r}(\\arctan(rt+1) + \\arctan(rt-1)).\n", "\\qquad \\QED\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 1/(1+t⁴)の不定積分の公式の数式処理を用いた確認" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int \\frac{s}{a^{2} + s^{2}}\\, ds = \\frac{\\log{\\left(a^{2} + s^{2} \\right)}}{2}$$" ], "text/plain": [ "L\"$$\\int \\frac{s}{a^{2} + s^{2}}\\, ds = \\frac{\\log{\\left(a^{2} + s^{2} \\right)}}{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int \\frac{1}{a^{2} + s^{2}}\\, ds = \\frac{\\operatorname{atan}{\\left(\\frac{s}{a} \\right)}}{a}$$" ], "text/plain": [ "L\"$$\\int \\frac{1}{a^{2} + s^{2}}\\, ds = \\frac{\\operatorname{atan}{\\left(\\frac{s}{a} \\right)}}{a}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s = symbols(\"s\", real=true)\n", "a = symbols(\"a\", positive=true)\n", "\n", "I1 = sympy.Integral(s/(s^2+a^2), s)\n", "I2 = sympy.Integral(1/(s^2+a^2), s)\n", "\n", "ld(I1, \" = \", I1.doit())\n", "ld(I2, \" = \", I2.doit())" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$r = \\sqrt{2}$$" ], "text/plain": [ "L\"$$r = \\sqrt{2}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$A = \\frac{r + t}{r t + t^{2} + 1}$$" ], "text/plain": [ "L\"$$A = \\frac{r + t}{r t + t^{2} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$B = \\frac{r - t}{- r t + t^{2} + 1}$$" ], "text/plain": [ "L\"$$B = \\frac{r - t}{- r t + t^{2} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$H = \\frac{1}{t^{4} + 1}$$" ], "text/plain": [ "L\"$$H = \\frac{1}{t^{4} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$A + B - 2rH = 0$$" ], "text/plain": [ "L\"$$A + B - 2rH = 0$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$A|_{t=s-r/2} = \\frac{r + 2 s}{2 s^{2} + 1}$$" ], "text/plain": [ "L\"$$A|_{t=s-r/2} = \\frac{r + 2 s}{2 s^{2} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int A|_{t=s-r/2}\\,ds = \\frac{\\log{\\left(2 s^{2} + 1 \\right)}}{2} + \\operatorname{atan}{\\left(\\sqrt{2} s \\right)}$$" ], "text/plain": [ "L\"$$\\int A|_{t=s-r/2}\\,ds = \\frac{\\log{\\left(2 s^{2} + 1 \\right)}}{2} + \\operatorname{atan}{\\left(\\sqrt{2} s \\right)}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int A\\,dt = \\frac{\\log{\\left(2 t^{2} + 2 \\sqrt{2} t + 2 \\right)}}{2} + \\operatorname{atan}{\\left(\\sqrt{2} t + 1 \\right)}$$" ], "text/plain": [ "L\"$$\\int A\\,dt = \\frac{\\log{\\left(2 t^{2} + 2 \\sqrt{2} t + 2 \\right)}}{2} + \\operatorname{atan}{\\left(\\sqrt{2} t + 1 \\right)}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$B|_{t=s+r/2} = \\frac{r - 2 s}{2 s^{2} + 1}$$" ], "text/plain": [ "L\"$$B|_{t=s+r/2} = \\frac{r - 2 s}{2 s^{2} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int B|_{t=s+r/2}\\,ds = - \\frac{\\log{\\left(2 s^{2} + 1 \\right)}}{2} + \\operatorname{atan}{\\left(\\sqrt{2} s \\right)}$$" ], "text/plain": [ "L\"$$\\int B|_{t=s+r/2}\\,ds = - \\frac{\\log{\\left(2 s^{2} + 1 \\right)}}{2} + \\operatorname{atan}{\\left(\\sqrt{2} s \\right)}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\int B\\,dt = - \\frac{\\log{\\left(2 t^{2} - 2 \\sqrt{2} t + 2 \\right)}}{2} + \\operatorname{atan}{\\left(\\sqrt{2} t - 1 \\right)}$$" ], "text/plain": [ "L\"$$\\int B\\,dt = - \\frac{\\log{\\left(2 t^{2} - 2 \\sqrt{2} t + 2 \\right)}}{2} + \\operatorname{atan}{\\left(\\sqrt{2} t - 1 \\right)}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$K(t) = \\frac{1}{2r}\\left(\\int A\\,dt + \\int B\\,dt\\right)$$" ], "text/plain": [ "L\"$$K(t) = \\frac{1}{2r}\\left(\\int A\\,dt + \\int B\\,dt\\right)$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$ = \\frac{\\sqrt{2} \\left(- \\log{\\left(t^{2} - \\sqrt{2} t + 1 \\right)} + \\log{\\left(t^{2} + \\sqrt{2} t + 1 \\right)} + 2 \\operatorname{atan}{\\left(\\sqrt{2} t - 1 \\right)} + 2 \\operatorname{atan}{\\left(\\sqrt{2} t + 1 \\right)}\\right)}{8}$$" ], "text/plain": [ "L\"$$ = \\frac{\\sqrt{2} \\left(- \\log{\\left(t^{2} - \\sqrt{2} t + 1 \\right)} + \\log{\\left(t^{2} + \\sqrt{2} t + 1 \\right)} + 2 \\operatorname{atan}{\\left(\\sqrt{2} t - 1 \\right)} + 2 \\operatorname{atan}{\\left(\\sqrt{2} t + 1 \\right)}\\right)}{8}$$\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$$\\frac{d}{dt}K(t) = \\frac{1}{t^{4} + 1}$$" ], "text/plain": [ "L\"$$\\frac{d}{dt}K(t) = \\frac{1}{t^{4} + 1}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "r, s, t = symbols(\"r s t\", real=true)\n", "v = sqrt(Sym(2))\n", "\n", "ld(\"r = \", v)\n", "\n", "A = (t + r)/(t^2 + r*t + 1)\n", "B = -(t - r)/(t^2 - r*t + 1)\n", "H = expand(1/((t^2 + r*t + 1)*(t^2 - r*t + 1)))\n", "\n", "ld(\"A = \", A)\n", "ld(\"B = \", B)\n", "ld(\"H = \", H(r=>v))\n", "ld(\"A + B - 2rH = \", simplify(A+B-2r*H)) # Verify 2r*H == A+B\n", "\n", "# integrate A\n", "As = simplify(simplify(A(t=>s-r/2))(r^2=>2))\n", "intAs = integrate(s/(s^2+Sym(1)/2), s) + integrate(r/2/(s^2+Sym(1)/2), s)\n", "intA = simplify(expand(intAs(s=>t+r/2)))\n", "\n", "ld(raw\"A|_{t=s-r/2} = \", As)\n", "ld(raw\"\\int A|_{t=s-r/2}\\,ds = \", simplify(intAs(r=>v)))\n", "ld(raw\"\\int A\\,dt = \", simplify(intA(r=>v)))\n", "\n", "# integrate B\n", "Bs = simplify(simplify(B(t=>s+r/2))(r^2=>2))\n", "intBs = -integrate(s/(s^2+Sym(1)/2), s) + integrate(r/2/(s^2+Sym(1)/2), s)\n", "intB = simplify(expand(intBs(s=>t-r/2)))\n", "\n", "ld(raw\"B|_{t=s+r/2} = \", Bs)\n", "ld(raw\"\\int B|_{t=s+r/2}\\,ds = \", simplify(intBs(r=>v)))\n", "ld(raw\"\\int B\\,dt = \", simplify(intB(r=>v)))\n", "\n", "K = simplify((1/(2r)*(intA + intB))(r=>v))\n", "\n", "ld(raw\"K(t) = \\frac{1}{2r}\\left(\\int A\\,dt + \\int B\\,dt\\right)\")\n", "ld(raw\" = \", K)\n", "ld(raw\"\\frac{d}{dt}K(t) = \", simplify(diff(K, t))) # Verification of dF/dt = 1/(t^4+1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Fresnel積分の特殊値の公式の証明\n", "\n", "**問題:** Fresnel積分の特殊値の公式\n", "\n", "$$\n", "\\int_0^\\infty \\frac{\\cos x}{\\sqrt{x}}\\,dx = \n", "\\int_0^\\infty \\frac{\\sin x}{\\sqrt{x}}\\,dx = \n", "\\sqrt{\\frac{\\pi}{2}}\n", "$$\n", "\n", "を示せ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**解答例:** Gauss積分の公式より, $x>0$ のとき\n", "\n", "$$\n", "2\\int_0^\\infty e^{-x t^2}\\,dt = \\int_{-\\infty}^\\infty e^{-x t^2}\\,dt = \\sqrt{\\frac{\\pi}{x}}\n", "$$\n", "\n", "ゆえに\n", "\n", "$$\n", "\\int_0^\\infty \\frac{e^{ix}}{\\sqrt{x}}\\,dx =\n", "\\frac{2}{\\sqrt{\\pi}}\\int_0^\\infty\\left(\\int_0^\\infty e^{-x t^2}e^{ix}\\,dt\\right)\\,dx\n", "$$\n", "\n", "積分順序を交換すると(本当はこの部分を上の問題と同様の方法で正当化する必要がある),\n", "\n", "$$\n", "\\frac{2}{\\sqrt{\\pi}}\\int_0^\\infty\\left(\\int_0^\\infty e^{-x t^2}e^{ix}\\,dt\\right)\\,dx =\n", "\\frac{2}{\\sqrt{\\pi}}\\int_0^\\infty\\left(\\int_0^\\infty e^{-x t^2}e^{ix}\\,dx\\right)\\,dt.\n", "$$\n", "\n", "\n", "三角函数のLaplace変換の問題の解答例2より, \n", "\n", "$$\n", "\\frac{2}{\\sqrt{\\pi}}\\int_0^\\infty\\left(\\int_0^\\infty e^{-x t^2}e^{ix}\\,dx\\right)\\,dt =\n", "\\frac{2}{\\sqrt{\\pi}}\\int_0^\\infty\\frac{t^2+i}{t^4+1}\\,dt\n", "$$\n", "\n", "上の問題の結果より,\n", "\n", "$$\n", "\\frac{2}{\\sqrt{\\pi}}\\int_0^\\infty\\frac{t^2+i}{t^4+1}\\,dt =\n", "\\frac{2}{\\sqrt{\\pi}}(1+i)\\frac{\\sqrt{2}\\;\\pi}{4} =\n", "(1+i)\\sqrt{\\frac{\\pi}{2}}.\n", "$$\n", "\n", "したがって,\n", "\n", "$$\n", "\\int_0^\\infty \\frac{e^{ix}}{\\sqrt{x}}\\,dx = (1+i)\\sqrt{\\frac{\\pi}{2}}.\n", "$$\n", "\n", "両辺の実部と虚部を見れば示したい結果が得られる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "上の解答例と本質的に同じ解答の詳しい解説が\n", "\n", "* E. ハイラー, G. ワナー, 『解析教程 下』\n", "\n", "の第4章の演習問題5.14(p.254, この問題はこの本の最後に載っている問題)の解答解説(pp.313-314)にある." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Fresnel積分の特殊値の公式の複素解析を用いた導出\n", "\n", "**注意:** 複素解析を使えばFresnel積分の特殊値の公式\n", "\n", "$$\n", "\\int_0^\\infty \\cos t^2\\,dt = \n", "\\int_0^\\infty \\sin t^2\\,dt = \n", "\\frac{1}{2}\\sqrt{\\frac{\\pi}{2}}\n", "$$\n", "\n", "を以下のように比較的容易に示すことができる. \n", "\n", "\n", "$R>0$ であるとし, $C_1$ は $0$ から $R$ への線分, $C_2$ は $R$ から $R e^{\\pi i/4}$ への円弧, $C_3$ は $0$ から $R e^{\\pi i/4}$ への線分とすると, Cauchyの積分定理より,\n", "\n", "$$\n", "\\int_{C_3} e^{-z^2}\\,dz = \\int_{C_1} e^{-z^2}\\,dz + \\int_{C_2} e^{-z^2}\\,dz.\n", "$$\n", "\n", "そして,\n", "\n", "$$\n", "\\begin{aligned}\n", "&\n", "\\int_{C_3} e^{-z^2}\\,dz = \\int_0^R \\exp(-(e^{\\pi i/4}t)^2)d(e^{\\pi i/4}t)\\,dt = \n", "e^{\\pi i/4}\\int_0^R e^{-it^2}\\,dt,\n", "\\\\ &\n", "\\int_{C_1} e^{-z^2}\\,dz = \\int_0^R e^{-t^2}\\,dt \\to \\frac{\\sqrt{\\pi}}{2}\\quad (R\\to\\infty),\n", "\\\\ &\n", "\\int_{C_2} e^{-z^2}\\,dz \\to 0 \\quad (R\\to\\infty).\n", "\\end{aligned}\n", "$$\n", "\n", "したがって,\n", "\n", "$$\n", "e^{\\pi i/4} \\int_0^\\infty e^{-it^2}\\,dt = \\frac{\\sqrt{\\pi}}{2}.\n", "$$\n", "\n", "両辺に $\\ds e^{-\\pi i/4} = \\frac{1-i}{\\sqrt{2}}$ をかけると,\n", "\n", "$$\n", "\\int_0^\\infty e^{-it^2}\\,dt = (1-i)\\frac{1}{2}\\sqrt{\\frac{\\pi}{2}}.\n", "$$\n", "\n", "$e^{-it^2}=\\cos t^2 - i\\sin t^2$ に注意して, 両辺の実部と虚部を比較すれば欲しい結果が得られる. $\\QED$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "上の複素解析を用いたFresnel積分の特殊値の導出のより詳しい解説が\n", "\n", "* 高木貞治, 『解析概論』\n", "\n", "の第62節の例2(pp.224-225)にある." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ガンマ函数との関連については\n", "\n", "* 黒木玄, ガンマ分布の中心極限定理とStirlingの公式\n", "\n", "の第8.6節を参照せよ. 一般に, ちょっとした複素解析の利用によって, $-10$ のとき, $s\\searrow 0$ において, \n", "\n", "$$\n", "\\int_0^x t^{s-1}\\cos t\\,dt =\n", "\\frac{1}{s} + \\log x + \\int_0^x \\frac{\\cos t - 1}{t}\\,dt + O(s).\n", "$$\n", "\n", "**証明:** $t^{s-1}(\\cos t - 1) = O(t^{s+1})$ に注意すれば,\n", "\n", "$$\n", "\\begin{aligned}\n", "\\int_0^x t^{s-1}\\cos t\\,dt &=\n", "\\int_0^x t^{s-1}\\,dt + \\int_0^x t^{s-1}(\\cos t - 1)\\,dt\n", "\\\\ &=\n", "\\frac{x^s}{s} + \\int_0^x t^s\\frac{\\cos t - 1}{t}\\,dt\n", "\\\\ &=\n", "\\frac{1}{s}(1+s\\log x + O(s^2)) + \\int_0^x (1+s\\log t + O(t^2))\\frac{\\cos t - 1}{t}\\,dt\n", "\\\\ &=\n", "\\frac{1}{s} + \\log x + \\int_0^x \\frac{\\cos t - 1}{t}\\,dt + O(s).\n", "\\qquad \\QED\n", "\\end{aligned}\n", "$$\n", "\n", "(6) $x>0$ のとき,\n", "\n", "$$\n", "\\int_x^\\infty \\frac{\\cos t}{t}\\,dt = -\\gamma -\\log x - \\int_0^x \\frac{\\cos t - 1}{t}\\,dt.\n", "$$\n", "\n", "これは $\\Ci x = \\gamma + \\log x - \\Cin x$ が成立することを意味している.\n", "\n", "**証明:** (4)と(5)より,\n", "\n", "$$\n", "\\begin{aligned}\n", "\\int_x^\\infty \\frac{\\cos t}{t}\\,dt &=\n", "\\lim_{s\\searrow 0}\\int_x^\\infty t^{s-1}\\cos t\\,dt\n", "\\\\ &=\n", "\\lim_{s\\searrow 0}\\left(\n", "\\int_0^\\infty t^{s-1}\\cos t\\,dt - \\int_0^x t^{s-1}\\cos t\\,dt\n", "\\right)\n", "\\\\ &=\n", "\\lim_{s\\searrow 0}\\left(\n", "\\left(\\frac{1}{s}-\\gamma + O(s)\\right) - \n", "\\left(\\frac{1}{s}+\\log x +\\int_0^x\\frac{\\cos t -1}{t}\\,dt + O(s)\\right)\n", "\\right)\n", "\\\\ &=\n", "-\\gamma -\\log x -\\int_0^x\\frac{\\cos t -1}{t}\\,dt.\n", "\\qquad \\QED\n", "\\end{aligned}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**例:** $\\eps,a>0$ のとき, $t=u/a$ とおくと, (6)より, \n", "\n", "$$\n", "\\int_\\eps^\\infty\\frac{\\cos(at)}{t}\\,dt = \n", "\\int_{a\\eps}^\\infty\\frac{\\cos u}{u}\\,du =\n", "-\\gamma - \\log a + \\log\\eps - \\int_0^{a\\eps}\\frac{\\cos u - 1}{u}\\,du\n", "$$\n", "\n", "なので, さらに $b>0$ とすると,\n", "\n", "$$\n", "\\int_\\eps^\\infty\\frac{\\cos(at)-\\cos(bt)}{t}\\,dt = -\n", "\\log a + \\log b - \\int_0^{b\\eps}\\frac{\\cos u - 1}{u}\\,du + \\int_0^{b\\eps}\\frac{\\cos u - 1}{u}\\,du\n", "$$\n", "\n", "なので $\\eps\\searrow 0$ の極限を取ると,\n", "\n", "$$\n", "\\int_0^\\infty\\frac{\\cos(at)-\\cos(bt)}{t}\\,dt = -\\log a + \\log b = - \\log\\frac{a}{b}.\n", "\\qquad \\QED\n", "$$" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} \\frac{\\cos{\\left(a t \\right)} - \\cos{\\left(b t \\right)}}{t}\\, dt=- \\log{\\left(a \\right)} + \\log{\\left(b \\right)}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} \\frac{\\cos{\\left(a t \\right)} - \\cos{\\left(b t \\right)}}{t}\\, dt=- \\log{\\left(a \\right)} + \\log{\\left(b \\right)}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "@vars a b t positive=true\n", "I1 = sympy.Integral((cos(a*t)-cos(b*t))/t, (t, 0, oo))\n", "ld(I1, \"=\", I1.doit())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**例:** $a_1,\\ldots,a_r>0$ かつ $\\alpha_1+\\cdots+\\alpha_r = 0$ のとき, 上の例と同様にして,\n", "\n", "$$\n", "\\int_0^\\infty\\frac{\\alpha_1\\cos(a_1 t)+\\cdots+\\alpha_r\\cos(a_r t)}{t}\\,dt =\n", "-(\\alpha_1\\log a_1 + \\cdots + \\alpha_r\\log a_r).\n", "\\qquad \\QED\n", "$$" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int\\limits_{0}^{\\infty} \\frac{α \\cos{\\left(a t \\right)} + β \\cos{\\left(b t \\right)} + γ \\cos{\\left(c t \\right)} - \\left(α + β + γ\\right) \\cos{\\left(d t \\right)}}{t}\\, dt = - α \\log{\\left(a \\right)} + α \\log{\\left(d \\right)} - β \\log{\\left(b \\right)} + β \\log{\\left(d \\right)} - γ \\log{\\left(c \\right)} + γ \\log{\\left(d \\right)}$$" ], "text/plain": [ "L\"$$\\int\\limits_{0}^{\\infty} \\frac{α \\cos{\\left(a t \\right)} + β \\cos{\\left(b t \\right)} + γ \\cos{\\left(c t \\right)} - \\left(α + β + γ\\right) \\cos{\\left(d t \\right)}}{t}\\, dt = - α \\log{\\left(a \\right)} + α \\log{\\left(d \\right)} - β \\log{\\left(b \\right)} + β \\log{\\left(d \\right)} - γ \\log{\\left(c \\right)} + γ \\log{\\left(d \\right)}$$\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "@vars a b c d t positive=true\n", "@vars α β γ\n", "I1 = sympy.Integral((α*cos(a*t)+β*cos(b*t)+γ*cos(c*t)-(α+β+γ)*cos(d*t))/t, (t, 0, oo))\n", "ld(I1, \" = \", I1.doit())" ] } ], "metadata": { "@webio": { "lastCommId": null, "lastKernelId": null }, "_draft": { "nbviewer_url": "https://gist.github.com/73df40588e75b57982ca93d885243ac6" }, "gist": { "data": { "description": "09 integration.ipynb", "public": true }, "id": "73df40588e75b57982ca93d885243ac6" }, "jupytext": { "formats": "ipynb,md" }, "kernelspec": { "display_name": "Julia 1.9.1", "language": "julia", "name": "julia-1.9" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.9.1" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "目次", "title_sidebar": "目次", "toc_cell": true, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "223.797px" }, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }