微分可能函数

黒木玄

2018-04-20

このファイルは次の場所できれいに閲覧できる:

このファイルは Julia Box で利用できる.

自分のパソコンにJulia言語をインストールしたい場合には

を参照せよ.

論理的に完璧な説明をするつもりはない. 細部のいい加減な部分は自分で訂正・修正せよ.

$ \newcommand\eps{\varepsilon} \newcommand\ds{\displaystyle} \newcommand\Z{{\mathbb Z}} \newcommand\R{{\mathbb R}} \newcommand\C{{\mathbb C}} \newcommand\QED{\text{□}} \newcommand\root{\sqrt} $

In [1]:
using Plots
gr(); ENV["PLOTS_TEST"] = "true"
#clibrary(:colorcet)
clibrary(:misc)

function pngplot(P...; kwargs...)
    sleep(0.1)
    pngfile = tempname() * ".png"
    savefig(plot(P...; kwargs...), pngfile)
    showimg("image/png", pngfile)
end
pngplot(; kwargs...) = pngplot(plot!(; kwargs...))

showimg(mime, fn) = open(fn) do f
    base64 = base64encode(f)
    display("text/html", """<img src="data:$mime;base64,$base64">""")
end

using SymPy
#sympy[:init_printing](order="lex") # default
#sympy[:init_printing](order="rev-lex")

using SpecialFunctions
using QuadGK

Landau記号

数列版

数列 $a_n,b_n$ について

$$ \frac{a_n}{b_n}\to 0 \quad (n\to\infty) $$

が成立するとき, 量 $a_n$ を $o(b_n)$ と書くことがある:

$$ a_n = o(b_n). $$

例えば

  • $n = o(n^2)$.

  • $n^{100} = o(e^n)$.

  • $\log n = o(n)$.

ある非負の定数 $M$ が存在して, 十分大きな $n$ について

$$ |a_n| \leqq M |b_n| $$

が成立するとき, 量 $a_n$ を $O(b_n)$ と書くことがある:

$$ a_n = O(b_n). $$

例えば

  • $3n^2 + 100n + 26 = O(n^2)$.

  • $\ds n\log n - n + \frac{1}{2}\log(2\pi n) = O(n\log n)$.

以上で定義した $o(b_n)$ と $O(b_n)$ をLandau記号と呼ぶ.

違うものを同じLandau記号の $o(b_n)$ や $O(b_n)$ で表すことのがあるので注意しなければいけない. 例えば $O(n)-O(n)=0$ とはならず, $O(n)-O(n)=O(n)$ となる.

$o(b_n)$ の量は $O(b_n)$ の量にもなる.

問題: $n\to\infty$ のとき $a_n/b_n$ が収束するならば $a_n=O(b_n)$ であることを示せ.

解答例: $a_n/b_n$ が $C$ に収束しているなら, $|a_n/b_n|$ は $|C|$ に収束するので, $M=|C|+1$ とおくと, 十分大きな $n$ について $|a_n/b_n|\leqq |C|+1 = M$ すなわち $|a_n|\leqq M|b_n|$ が成立する. $\QED$

連続版

$x\to\infty$ におけるLandau記号 $o(g(x))$, $O(g(x))$ は上の数列の場合と同様に定義される.

有限の $a$ に関する $x\to a$ におけるLandau記号 $o(g(x))$, $O(g(x))$ も同様に定義される.

$$ \frac{f(x)}{g(x)}\to 0 \quad (x\to a) $$

が成立するとき, $f(x)=o(g(x))$ と書き, ある非負の定数 $M$ とある $\delta > 0$ が存在して

$$ |f(x)| \leqq M |g(x)| \quad (|x-a|\leqq\delta) $$

が成立するとき, $f(x)=O(g(x))$ と書く.

例えば,

  • $x\to 0$ において $x\log x\to 0$ なので

$$ x = o(1/\log x), \quad \log x = o(1/x) \quad (x\to 0). $$

  • $x\to a$ において,

$$ (x-a)^2 + (x-a)^3 + (x-a)^4 + \cdots = O\left((x-a)^2\right) = o(x-a) \quad (x\to a). $$

  • どんなに大きな $n$ についても, $x\searrow 0$ において $e^{-1/x}/x^n\to 0$ なので

$$ \exp\left(-\frac{1}{x}\right) = o(x^n) \quad(x\searrow 0). $$

問題: 以上に出て来た例を確認(証明)せよ. さらに以上に出て来ていない例で面白そうなものを自分で作れ. $\QED$

Laudau記号を使った微分可能性の定義

連続函数

函数 $f(x)$ が $x$ において連続であることの定義は, Landau記号を使うと

$$ f(x+h) = f(x) + o(1) \quad (h\to 0) $$

と書ける. $o(1)$ は $h\to 0$ で $0$ に収束する項を意味する.

微分可能函数

函数 $f(x)$ が $x$ において微分可能であることの定義は, ある $f'(x)$ が存在して,

$$ \frac{f(x+h) - f(x)}{h} \to f'(x) \quad (h\to 0) $$

が成立することである. この条件はLandau記号を使うと,

$$ f(x+h) = f(x) + f'(x)h + o(h) $$

と書き直される. ここで $o(h)$ は $h\to 0$ のとき $o(h)/h\to 0$ となるような量を意味する. $o(h)$ を $h$ より高次の微小量と呼ぶことがある.

以上をまとめると,

連続性: $\quad$ $f(x+h) = f(x) + o(1)$ $(h\to 0)$.

微分可能性: $\quad$ $f(x+h) = f(x) + f'(x)h + o(h)$ $(h\to 0)$.

このように書けばこれらは

$$ f(x+h) = a_0 + a_1 h + a_2 h + \cdots + a_k h^k + o(h^k) $$

の形に一般化可能であることが明瞭になる. 後で実際にこの一般化を実行する(Taylorの定理).

$C^n$ 級函数

連続函数を $C^0$ 級函数と呼ぶ.

函数 $f$ が微分可能でかつ導函数が連続なとき $f$ は $C^1$ 級であるという. そのとき $f$ は連続微分可能であると言うこともある.

より一般に, $f$ が $n$ 回微分可能でかつその $n$ 階の導函数 $f^{(n)}$ が連続なとき, $f$ は $C^n$ 級であるという.

任意有限回微分可能な函数を $C^\infty$ 級函数と呼ぶ.

$C^n$ 級函数(class-$C^n$ function)を $C^n$ 函数 ($C^n$-function) と呼ぶことも多い.

問題: 微分可能だが $C^1$ 級でない函数の例を挙げよ.

解答例: 函数 $f$ を

$$ f(x) = \begin{cases} x^2 \sin(1/x) & (x\ne 0) \\ 0 & (x=0) \end{cases} $$

と定める. このとき, $x\ne 0$ ならば $f'(x)=2x\sin(1/x)-\cos(1/x)$ である. そして, $x\to 0$ のとき

$$ \frac{f(x)-f(0)}{x-0}=\frac{x^2\sin(1/x)}{x}=x\sin(1/x)\to 0 $$

なので, $f$ は $x=0$ でも微分可能であり, $f'(0)=0$ である. これで $f$ が微分可能であることがわかった. しかし, $x\to 0$ で $f'(x)$ の中の $\cos(1/x)$ が無限に振動して収束しないので, $f'$ は $x=0$ で不連続である. これで $f$ は $C^1$ 級ではないことがわかった. $\QED$

問題: 上の問題の $x^2\sin(1/x)$ を非負の整数 $n$ に対する $x^n\sin(1/x)$ で置き換えた場合について考えてみよ. その場合に得らえる函数は何回微分可能であるか? 最大回数の微分の結果得られる導函数は連続であるか? まず, $n=0,1,3,4$ の場合について考えてみよ. $\QED$

解答例略.

In [2]:
f(x) = x == 0 ? 0 : x^2*sin(1/x)
g(x) = x == 0 ? 0 : 2x*sin(1/x) - cos(1/x)

p1 = plot(size=(400, 250), xlabel="x", ylabel="y", legend=:topleft)
plot!(f, -0.2, 0.2, ylims=(-0.05, 0.05), label="y = x^2 sin(1/x)")

p2 = plot(size=(400, 250), xlabel="x", ylabel="y", legend=:topleft)
plot!(g, -0.2, 0.2, ylims=(-1.1, 2.0), label="y = 2x sin(1/x) - cos(1/x)")

plot(p1, p2, size=(700, 250))
Out[2]:
-0.15 -0.10 -0.05 0.00 0.05 0.10 0.15 -0.050 -0.025 0.000 0.025 0.050 x y y = x^2 sin(1/x) -0.15 -0.10 -0.05 0.00 0.05 0.10 0.15 -1 0 1 2 x y y = 2x sin(1/x) - cos(1/x)

微分の基本性質

Leibnitz則

微分可能な函数 $f(x)$, $g(x)$ の積 $h(x)=f(x)g(x)$ も微分可能であり,

$$ h'(x) = f'(x) g(x) + f(x) g'(x). $$

証明: $f,g$ は微分可能なので,

$$ \begin{aligned} & f(x+h) = f(x) + f'(x)h + \eps(h)h, \qquad \eps(h)\to 0 \quad (h\to 0), \\ & g(x+h) = g(x) + g'(x)h + \delta(h)h, \qquad \delta(h)\to 0 \quad (h\to 0) \end{aligned} $$

と書ける. ゆえに

$$ \begin{aligned} & h(x+h) = f(x+h)g(x+h) = f(x)g(x) + (f'(x)g(x)+f(x)g'(x))h + \eta(h)h, \\ & \eta(h) = f'(x)g'(x)h + (f(x)+f'(x)h)\delta(h) + (g(x)+g'(x)h)\eps(h) + \eps(h)\delta(h)h \end{aligned} $$

となることを確認できる. そして, $h\to 0$ のとき $\eta(h)\to 0$ なので, $h$ も微分可能で $h'(x)=f'(x)g(x)+f(x)g'(x)$ となることがわかる. $\QED$

問題: 部分可能な函数 $f,g$ について

$$ \left(\frac{d}{dx}\right)^n(f(x)g(x)) =\sum_{k=0}^n \binom{n}{k} f^{(k)}(x) g^{(n-k)}(x) $$

となることを示せ.

解法1: $n$ に関する帰納法. $\QED$

解法2: 二項定理より,

$$ \left(\frac{\partial}{\partial x}+\frac{\partial}{\partial y}\right)^n = \sum_{k=0}^n \binom{n}{k} \left(\frac{\partial}{\partial x}\right)^k \left(\frac{\partial}{\partial y}\right)^{n-k} $$

より, これを $f(x)g(y)$ に作用させると,

$$ \left(\frac{\partial}{\partial x}+\frac{\partial}{\partial y}\right)^n(f(x)g(y)) =\sum_{k=0}^n \binom{n}{k} f^{(k)}(x) g^{(n-k)}(y). $$

以上において $y=x$ と置けば欲しい結果が得られる. $\QED$

合成函数の微分則

微分可能な函数 $f(y)$, $g(x)$ の合成 $h(x)=f(g(x))$ も微分可能であり,

$$ h'(x) = f'(g(x))g'(x). $$

証明: $f,g$ は微分可能なので,

$$ \begin{aligned} & f(y+k) = f(y) + f'(y)k + \eps(k)k, \qquad \eps(k)\to 0 \quad (k\to 0), \\ & g(x+h) = g(x) + g'(x)h + \delta(h)h, \qquad \delta(h)\to 0 \quad (h\to 0) \end{aligned} $$

と書ける. ゆえに $y = g(x)$, $k = g'(x)h + \delta(h)h$ とおくと, $h\to 0$ のとき $k\to 0$ であり,

$$ \begin{aligned} & h(x+h) = f(g(x+h)) = f(y+k) = f(g(x)) + f'(g(x))g'(x)h + \eta(h)h, \\ & \eta(h) = f'(g(x))\delta(h) + \eps(k)(g'(x) + \delta(h)) \end{aligned} $$

であり, $h\to 0$ のとき $\eta(h)\to 0$ となるので, $h$ も微分可能でかつ $h'(x)=f'(g(x))g'(x)$ となることがわかる. $\QED$

平均値の定理

微分可能函数の平均値の定理

平均値の定理: $f$ が微分可能函数ならば, $a<b$ のとき, ある実数 $c$ で

$$ f(b) - f(a) = f'(c)(b - a), \quad a<c<b $$

を満たすものが存在する. $\QED$

証明略. 次の図を見よ.

In [3]:
f(x) = 2 - 3x + x^2
g(x) = x - 2
x = 0.9:0.05:3.1
plot(size=(500,350))
plot!(legend=:topleft)
plot!(x, f.(x), label="y = f(x)")
plot!([1,3], [f(1), f(3)], label="straight line from (a,f(a)) to (b,f(b))")
plot!([1,3], [g(1), g(3)], ls=:dash, label="parallel tangent line")
plot!([2,2], [-1,0], ls=:dash, label="x = c")
Out[3]:
1.0 1.5 2.0 2.5 3.0 -1 0 1 2 y = f(x) straight line from (a,f(a)) to (b,f(b)) parallel tangent line x = c

平均値の定理の不等式版: $f$ は微分可能函数であるとし, $a<b$ であるとする. $a<t<b$ で $|f'(t)|\leqq M$ となっているならば $|f(b)-f(a)|\leqq M|b-a|$ となる.

証明: 平均値の定理より, ある実数 $c$ で $f(b)-f(a)=f'(c)(b-a)$, $a<c<b$ を満たすものが存在する. そのとき

$$ |f(b) - f(a)| = |f'(c)||b-a| \leqq M|b-a|. \qquad \QED $$

平均値の定理はこの不等式版の形式で使われることが多い.

問題: $f$ は微分可能函数であるとし, $a<b$ であるとする. $a<t<b$ で $f'(t)=0$ ならば $f(b)=f(a)$ でなることを示せ.

解答例1: 平均値の定理より, ある実数 $c$ で $a<c<b$, $f(b)-f(a)\leqq f'(c)(b-a)$ を満たすものが存在する. $a<t<b$ で $f'(t)=0$ なので $f'(c)=0$ となるので, $f(b)-f(b)=f'(c)(b-a)=0$ である. ゆえに $f(b)=f(a)$ となる. $\QED$

解答例2: $a<t<b$ で $|f'(t)|=0$ なので, 平均値の定理(の不等式版)より, $|f(b)-f(a)|\leqq 0|b-a|=0$. ゆえに $f(b)=f(a)$ となる. $\QED$

上の問題の結果は, 導函数が恒等的に $0$ になる微分可能函数は定数函数になることを意味している.

問題: $f$, $g$ は区間 $I$ 上の微分可能函数であるとする. 区間 $I$ 上で恒等的に $f'=g'$ ならば $f-g$ は区間 $I$ 上の定数函数になる.

解答例: $h=f-g$ とおくと, 区間 $I$ 上で恒等的に $f'=g'$ ならば区間 $I$ 上で恒等的に $h'=0$ となるので, 上の問題の結果より, $h$ は区間 $I$ 上の定数函数になる. $\QED$

$C^1$ 級函数の積分版平均値の定理

平均値の定理の積分版: $a<b$ であるとする. 閉区間 $[a,b]$ 上の $C^1$ 級函数 $f$ について

$$ f(b) - f(a) = \int_a^b f'(t)\,dt. \qquad\QED $$

証明略.

多くの議論を微分可能性の仮定だけで実行可能なのだが, 導函数が連続函数になるとは限らないので, 議論が技巧的になってしまう傾向がある. そうなることを避けたければ $C^1$ 級まで仮定を強めた方がよい. 平均値の定理の積分版の式は積分について知っている人ならばみんな知っている公式に過ぎない.

解析学ユーザー的には $C^1$ 級まで条件を強めても困ることはない.

平均値の定理の不等式版: $f$ は $C^1$ 級函数であるとし, $a<b$ であるとする. $a<t<b$ で $|f'(t)|\leqq M$ となっているならば $|f(b)-f(a)|\leqq M|b-a|$ となる.

証明: $$ |f(b) - f(a)| = \left|\int_a^b f'(t)\,dt\right| \leqq \int_a^b|f'(t)|\,dt \leqq \int_a^b M\,dt = M|b-a|. \qquad\QED $$

中間値の定理から導かれる補題: $a<b$ であるとする. 閉区間 $[a,b]$ 上の実数値連続函数 $g(t)$ に対して, ある実数 $c\in[a,b]$ で

$$ \int_a^b g(t)\,dt = g(c)(b-a) $$

を満たすものが存在する. (数値例が下の方で計算されている.)

証明: $[a,b]$ 上での $g(t)$ の最小値と最大値をそれぞれ $g(\alpha)$, $g(\beta)$ ($\alpha,\beta\in[a,b]$) と書くと,

$$ \int_a^b g(t)\,dt \geqq \int_a^b g(\alpha)\,dt = g(\alpha)(b-a), \quad \int_a^b g(t)\,dt \leqq \int_a^b g(\beta)\,dt = g(\beta)(b-a) $$

より

$$ g(\alpha) \leqq \frac{1}{b-a}\int_a^b g(t)\,dt \leqq g(\beta). $$

ゆえに, 中間値の定理より, ある実数 $c\in[a,b]$ で

$$ g(c) = \frac{1}{b-a}\int_a^b g(t)\,dt, \quad\text{すなわち}\quad \int_a^b g(t)\,dt = g(c)(b-a) $$

を満たすものが存在する. $\QED$

上の中間値の定理から導かれる補題を平均値の定理の積分版に適用すると次が得られる.

平均値の定理の積分版2: $a<b$ であるとする. $f$ が $[a,b]$ 上の実数値 $C^1$ 級函数ならば, ある実数 $c\in[a,b]$ が存在して,

$$ f(b) - f(a) = \int_a^b f'(t)\,dt= f(c)(b-a). \qquad\QED $$

In [4]:
# 中間値の定理の証明に使われる二分法の函数としての実装
function bisection(f, a, b; atol=eps(), maxiter=10^3)
    f(a)*f(b) > 0 && return NaN
    aₙ, bₙ = a, b
    k = 0
    while abs(aₙ - bₙ) > atol
        k > maxiter && return NaN
        c = (aₙ+bₙ)/2
        if f(bₙ)*f(c)  0
            aₙ, bₙ = aₙ, c
        else
            aₙ, bₙ = c, bₙ
        end
        k += 1
    end
    return (aₙ+bₙ)/2
end

# 中間値の定理から導かれる補題を次の g(x) と a,b に適用してみる.
g(x) = 5 + x + 2sin(x)
a, b = -3, 5
x = a:0.05:b

t = symbols("t", real=true)
@show g(t)
@show S = integrate(g(t), (t,a,b))
@show S = N(S)

h(x) = g(x) - S/(b-a)
@show h(t)
@show c = bisection(h, a, b)

plot(size=(400,250), legend=:topleft)
plot!(xlims=(a-0.5, b+0.5), lims=(0,9))
plot!(x, g.(x), label="int_a^b g(t) dt", fill=(0, 0.2))
plot!([c,c], [0,g(c)], ls=:dash, label="x = c")
plot!(x, fill(g(c), length(x)), fill=(g, 0.5), color=:pink, label="")
g(t) = t + 2*sin(t) + 5
S = integrate(g(t), (t, a, b)) = 2*cos(3) - 2*cos(5) + 48
S = N(S) = 45.452690635872656
h(t) = t + 2*sin(t) - 0.681586329484082
c = bisection(h, a, b) = 0.22851790816319195
Out[4]:
-2 0 2 4 0 3 6 9 int_a^b g(t) dt x = c

Cauchyの平均値の定理

Cauchyの平均値の定理: $f(t)$, $g(t)$ は微分可能函数であるとし, $a<b$ であるとし, $f(b)\ne f(a)$ であると仮定する. このとき, ある実数 $c$ で

$$ \frac{g(b)-g(a)}{f(b)-f(a)} = \frac{g'(c)}{f'(c)}, \quad a<c<b \tag{$*$} $$

を満たすものが存在する. $\QED$

証明略.

$(f(t), g(t))$ の描く軌跡は平面上の曲線になる. ($*$) の最初の式の左辺は, 曲線上の点 $(f(a),g(a))$, $(f(b), g(b))$ を通る直線の傾きになる. その直線を平行移動して曲線に接するようにできる. 接点 $(f(c), g(c))$ における測度ベクトル $(f'(c), g'(c))$ の傾きが ($*$) の最初の式の右辺になる.

問題: 図を描いてみよ. $\QED$

In [5]:
f(t) = t/2
g(t) = 2 - 3t/2 + t^2/4
h(x) = x - 2
t = 1.8:0.05:6.2
plot(size=(500,350))
plot!(legend=:topleft)
scatter!([f(2)], [g(2)], markersize=3, label="(f(a),g(a))")
scatter!([f(6)], [g(6)], markersize=3, label="(f(b),g(b))")
plot!(f.(t), g.(t), label="(f(t),g(t))")
plot!([f(2),f(6)], [g(2), g(6)], label="")
plot!([1,3], [h(1), h(3)], ls=:dash, label="")
scatter!([f(4)], [g(4)], markersize=3, label="(f(c),g(c))")
plot!([2,2.5], [h(2), h(2.5)], line=:arrow, lw=2, label="velocity vector (f'(c),g'(c))")
Out[5]:
1.0 1.5 2.0 2.5 3.0 -1 0 1 2 (f(a),g(a)) (f(b),g(b)) (f(t),g(t)) (f(c),g(c)) velocity vector (f'(c),g'(c))