微積の基本定理と記号操作と、問屋卸さず

$\dagger$ 微分の世界

微分を中心に世界をみると \begin{align} \frac{df(x)}{dx} = f^\prime(x) \label{e1} \end{align} といったような感じで $f^\prime(x)$ が $f(x)$ から導かれる。文字通り「導関数」である。この形では、2つの関数 $f(x)$ と $f^\prime(x)$ が微分演算で結びついていると捉えられる。

$\dagger$ 不定積分の世界

不定積分を中心に世界をみると、$C$ を任意の定数として \begin{align} \int f^\prime(x)\,dx = f(x) + C \label{e2} \end{align} といったような感じで $f(x)$ が $f^\prime(x)$ から導かれる。$C$ の任意性から、この積分については「不定」ということばが被せられている。そしてこの不定積分の結果が「原始関数」と呼ばれる。$f(x)$ は $C=0$ のときの原始関数である。この形では、2つの関数 $f(x)$ と $f^\prime(x)$ が積分演算で結びついていると見做せる。

$\dagger$ 世界の融合

\eqref{e1} と \eqref{e2} を融合する。この融合に際しては、微分演算は分配可能であり、かつ、定数の微分は $0$ であることを前提として丁寧に書けば \begin{align*} \frac{d}{dx}\left\{\int f^\prime(x)\,dx\right\} = \frac{d}{dx}\bigl(f(x) + C\bigr) = \frac{d}{dx}f(x) = f^\prime(x) \end{align*} であり、簡潔に書けば \begin{align*} \frac{d}{dx}\left\{\int f^\prime(x)\,dx\right\} = f^\prime(x) \end{align*} である。これは、微分の世界(導関数)と不定積分の世界(原始関数)が融合された結果であり、ときとして「微分積分学の基本定理」と仰々しく呼ばれることがある。

$\dagger$ 記号の操作から

さて、かつては教室で \begin{align*} \frac{df(x)}{dx} \; \text{は分数ではありません} \end{align*} となんども言われたけど、もう大人になったので \eqref{e1} から \begin{align*} df(x) = f^\prime(x)\,dx \end{align*} という変形ができることを認めてしまう。分数でないにしても、これくらいはいいだろう(と思う。きっとどこかでこの論法の正当性が保証されているに違いあるまい)。そして両辺に不定積分を施すと \begin{align*} \int df(x) = \int f^\prime(x)\,dx \end{align*} と書ける(これについても、厳密な正当性の保証がどこかでなされているに違いない)。ここに \eqref{e2} を適用すれば \begin{align} \int df(x) = f(x) + C \label{e3} \end{align} である。野次馬的にみると、$df(x)$ を積分すれば $f(x)$ つまり自分自身(+定数)になるのである。ほほう、しめしめ。

$\dagger$ 問屋は簡単には卸さない

多変数関数になると全微分と呼ばれる量を取り扱うようになるが、その量にたいして、今までの理路を演繹できるのでは、という邪念が走った。この邪念について、2変数関数の例でいくつか考えてみる。

$f(x, y) = x^2 + y^2$ のとき、全微分は \begin{align*} df(x, y) = \frac{\partial f}{\partial x}dx + \frac{\partial f}{\partial y}dy = 2xdx + 2ydy \;. \end{align*} よって、 \begin{align*} \int df(x, y) = \int(2xdx + 2ydy) = \int 2xdx + \int 2ydy = x^2 + y^2 + C \end{align*} と、全微分を不定積分すれば自分自身(+定数)になる。とはいえ、この積分に分配法則を無邪気に適用していいのか、というくらいの注意力は必要だろう。

さらには、$f(x, y) = xy$ となると \begin{align*} df(x, y) = ydx + xdy \end{align*} だから \begin{align*} \int df(x, y) = \int ydx + \int xdy = 2xy + C \end{align*} となって、積分の分配を認めたとしても、自分自身(+定数)にはならない。

したがって、最初の例は「たまたまそうなった」という結果オーライの例なのであろう。そもそも2変数関数の不定積分(原始関数)というものがはっきりしないのに、1変数関数の場合にしめしめと味をしめて、$\int df = f + C$ がいつでも成立する、などというホラは御法度であり、そうは問屋が卸さないのである(というか、問屋の前での門前払いか)。

exec /gns3/init.sh: no such file or directory

(FB に載せたものを、こちらにも載せておく ことにした)


手元の M1 Macbook にスタンドアロンで使える GNS3 環境を用意しようと思い立ち、

- VMWare Fusion + GNS3 VM で gns3server を構築
- GNS3 クライアント(フロントエンドといったほうがいいかも)としては GNS3.app を使用
という環境を構築して、いろいろと学習していた。複雑なことをやろうとすると、備えつけのサーバイメージである VPCS では機能不足であり(なにせ、ネットワークインタフェースがひとつしか持てない)、知り合いから GNS3 の Docker container の設定で Alpine Linux が動かせることを教えてもらっていたので導入した。導入それ自身は問題なく進んだのだけれど、その Alpine を GNS3 上で「電源投入」すると
exec /gns3/init.sh: nosuch file or directory
と言われてしまう。なんどやっても同じだ。電源が投入できないことには、コンソールも立ち上げられない。その先に何も進めない。
このエラーメッセージとは、もう何十年という古い付き合いであるのだけれど、VMWare + Docker container という環境の中で出てくると検討がつかない。そもそも /gns3 なんてファイルシステムどこにあるんだ?まそんな感じで暮れた途方であった。
わたくしの知識だけではまったく埒が開かないので、検索をしていたら https://github.com/GNS3/gns3-server/issues/2069 での議論に行き当たった。結論としては、Docker container で動く busybox というコマンドが M1 用(ARM64 用?)のものではないのだ、それを入れ替えよ、ということであった。とはいえ「GNS3 VM は M1 用のものをいれていたのだけどなぁ」という魂の U2 的叫びのもと、よく読んでみると、Docker container の環境は、直接の GNS3 VM 配下から独立したものであるらしく、そこには別の busybox があるとのこと。そしてこいつが M1 対応ではないものらしい。ということで、GNS3 VM のものである /usr/bin/busybox をそちらにもコピーする、つまり GNS3 VM にログインして
$ sudo cp /usr/bin/busybox /usr/local/lib/python3.8/dist-packages/gns3server/compute/docker/resources/bin
を実行せよということであった。わたくしが利用した GNS3 VM は ARM 版が出ている最新のものであったのだけれど、そこにはこのようなバグが入っている。次の版からはこういう問題には遭遇しないだろうね。
結果、万事丸くお開きになったのだけど、いやあ、なんだよ busybox って。それに Docker の仕掛け仕組み動作構造が全くわかっておらん。うーみゅ、凹むなぁ。とはいえ、同じ沼にはまる人がいるかもしれないで、対応方法だけをかかせていただきました。でもこの内容 Facebook 向きとは言えないですね。Facebook 的には長すぎるきらいがあるし。どういう場がいいのだろう(note や Qiita もちと考えたのだけど‥‥)。
なお、VMWare Fusion Player 上での GNS3 VM の設定については https://qiita.com/tarachan291/items/b16bdea5a0a1888a641d が丁寧であり、
GNS3 の Docker container を利用した Alpine Linux のインストールについては https://www.n-study.com/.../how-to-add-docker-container.../ が非常に有用です。ご参考まで。

導関数の書き方

またもや書き方のこだわりについてである。相手は「導関数」。この言葉からも明らかなように、これは関数なのであるからして、関数への入力となる変数も決まっているだろう。関数が $f$ で変数が $x$、つまり関数が $f(x)$ と丁寧にあらわされるときに、導関数は次のように書かれることが多い: \begin{align*} \text{$f(x)$ の導関数} \equiv \frac{df(x)}{dx} \equiv \frac{d}{dx}f(x) \end{align*} 関数がぶっきらぼうに $f$ とだけ書かれていても、導関数は通常 \begin{align*} \text{$f$ の導関数} \equiv \frac{df}{dx} \equiv \frac{d}{dx}f \end{align*} のようにも書かれる。ここで見た目から効いてくるものは $dx$ という「微分量」で、これがある意味 $f$ の変数は $x$ であるということを示唆している。ここが $du$ であったら、関数 $f$ の変数は $u$ である、ということが暗黙に諒解される。

蛇足だけれど \begin{align*} \frac{d}{dx}f(x),\quad \frac{d}{dx}f \end{align*} という書き方には、ちょっと大人の気分が入っていて、$d/dx$ が独立して存在しているというようなメッセージが込められているように思える。ここから「演算子」というものへの道が見えてくる。

さていま関数 $f$ が \begin{align*} f = u^3x^2 + 2u^2 + x \end{align*} であるときを考えてみる。導関数の計算では、変数以外は定数であるとみなされるので、 \begin{align*} \frac{df(x)}{dx} = 2u^3x + 1 \;, \quad \frac{df(u)}{du} = 3u^2x^2 + 4u \end{align*} といった結果になる。つまり、導関数は、変数がはっきりしないと確定しないのだ。そしてここからが厄介なところなのだが、文脈からして変数は自明、みたいな状況があって、そのときには、導関数は $f^\prime$ のようにあらわされることがある。もちろん $f^\prime(x)$ もある(数学に限らず、物理とか化学の本を読んでいると、「$f$ とほんのちょっと違うものを $f^\prime$ とする」などという場合もあって、導関数の分別の厄介さに輪がかかる)。

ここで関数の気持ちになってみる。

「変数の記号がなんであれ、私という関数は関数として存在しているのだから、その導関数も存在している」
その主張が込められている書き方が、もしかすると、$f^\prime$ なのかもしれない、という屁理屈が浮かぶ。とはいえ、変数が決まらないと関数の形は書き表せないということもまたひとつの事実。関数と変数の関係は、持ちつ持たれつという感じである。

「文脈に依存する」「文脈を見れば明らかだ」というような方便が世の中にはある。なにを変数としているかは、「文脈を見れば明らか」なので、その変数で微分しているものが $f^\prime$。ま、そういう「文脈」を取り込んだ書き方なんだろうと思えば良いだろう。「文脈」が明らかでない場合には、変数を明示的に示して \begin{align*} \frac{df(x)}{dx} \;, \quad f^\prime(x) \end{align*} とするのが安全な処方なのであろう。

こういう事柄に変にこだわるところが、わたくしの切れ味の鈍さなんだろうと思うと、ちょっとへこむけれども、ま、しょうがない。

関数と変数の書法

ここ何回か無味乾燥な計算結果をかいてきたので、今回はちと趣向を変えて関数の書き方についての思うところを。

「関数」とは何か、と大きく出るといろいろやけどをしそうなので、いまここでは、関数のイメージのひとつである \begin{align*} \text{数を入力すると数を返すものが「関数」である} \end{align*} を採用することにしよう。そしてこのように定められた関数それらを、まずは $f,\, g,\, h$ という文字であらわすことにする。そして「数」を $x,\, y$ などであらわすことにする。この表記を採用すると、上に書いた関数のイメージは、図式的に次のように書きあらわすことができるだろう: \begin{align*} x \;\stackrel{f}\longmapsto\; y \quad\text{または}\quad f: x \;\longmapsto\; y \end{align*} $x$ は入力される「数」を代表したものであり、$y$ は関数 $f$ の働きによって返された「数」である。$x$ は一応どんな数であっても良いはずだから、その含みも込めて、「変数」と呼んだりする。

関数と変数の仲の良さを見せつけるときには \begin{align*} y = f(x) \end{align*} と書く。仲の良さをあらわすこの $f(x)$ という書き方は、$x$ が関数の入力となる「変数」であるということを主張していると捉えてもいい。特段に仲の良さを見せつける必要などない場合には、単に $f$ とだけ書けばいいだろう。「関数 $f$ と $g$ を加えると‥‥」といった具合にである。

このイメージをキープしつつ歳を重ねて行けば、どんな文字で関数や変数があらわされていても、動じなくなるはずである。実際に関数については、ギリシア文字 $\psi$ や $\phi$ などが使われるし、変数だって $\omega$ や $\lambda$ などよりどりみどりである。ただそこにも慣習というものがあって、関数を $x$、変数を $f$ として $x(f)$ という形になると、違和感は満載である。

さてここで、関数 $f$ が \begin{align*} u^3x^2 + 2u^2 + x \end{align*} というものだったとすると、はてさてこれは一体何が変数なのであろうか。その解釈は、実際にはその時の立場による。つまり $x$ を変数として捉えたいのであれば $f(x)$。$u$ を変数として捉えたいのであれば $f(u)$。両方とも変数ならば、$f(u, x)$。そう解釈すればいい(お、珍しくそれなりに上出来な説明になっていまいか?)。

ガウス積分に微分と積分の順序交換を適用する

著名なガウス積分に、微分と積分の順序交換を適用して、計算をしてみる。まずガウス積分そのものは \begin{align*} \int_\infty^\infty e^{-\alpha x^2}\,dx = \sqrt{\frac{\pi}{\alpha}} = \sqrt{\pi}\alpha^{-\frac{1}{2}} \quad (\alpha \gt 0) \end{align*} であるから、これの両辺を $\alpha$ で微分することによって \begin{align*} &\frac{d}{d\alpha}\int_\infty^\infty e^{-\alpha x^2}\,dx = \int_\infty^\infty \frac{\partial}{\partial \alpha}e^{-\alpha x^2}\,dx = \int_\infty^\infty -x^2e^{-\alpha x^2}\,dx \;, \\ &\frac{d}{d\alpha}\left(\sqrt{\pi}\alpha^{-\frac{1}{2}}\right) = -\frac{1}{2}\sqrt{\pi}\alpha^{-\frac{3}{2}} \end{align*} が得られる。したがって \begin{align*} \int_\infty^\infty x^2e^{-\alpha x^2}\,dx = \frac{1}{2}\sqrt{\pi}\alpha^{-\frac{3}{2}} \;. \end{align*} 同様に繰り返すと、 \begin{align*} &\frac{d}{d\alpha}\int_\infty^\infty x^2e^{-\alpha x^2}\,dx = \int_\infty^\infty \frac{\partial}{\partial \alpha}\left(x^2e^{-\alpha x^2}\right)\,dx = \int_\infty^\infty -x^4e^{-\alpha x^2}\,dx \;, \\ &\frac{d}{d\alpha}\left(\frac{1}{2}\sqrt{\pi}\alpha^{-\frac{3}{2}}\right) = -\frac{1}{2}\cdot\frac{3}{2}\cdot\sqrt{\pi}\alpha^{-\frac{5}{2}} \end{align*} であることから \begin{align*} \int_\infty^\infty x^4e^{-\alpha x^2}\,dx = \frac{1}{2}\cdot\frac{3}{2}\cdot\sqrt{\pi}\alpha^{-\frac{5}{2}} \;. \end{align*} もう一度繰り返せば \begin{align*} &\frac{d}{d\alpha}\int_\infty^\infty x^4e^{-\alpha x^2}\,dx = \int_\infty^\infty \frac{\partial}{\partial \alpha}\left(x^4e^{-\alpha x^2}\right)\,dx = \int_\infty^\infty -x^6e^{-\alpha x^2}\,dx \;, \\ &\frac{d}{d\alpha}\left(\frac{1}{2}\cdot\frac{3}{2}\cdot\sqrt{\pi}\alpha^{-\frac{5}{2}}\right) = -\frac{1}{2}\cdot\frac{3}{2}\cdot\frac{5}{2}\cdot\sqrt{\pi}\alpha^{-\frac{7}{2}} \;, \end{align*} \begin{align*} \therefore\; \int_\infty^\infty x^6e^{-\alpha x^2}\,dx = \frac{1}{2}\cdot\frac{3}{2}\cdot\frac{5}{2}\cdot\sqrt{\pi}\alpha^{-\frac{7}{2}} \;. \end{align*} 以上より、自然数 $n$ を用いて一般化することができて、 \begin{align*} \int_\infty^\infty x^{2n}e^{-\alpha x^2}\,dx = \frac{1}{2}\cdot\frac{3}{2}\cdot\frac{5}{2}\cdots\frac{2n-1}{2}\sqrt{\pi}\alpha^{-\frac{2n+1}{2}} \;. \end{align*}

馴染みの形式に持っていくと、$n=0$ のときはガウス積分そのもので \begin{align*} \int_\infty^\infty e^{-\alpha x^2}\,dx = \sqrt{\pi}\alpha^{-\frac{1}{2}} = \sqrt{\frac{\pi}{a}} \end{align*} である。$n=1$ のときは \begin{align*} \int_\infty^\infty x^2e^{-\alpha x^2}\,dx = \frac{1}{2}\sqrt{\pi}\alpha^{-\frac{3}{2}} = \frac{1}{2}\cdot\frac{1}{a}\sqrt{\frac{\pi}{a}} \end{align*} であり、$n=2$ のとき \begin{align*} \int_\infty^\infty x^4e^{-\alpha x^2}\,dx = \frac{1}{2}\cdot\frac{3}{2}\cdot\sqrt{\pi}\alpha^{-\frac{5}{2}} = \frac{1}{2}\cdot\frac{3}{2}\cdot\frac{1}{\alpha^2}\sqrt{\frac{\pi}{a}} \end{align*} $n=3$ のとき \begin{align*} \int_\infty^\infty x^6e^{-\alpha x^2}\,dx = \frac{1}{2}\cdot\frac{3}{2}\cdot\frac{5}{2}\cdot\sqrt{\pi}\alpha^{-\frac{7}{2}} = \frac{1}{2}\cdot\frac{3}{2}\cdot\frac{5}{2}\cdot\frac{1}{\alpha^3}\sqrt{\frac{\pi}{a}} \end{align*} などと求められるのである。


この積分にわたくしが出会ったのは、詳解 物理応用数学演習 の 86 ページの演習問題であった。もちろん各方面各所の教科書にも載っているに違いない。

$n!$ を積分であらわす(微分と積分の順序交換版)

以前この blog で微分と積分の順序交換について書いたけれど、その順序交換 \begin{align*} \frac{d}{d\alpha} \int_R f(\alpha, x)\, dx = \int_R \frac{\partial}{\partial \alpha}f(\alpha, x)\,dx \end{align*} が成り立つことを想定しておこう。そしてまずはじめに $\int_0^\infty e^{-\alpha x}\,dx\;\;(\alpha > 0)$ を計算する。これはなんの特別な技術をも使わず素直に \begin{align} \int_0^\infty e^{-\alpha x}\,dx = \left[ -\,\frac{1}{\alpha}e^{-\alpha x}\right]_0^\infty = \alpha^{-1} \label{eq1} \end{align} ともとまる。ここで左辺を $\alpha$ で微分するのだけれど、そこに上記の微分と積分の順序交換の関係を適用すれば \begin{align*} \frac{d}{d\alpha}\int_0^\infty e^{-\alpha x}\,dx = \int_0^\infty \frac{\partial}{\partial \alpha}e^{-\alpha x}\,dx = \int_0^\infty -xe^{-\alpha x}\,dx \end{align*} となる。\eqref{eq1} の右辺を $\alpha$ で微分すれば、これは通常の素直な微分操作で \begin{align*} \frac{d}{d\alpha}\left(\alpha^{-1}\right) = -\alpha^{-2} \end{align*} であるから、結果として次の関係が得られる: \begin{align*} \int_0^\infty xe^{-\alpha x}\,dx = \alpha^{-2} \;. \end{align*} 同様の手順をもう一度繰り返すと \begin{align*} &\frac{d}{d\alpha}\int_0^\infty xe^{-\alpha x}\,dx = \int_0^\infty \frac{\partial}{\partial \alpha}\left(xe^{-\alpha x}\right)\,dx = \int_0^\infty -x^2e^{-\alpha x}\,dx\;, \\ &\frac{d}{d\alpha}\left(a^{-2}\right) = -2a^{-3} \end{align*} であるから \begin{align*} \int_0^\infty x^2e^{-\alpha x}\,dx = 2a^{-3} \;. \end{align*} 少しくどいかもしれないが、もう一度やってみると \begin{align*} &\frac{d}{d\alpha}\int_0^\infty x^2e^{-\alpha x}\,dx = \int_0^\infty \frac{\partial}{\partial \alpha}\left(x^2e^{-\alpha x}\right)\,dx = \int_0^\infty -x^3e^{-\alpha x}\,dx\;, \\ &\frac{d}{d\alpha}\left(2\alpha^{-3}\right) = -6\alpha^{-4} \end{align*} であるので \begin{align*} \int_0^\infty x^3e^{-\alpha x}\,dx = 6\alpha^{-4} \;. \end{align*} これを繰り返していくことにより、 \begin{align*} \int_0^\infty x^ne^{-\alpha x}\,dx = n!\alpha^{-(n+1)} \end{align*} が得られる(どうしても「きちんと」したい、という方は、数学的帰納法を使うがよろしい)。そして最後に $\alpha=1$ とすれば \begin{align*} \int_0^\infty x^ne^{-x}\,dx = n! \end{align*} となる。当然のことながら、積分の漸化式を利用して求めた前の blog の結果と一致している。


この例は ふたりの微積分 という本でも紹介されている(もちろん他にもいろんな本で用いられているだろう)。そこではこの計算の骨格を『積分記号下の微分』と言っており、また偏微分記号 $\partial$ はつかわず、通常の $d$ が使われている。