eくんは素直でいい子
初めは確率の話を書くつもりだったはずなんですよね……。
「SSRが1/10の確率で出るガチャがあるとします」
部長は唐突にそんな話を始めた。
「それを10回回した時にSSRが出る確率は?」
部長がそう問うたのは僕たち文芸部の残りの3人。式自体は簡単なのでとりあえず答える。
「1-(9/10)^10 ですね」
「それ、何%くらい?」
9^10なんて覚えているわけもなく、自分で計算するのも嫌気がさすので、スマホの電卓機能に頼る。関数電卓の機能があるってとても便利だ。
「だいたい65%ですね」
スマホには0.65132156と表示された。まぁ、そんなものか。
「で、65%をハズして、キレて、机蹴って、『ぐぁああ』とか叫ぶ?」
どうも、部長のクラスにそんな奴がいたらしい。
「65%をハズしたって思うとそうでもないっすけど、1/10を10回ハズしたってことだと、乱心する気持ちもわからなくはないっす」
「なんで? それって両方とも確率的にはほぼ一緒でしょ?」
部長としては納得しかねるのだろう。65%を1回ハズすのと、10%を10回ハズすのは確率的にはほとんど同じ。いや。
「そのガチャは、前の試行と独立じゃないとかはありませんか? ハズレを引くたびに確率にブーストがかかる感じで。それだと、10回連続でハズす確率は65%よりかなり低くなり得ます」
ソシャゲの中には、そういったシステムをガチャに採用しているものもあったはずだ。
「あっ、なるほど。大くんが同じゲームやってたと思うんだよね。なんか、ライオンの化け物みたいなのが出てくるやつ」
大白先輩がアプリを開き、「これっすか?」と訊くと、「うん、それ」と部長は答えた。
「これのガチャはたぶん独立試行だと思うっす。乱数の取り方が公開されてるわけじゃないんで、絶対とは言わないっすけど」
「少なくともユーザー視点では独立ってことだね。ならやっぱり、10回ハズすのは約65%じゃん」
「確率的にはそうっすけど、なんか、確率1/nのことってn回やれば当たる気しないっすか?」
部長は「しない」と即答した。
「えっと、確率1/nの試行をn回やって1回でも当たる確率は」
部長はノートを広げ、式を書く。部長は使い道を定めない自由帳とも言うべきノートを持ち歩いている。その中身はなかなかにカオスだ。
「1 - {(n-1)/n}^n . これはすぐにわかるよね。これが1に近い感じがするってことは、{(n-1)/n}^nを0に感じてるってこと?」
「いや、そういうわけじゃないと思うっすけど……。なんか、確率1/nって言われると、n個の中から1個を取り出すって思っちゃうんだと思うんすよ。だと、n回取り出せば、絶対に当たりを引くっていう」
大白先輩の言葉に、部長はもちろん納得しない。
「それ、独立試行じゃないじゃん! 2回目の確率1/(n-1)で、n回目は1じゃん! そりゃ当たるよ! 確率1だもん」
「いや、実際には独立試行なんでそうはならないっすけど、そんな気持ちになっちゃうって話で」
「確率なんて、中学で習うよね? 数Aでは間違いなくやる」
部長は頑として、そういうものかと納得しない。
「真白先輩、確率1/nの操作をn-1回ハズした後で、同じ操作をして当たる確率はいくつですか?」
紅林さんが突然部長にそう尋ねた。
「1/nだよ、当たり前」
「はい、そうです。でも、多くの人が、これだけハズしたんだから次は当たるだろうとか、逆に、これだけハズしたんだから次もハズれるだろうとか思うと言われています。これを」
「ギャンブラーの誤謬だよね。でも、なんか納得いかないんだよね。わたしたちは確率っていう便利な道具を知ってるんだよ? なんでそれで考えないの?」
確率を計算すればいいのにと言われても、一々そんなことするかと言われればしない。部長への返答に紅林さんは困っているようだったので、テキトーに茶々を入れる。
「電卓を取り出すのが面倒だからじゃないですか?」
「今回の場合なら、nが十分大きいなら、概算くらい暗算で簡単にできるでしょ? 67%より小さいことはすぐにわかる」
部長の容易にわかるは、多くの人にとっては容易にはわからない。さて、67って数字はどこから出てきた?
考えている確率は1-{(n-1)/n}^n. nが十分大きい時って言っている以上、極限を考えるんだろう。
{(n-1)/n}^n
=(1-1/n)^n
これに似た形にはかなり見覚えがある。(1+1/n)^n. これのnを無限大に飛ばした時の極限が、いわゆる自然対数の底であるeってやつだ。これを使うんだろう。少し考えてみる。考えないといけない時点で、すぐにはわかっていない。
(1-1/n)^n
=[{1+1/(-n)}^(-n)]^(-1)
→1/e (n→∞)
こうか。eの近似値は2.71828. すると、nが十分大きい、つまり、考えたい確率が収束値に十分近いとき、
1-1/e
<1-1/3
<1-0.33
=0.67
この計算が、部長の中ではすぐにわかると。ただ、n=2の時は75%になるとそれこそすぐにわかるように、nが十分大きいの十分大きいってのがどれくらいなのかを考えないといけない。
「これって、どれくらいの速さで収束するんですか?」
「うーんと、……これ、収束値0.63ちょっとだよね、n=10で2桁いってないのか、案外遅いね。これだと、n=10くらいだと、直感的に1-1/3で抑えられるとは言えないかも。うーん、電卓を取り出すのが面倒かぁ、本当にそうなのかも……」
僕がテキトーに言ったことに、部長はなぜか納得しかけていた。実際のところがどうであれ、部長が納得するならそれでいいか。
「あの、0.63という数字はどこから?」
申し訳なさそうに紅林さんが尋ねた。僕と紅林さんはまだ1年生なわけで、eの定義式や近似値を知らなくても別に普通だ。僕が知っていたのは初学者向けの数学本を読むのが好きだからに過ぎない。
「だって、これ、1-1/eに収束するでしょ。で、それを計算すると0.63212くらい、ほら」
部長は僕と同じくスマホの電卓で計算した結果を紅林さんに見せた。
「eって、無理数の例としてπと一緒によく書いてあるものですよね?」
「あー、そういえば、eって習うの数IIIだっけ。無理数っていうより、超越数の例としてπと一緒に書かれることが多いかなぁ。よくあるeの紹介の話をしよう。
1年で利息が100%つく銀行があるとします」
その一言で、大白先輩は「あぁ」と呟いて小さく頷いた。僕もこの例は知っている。確かに、よくあるeの紹介だ。
「この利息は引き出す時に、預けていた時間に対して連続的につくことにします。つまり、1年で100%、パーセントで話すの面倒だから以下分数にして、1年で1倍の利息がつくなら、半年、つまり1/2年では1/2倍の利息がつくことになるの。1/n年なら1/n倍の利息がつく。わかった?」
「えっと、たぶんわかりました」
紅林さんは少し不安げに言う。
「じゃ、実際にちょっと計算してみよっか。1円を預けたとして、そのまま1年後に引き出したらいくらになる?」
「2円です」
「うん。利息が1円で元金と合わせて2円。じゃあ、1/2年の時点で1回引き出してすぐに預け直す。そして、また1/2年後、つまり最初に預けてから1年後に引き出すといくら?」
「えっと、半年でつく利息が1/2円なので、半年後の時点で3/2円になって、さらにその1/2倍が次の半年で利息になるので、3/2+3/4で、9/4円になります」
「そうそう。2円よりちょっと増えたよね。すると、途中で引き出す回数を増やせば、1年後に手に入るお金が増えるんじゃないかと思うわけだよ。じゃ、n回引き出すといくらになるかな? はい」
部長は笑顔で紅林さんにノートを渡した。これ、文芸部内だからいいが、普通に友人にやったら嫌われそうだ。幸い、紅林さんは部長に嫌そうな顔もせずにノートに式を書き始めた。
『1+1/n+(1/n)(1+1/n)+(1/n){1+1/n +(1/n)(1+1/n)}+……+(1/n){1+1/n +(1/n)(1+1/n)+……}』
「あー、あってはいると思うけど、これだと扱いづらいから、漸化式で書こう」
部長はそう言ったが、漸化式を習うのは数Bで2年だ。案の定、紅林さんは「えーと」と困ったような声を出したが、案外漸化式についてはなんとなく知っていたようで手は動いた。
『(a_m+1)=(1/n)Σ[k=1→m](a_k)』
「こうですか?」
「そうそう。m個までの和を(S_m)とするとさ、わたしたちが知りたいのは(S_n+1)で」
『(S_n+1)
=Σ[k=1→n+1](a_k)
=(a_n+1)+Σ[k=1→n](a_k)
=(a_n+1)+(S_n)』
「こうできるよね?」
「n+1……あっ、はい、元金1を入れてn+1個ですね」
「k=0からの方が普通だけど、今は紅ちゃんが書いた式に合わせて1からn+1個。で、紅ちゃんの書いた漸化式を使ってあげると」
『=(1/n)(S_n)+(S_n)
=(1+1/n)(S_n)』
「これで、おんなじ様に今度は(S_n)を(S_n-1)にして、(S_n-2)にしてって、(S_1)になるまでのn回繰り返すと」
『={(1+1/n)^n}(S_1)』
「で、今、(S_1)=(a_1)=1だから」
『=(1+1/n)^n』
もはや銀行の話はどこへ行ったという感じだが、この(1+1/n)^nがn回引き出した時に手に入る金額だ。
「さて、わたしたちは銀行に預けたお金を出来るだけ大きくしたい。で、n回引き出すと(1+1/n)^n円になる。これって、nを大きくすると本当に大きくなるのかってのが次の問題」
「(1+1/n)^nと{1+1/(n+1)}^(n+1)では、後の方が大きいってことですね」
「そうそう。さて、紅ちゃんならどうやってそれを示す?」
部長はニヤリと試すような笑みを浮かべて紅林さんに尋ねた。この人、性格が悪いと思う。教師になったら嫌われること間違いなしだ。
「引き算は辛そうなので、比を取って1との大小比較でしょうか?」
「なるほどー。じゃ、蒼くんならどうする?」
今度は同じ顔でこちらを見る部長。僕は目をそらしつつ答える。
「数列から類似して作られる関数(1+1/x)^xを微分します」
「蒼くん、それはチートだよー! 不正だよー! 運営にバンされちゃうよー!」
結構内心では自信を持って答えたのだが、部長は声高に僕の答えを非難した。
「蒼くん、蒼くん、(1+1/x)^xの微分ってどうやるの?」
「えっと、y=(1+1/x)^xの両辺対数を取って、log(y)=xlog(1+1/x)にして、その両辺を微分、y'/y=log(1+1/x)-1/{x(1+1/x)}ですか、それで後は両辺に(1+1/x)^xを掛ければy'がわかります」
僕はノートに計算を書きつつ答えた。部長はそれを全部聞くと、人の悪い笑顔で言う。
「マズいところ、わからない?」
この顔に対して「わからない」とは答えたくない。僕はノートに書いた式に目を落として必死に考える。計算がおかしいとかそういう話ではないはずだ。部長は微分と言った段階で、チートだ不正だと返した。チート、不正。間違いではなく、ズル……。そうか。
「あー、eの定義をしようって話なのに、対数の微分でeの性質を使っているのは、確かにマズいですね。……いえ、でも、eをΣ[n=0→∞](1/n!)で定義しておけば、eの性質を使うこと自体は大丈夫じゃないですか? それが今考えている数列の極限と一致することは別にして」
気づくと、ああ言えばこう言う的な言い訳を言っていた。部長を困らせてやろうという意識がなかったと言えば、たぶん嘘になる。
「いやいや、話の流れ的におかしいでしょ!? eを知らない紅ちゃんにその説明をしようって例を出して、やっと定義にいこうってところで、別の定義をいきなり持ってきて性質使っちゃうって、それなら、今までわたしがした話はなんだったのさ!?」
部長は掴みかからんといわんばかりの勢いで反論してきて、それに僕は気圧され、「そうですね」と答えていた。
「蒼くんのわからず屋はほっといて、紅ちゃんの言った方法でやろう。比を取って1と大小比較」
『[(1+1/n)^n]/[{1+1/(n+1)}^(n+1)]
=[{(n+1)^n}/(n^n)]/[{(n+2)^(n+1)}/{(n+1)^(n+1)}]
=[{(n+1)^n}{(n+1)^(n+1)}]/[(n^n){(n+2)^(n+1)}]』
「これが1より小さいことを示せばいいわけだ」
部長はさも簡単そうに言うのだが、これ、簡単だろうか? n→∞のときの極限は1だし、n+1/n+2を消すとかの粗い近似をすると1より大きくなってしまう。
「分子をまとめないのはわざとでしょうか?」
紅林さんが訊くと、部長は「こっちの方が後が見やすいからね」とすぐに答えた。部長には方針が見えているのか。ふと、しばらく黙っている大白先輩の方に目を向けると、自分のノートを取り出してなにやら計算している。eの定義数列の単調増加性、案外示したことがなかったのかもしれない。
「このまま二項展開とかしてもあんまり美味しくないから、何をしたいのかをちょっと整理しよう」
二項展開とかしてものあたりで大白先輩の手が止まった。二項展開していたみたいだ。
『[{(n+1)^n}{(n+1)^(n+1)}]/[(n^n){(n+2)^(n+1)}]<1
⇔{(n+1)^n}/(n^n)<{(n+2)^(n+1)}/{(n+1)^(n+1)}
⇔{(n+1)/n}^n<{(n+2)/(n+1)}^(n+1)
⇔(n+2)/(n+1)>{(n+1)/n}^{n/(n+1)}』
「さぁ、何をすればいいでしょう?」
またしても部長は僕たちに問う。正直、何をすればいいのか皆目見当がつかない。いや、部長の式変形には何かしらの意味があるはず。最後にn+1乗根を取っているのはなんだ? 何がしたくてそれをした?
「わかんない? じゃ、大ヒント!」
『⇔[{(n+1)/n}×n+1]/(n+1)>{(n+1)/n}^{n/(n+1)}』
「あぁぁ。なるほど」
途端、大白先輩が声をあげた。わかったのか。僕は未だにわからない。なんだ、これ。
「……相加相乗平均?」
紅林さんの呟きが耳に入り、すぐに理解が及ぶ。(n+1)/nがn個と1が1個の計n+1個の相加相乗平均。確かに。なるほど。あぁ、そっか。はぁ、なんで思いつけないかなぁ。言われてみればそうだという感じなのだが。
「全員わかったっぽいね。この不等式は相加相乗平均から成り立つから、単調増加はOK。ただ、m個の相加相乗平均は証明できる?」
相加相乗平均の大小関係、2個の場合は授業でやった。2個の場合なら簡単だ。
(a-b)^2=a^2-2ab+b^2≧0
よって、
a^2+2ab+b^2≧4ab
(a+b)^2≧4ab
a,bは共に正が仮定されているから、4abは正。したがって、両辺ルートとっても大小関係は保存されるので、
a+b≧2√(ab)
(a+b)/2≧√(ab)
等号成立は、最初の不等式の等号が成立するときであるから、a=b.
たったこれだけで証明できる。
これがm個の場合だとどうなる? 同様にできないことはすぐにわかるが。
全員が答えられずにいると、部長は、「じゃあ、証明しよう」と言い出した。
「目標は、Σ[k=0→m](a_k)/m≧{Π[k=0→m](a_k)}^(1/m). あっ、もちろん、a_kたちはみんな正ね」
「ΠはΣが積になったものですよね? 総積って言うかは知りませんけど、そんな感じの」
高校課程では使わない記号なので、一応尋ねておく。
「うん、そうそう。総積って言うかは、知らないけど。さて、ちなみに、m=2の場合は大丈夫だよね?」
「それは大丈夫です」
「私も大丈夫です」
返事を返した僕たち1年生に対して、大白先輩はひたすらにノートに数式を書きなぐっている。自分で示そうとしているのだろう。僕としても、ただ部長に答えを教えてもらうというのは違う気がする。考えなくては。
「じゃ、m=2の場合はOK。こう言えば、何がしたいかわかるよね?」
「数学的帰納法ですよね」
「うん。でも、これは帰納法の仮定を使えば簡単にってわけにはいかない。使いやすくするために、示したいことを同値変形して」
『Σ[k=0→m](a_k)-m{Π[k=0→m](a_k)}^(1/m)≧0』
「これを示そう」
パッと式を見て思うのは、1/m乗が邪魔。帰納法を使うとなると、これが邪魔すぎる。
「さて、蒼くん、どうする?」
部長はここで僕を名指しした。どうすればいい? m=nで成立と仮定して、m=n+1のとき。
Σ[k=0→n+1](a_k)-(n+1){Π[k=0→n+1](a_k)}^{1/(n+1)}
を評価する。……。……。
「わかんない? さっき言ってたよ?」
さっき言っていた? それは……。
「類似した関数を作って微分ですか?」
「そうそう!」
『f(x)=Σ[k=0→n](a_k)+x^(n+1)-(n+1)[{Π[k=0→n](a_k)}^{1/(n+1)}]x』
「これを考えよう」
いや、さも当然のようにそう言われても……。
「えっと、(a_n+1)^{1/(n+1)}をxにして関数化したんですよね? この関数の最小値を見るために微分するわけですか。それが0以上であれば、f(x)にx= (a_n+1)^{1/(n+1)}を代入した結果であるΣ[k=0→n+1](a_k)-(n+1){Π[k=0→n+1](a_k)}^{1/(n+1)}も0以上であると」
「うん。これの微分は簡単だからね」
整関数なんだから、そりゃ簡単だ。簡単に微分できるということは、増減表を書くのも簡単。
「あの、微分で最小値を求めるとは、どういうことでしょうか?」
紅林さんは増減表を書いてグラフの概形を求めるという方法を知らないようだ。
「あー、えっと、微分は知ってる?」
「なんとなくなら。ある関数の上の2点を取れば、その2点を通る直線が引けるという話を、その2点を限りなく近づけて接線を求める話にするとか、そういうものだったかと……」
「うん、だいたいそう。本当なら微分可能性とか言わないとなんだけど、今回は整関数、えっと、ただの多項式だから微分できるのは当たり前。で、微分すると、その関数の上の1点に対してその点の接線の傾きを対応させる関数が求まるんだよ」
「えっと、はい」
「さて、元の関数が増加してるなら、それの微分でわかる接線の傾きはどうなるかというと?」
紅林さんはノートに簡単な図を描いてから答える。
「正になります。逆に、元の関数が減少しているところなら負になります」
「じゃあ、接線の傾きが0になるのはどんな点?」
「えっと、ここみたいなところですよね?」
紅林はノートに書いた二次関数のグラフの頂点を指して部長に尋ねる。
「うん。増加と減少が変わるところだよね。いや、本当はそれだけじゃないんだけど、少なくとも、増加と減少が変わるところでは、接線の傾きは0になる。こういう増加と減少が変わる時の値を極値って言うんだよ。例えば」
部長はノートにオーソドックスなタイプの三次関数のグラフを書いて、2つの極値に丸をつける。
「ここは増加だったのが減少に変わってる。こういうところの値は極大値っていって、こっちの減少から増加に変わってる方は極小値っていう。まっ、イメージは湧くよね?」
「はい、一応」
「今から、この極小値ってのを調べようとしてる。極小値が最小値になるかというと、そうじゃないのなんていっぱいあるんだけど。実際このグラフだとxを小さくすればいくらでも小さくなるし。でも、最小値になってくれる場合もたくさんある。それに、微分を計算してあげれば、元の関数の増加とか減少とかの様子がわかるから、最小値を見つけるのに便利なんだよ。ってことで微分しまーす。ここ、いちいち定義に戻るのは面倒だから、多項式の微分は冪の数字を掛けて冪を1減らせばいいって思って。それで計算すると」
『f'(x)
=(n+1)x^n-(n+1){Π[k=0→n](a_k)}^{1/(n+1)}
=(n+1)[x^n-{Π[k=0→n](a_k)}^{1/(n+1)}]』
「とりあえず、これが0になるときを考えるんだから」
『x^n={Π[k=0→n](a_k)}^{1/(n+1)}』
「これは複素数の範囲だとn個の解を持っちゃうけど、正の実数の範囲だったら1個だよね?」
aのn乗根は、複素数平面の半径a^(1/n)の円をn等分した点に対応する。なら、その実数解は高々2つ。正の実数に限れば1つだ。a^(1/n)のただ1つ。
「わたしたちは相加相乗平均の話をしているんだから、正の実数の範囲だけ見てやれば十分。書くの面倒になってきたから、α=Π[k=0→n](a_k)とおいちゃうと、x=α^[1/{n(n+1)}]で極値をとると。さて、他の場所での微分の値を考えると、x>α^[1/{n(n+1)}]のときは、x^n>α^(n+1)なんだから、微分の値は正になるよね。つまり、そこでは、元の関数は増加。0≦x<α^[1/{n(n+1)}]のとき、x^n<α^(n+1)で、元の関数は減少だってわかる。つまり、正の実数の範囲なら、減少してきて、x=α^[1/{n(n+1)}]まできたら今度は増加に変わる。なら、そのときの最小値はx=α^[1/{n(n+1)}]のときなのはわかるよね?」
ここまでくればもうわかる。後は代入して帰納法の仮定を使えばいい。結局、部長の解説を聞いて理解するということになってしまった。僕はそれなりに数学が得意なつもりでいたのだが、そうでもないらしい。
「じゃ、あとはこれを代入して最小値を調べよー」
『f({Π[k=0→n](a_k)}^[1/{n(n+1)}])
=Σ[k=0→n](a_k)+{Π[k=0→n](a_k)}^(1/n)-(n+1)[{Π[k=0→n](a_k)}^{1/(n+1)}][{Π[k=0→n](a_k)}^[1/{n(n+1)}]]
= Σ[k=0→n](a_k)-n{Π[k=0→n](a_k)}^(1/n)
帰納法の仮定より、
≧0』
等号成立は帰納的に確認していけばわかるか。これで、後は。
「後は、さっき蒼くんが言ったように、f(x)にx=(a_n+1)^{1/(n+1)}を代入して終了。さて、話の最初がなんだったか覚えてる?」
「確率ですか?」
「最初過ぎる!? ちがーう! eの存在証明! やっとこれで単調増加が終わったの! これで、銀行から、もう銀行の話なんて覚えてないかもだけど、銀行からお金を極々短い時間で引き出して預けてを繰り返えせば、それで増えていくことはわかった。でも、これっていくらでも増えるの? こんな方法で億万長者になれるの? っていうのが次の問題」
もはや本題がなんだったかなんてどうでもよくなっている。次は上に有界か。
「結論を言っちゃうと、世の中そんなに甘くない。実際には全然増えない。えっと」
「俺、そっちはできたっすよ」
1人ノートに向かっていた大白先輩は、そう言うとノートをこちらに差し出した。
『(1+1/n)^n
=Σ[k=0→n][nCk{1/(n^k)}]
=Σ[k=0→n][(nPk/k!){1/(n^k)}]
=Σ[k=0→n][(1/k!){nPk/(n^k)}]
=Σ[k=0→n][(1/k!)Π[i=0→k-1]{1-(i/n)}]
≦Σ[k=0→n](1/k!)
=1+Σ[k=1→n](1/k!)
≦1+Σ[k=0→n-1](1/2^k)
=1+{1-(1/2)^n}/{1-(1/2)}
≦1+2
=3』
なるほど。階乗を2の冪乗で抑えるのか。
「これ、不等号で書いてあるところ、nが1から∞のどの値でも、どれかは真の不等号になるね。さて、これで、(1+1/n)^nはnを大きくするほど大きくなるはずなんだけど、3よりは大きくならないことがわかった。なら、この数列はその増加がだんだんと遅くなって、nが大きくなればほとんど変わらなくなることがわかる気がするよね。だから、この数列はなんかしらの値に収束するわけだよ、感覚的には。厳密に、上に有界かつ単調増加ならば収束するってのを示すには、どこまで戻ればいいのかちょっとよくわからないから、ごめんだけどここは認めて? で、その値を、わたしたちはeって言うんだよ。これは自然対数の底とか、ネイピア数とかって言われるかな」
「なるほど、大変なんですね」
紅林さんの感想はとても素直だと思う。大変だった。eについては高3で習うはずだが、こんな、「それ思いつけるか?」と思う部分があるような証明を授業でやるのか? 数IIIって怖いなと思ってしまう。
「でも、この大変さに見合うだけの働きをeくんはしてくれるんだよ。この子は本当に素直でいい子なの」
「超越数が素直……」
素直でいい子なんだったら、どこかで循環してもらいたいものだ。
「いやいや、見た目はちょっと悪そうな感じしてるけど、根はすごくいい子なんだよ! てか、蒼くん、マクローリン展開の方の定義を知ってるんだったら、この子がいい子だって知ってるでしょ!」
部長はモンスターペアレントばりの勢いでeのことを褒めそやす。そりゃ、eが便利だってことは知っている。だが、2.718281828459……という数字に対して、素直でいい子なんて形容をするのはどうなのだろう。
「便利ってことは知ってますよ。素直かとかいい子かとかは知りませんけど」
「微分して変わらないなんて超素直でしょ!」
「いや、e自身は定数なんですから、微分したら0ですよ」
「むぅー、流れでe^xのことだってわかるでしょ? yで微分したら0だとか言うなよぉー」
「まぁ、はい。今度は(e^x)'=e^xを示すんですか?」
これも事実は知っていても、証明は知らない。素直に、lim[h→0][{e^(x+h)-e^x}/h]を計算してみるか。
lim[h→0][{e^(x+h)-e^x}/h]
=(e^x)lim[h→0][{(e^h)-1}/h]
だから、lim[h→0][{(e^h)-1}/h]=1を示せばいい。
「うん、それを示そう。微分の定義通りに計算しようと思うんだけど、紅ちゃんはf(x)の微分を定義通りに書ける?」
「えっと、2点を取って直線を引くので」
『{f(a)-f(b)}/(a-b)』
「これが大元にあって、あとはaとbを限りなく近づければいいんですよね?」
『lim[b→a][{f(a)-f(b)}/(a-b)]』
「こうですか?」
「紅ちゃんも素直でいい子だぁ。接線の傾きだって意味からすれば、その式になるよね。じゃあさ、a-bをhで書くとどうなる?」
「hは0に近づくことになりますから」
『lim[h→0][{f(a)-f(a-h)}/h]』
「こうなります」
「そうだね。で、まっ、普通書かれる形に合わせるために、x=a-hとして置き換えよっか」
『lim[h→0][{f(x+h)-f(x)}/h]』
「こうですか?」
「そうそう。それが、よく見る微分の定義式。本当のところを言うと、高校課程では極限がちゃんと定義されてないから、それで定義されているって言うのは微妙なんだけどね。でも、ここでε-δに登場願うのはやめて、このままでいこう。さて、さっきから手を動かしている蒼くん」
部長は僕のノートを覗き込む。
「たしかに、f(x)=e^xとして計算すると、そうなるね」
『lim[h→0][{e^(x+h)-e^x}/h]
=(e^x)lim[h→0][{(e^h)-1}/h]』
「そうなると、考えないといけないのは後ろだよね」
『lim[h→0][{(e^h)-1}/h]』
「さて、これを考えるんだけど、単純に0を代入したんじゃ0/0で不定だよね。そういう風に作ってるんだから当たり前だけど。じゃ、これを考える上で何が邪魔?」
考えるまでもなく、e^hが扱いづらい。hが指数にあるのは邪魔だ。
「e^hですね」
「そうだよね。指数は死すべし。消してやろう。変数変換でそいつをなんとかしたい」
「それをやると、分母のhが荒ぶりませんか?」
指数を消すように変数変換すると、分母のhが対数に変わってしまう。
「そう。だから、t=e^hなんて単純な変換じゃ美味しくなーい。ここはこの後に何をしたいかを知ってるかどうかって感じがするから言っちゃうと、e^h=1+1/tで変換する」
e^h=1+1/t. e^hは指数関数なのだから1以上。hが0に等号にはならないことを踏まえれば、1より真に大きい。なら、ある実数tを用いて、e^h=1+1/tと書くことは確かにできるか。
「今の変換をt,hについてそれぞれ解くと」
『t=1/{(e^h)-1}, h=log(1+1/t)』
「対数は底が書いてなかったらそれはeね。自然対数の底って二つ名は伊達じゃないんだよ。常用対数なんて知らない」
「部長、対数習うのは数IIっす」
「ありゃ、そうだっけ。指数関数の逆関数だって言えばわかるかな? あー、でも、歴史的には指数関数より対数関数が先に見つかったんだよね。ネイピア、ヤバいやつ」
部長にヤバいやつ呼ばわりされるとは、ネイピアもさぞかし不満なことだろう。
「えっと、a=e^xのときに、log(a)=xと書くってことですよね?」
紅林さんも指数関数の逆関数と言われれば理解できたようだ。まぁ、指数の実数上への拡張も習うのは数IIなのだが。
「うん。さて、tについて解いた式を見ると、hを0に近づけると、tは∞に発散することがわかるよね。さて、もともと考えてた式を変数変換しよう」
『lim[h→0][{(e^h)-1}/h]
=lim[t→∞]{(1/t)/log(1+1/t)}
=lim[t→∞][1/{tlog(1+1/t)}]
=lim[t→∞][1/log{(1+1/t)^t}]』
「ここで、対数関数が連続関数だってことを使いたいんだけど、それも示そっか。連続の定義は大丈夫?」
連続の定義。代入値と右極限、左極限が全て等しいか。なんか、本で別のも読んだ気がする。開集合の逆像が開集合であるとか、そんなの。
「連続、グラフが繋がっているってことですか?」
「うーん、だいたいそんな感じ。というより、今わたしたちが見ている世界なら、そう。うん、位相がどうのなんて話はしたくないから、グラフが繋がっているのを連続って考えていくよ。でも、連続を示すのに、グラフを書いて繋がってるねーっていうのは証明として微妙。視覚的じゃなくて、数式で示したい」
「式を使って話すなら、代入する値が近ければ、それを関数に入れて出てくる値も近いってことですよね?」
「そうそう。∀a∈定義域,∀ε>0,∃δ>0,∀x∈定義域;|x-a|<δ⇒|f(x)-f(a)|<εだね」
部長はそう言うと、ノートに
『∀a∈定義域,∀ε>0,∃δ>0,∀x∈定義域;|x-a|<δ⇒|f(x)-f(a)|<ε』
と書いた。
「ε-δはやらないって言ってたじゃないっすか……」
「なんか、ここまできたら詰め込んでいいんじゃないかなって。もう、今日は好き放題数学しよーってなった」
「そうっすか……」
大白先輩は少し呆れた様子だ。ε-δ論法。名前は聞いたことはあるのだが、よくは知らない。
「じゃ、ε-δの話をしよう。さっき紅ちゃんが、値が近いって話をしたよね、それをどう表現するのかって話なんだよ。ここで登場するのがεくん。すごく小さい子なんだ」
「小さい子ですか?」
紅林さんが尋ねると、部長は大きく頷いた。
「うん! εくんは0より大きいと言いつつ、0にものすごく近いって思おう。0.000……で忘れた頃に1がいるみたいな感じ。さて、ならばの後ろを見るとさ、|f(x)-f(a)|<εってあるでしょ。これ、εくんがめっちゃちっこいと、どういう意味になる?」
部長がこちらを見た気がした。僕はとりあえず思ったことを答える。
「f(x)とf(a)の差の絶対値が、それよりもさらに小さいわけですから、f(x)とf(a)が非常に近いってことになるわけですか?」
「そうそう。これで、εくんを使って、値がとても近いってのを表現したわけ。で、今度はならばの前の|x-a|<δを考えると」
「代入する値の方のとても近いを表しているわけですね」
「そっ。ここで大事なのが、δちゃんはεくんのちっこさに合わせて自分の大きさを調整するってこと」
「つまり、関数値がどれだけ近いかを先に決めて、それに合わせて、代入値がどれだけ近いかを決めるってことですよね?」
「そう! 代入する値の方をうまく近づければ、関数値をいくらでも近づけられるよってのが連続。じゃあ、log(x)でこれが成り立つことを証明しよう」
証明というと、先にεが固定されているとして、δをうまく取れってことなんだろうが、δをどういう風に取ればいいのかなど、すぐにわかるわけもない。
「目標の方から後ろ向きに進んでいこっか。log(x)の定義域は正の実数全体だから、示すのは」
『∀a>0,∀ε>0,∃δ>0,∀x>0;|x-a|<δ⇒|log(x)-log(a)|<ε』
「で、aとεは固定されているものとして、ならばの後ろを見てみると」
『|log(x)-log(a)|<ε』
「これを整理して、成り立つようなδを探す。ここでlogの性質を使いたいんだけど、紅ちゃんは対数の性質ってわかる?」
「えっと、掛け算が足し算になるみたいなことを読んだことがある気がします」
「そうそう、それそれ。今、底の変換とかその他諸々はいらないから、掛け算が足し算に、割り算が引き算になることだけ確認しとこっか」
これを示すためにはこれが必要でってのを繰り返した結果、今、最終目標がなんなのかを忘れてきた。
『log(ab)=log(a)+log(b)
log(a/b)=log(a)-log(b)』
「あっ、a,bはもちろん正の実数ね。これを示すのに、指数法則を使いたい。指数法則の実数への拡張はアレだけど、それは認めてやっていこっか。ここで使うのは」
『e^(a+b)=(e^a)(e^b)
e^(-a)=1/(e^a)』
「これは、a,bが有理数のときは当たり前に使ってると思うんだよね。問題は実数まで持ってくことなんだけど、そこは今は噛みつかないことにしよう。これを使えば、対数の性質は簡単に証明できる」
『e^{log(a)+log(b)}
=[e^{log(a)}][e^{log(b)}]
=ab
両辺対数をとって、
log(a)+log(b)=log(ab)』
「1個目はこれでOK。2個目は、1個目を使えば」
『log(a/b)=log(a)+log(1/b)』
「こうなるから、log(1/b)=-log(b)を示せばよくて」
『e^{-log(b)}=1/{e^log(b)}=1/b
両辺対数をとって、
-log(b)=log(1/b)』
「よし、じゃあ戻るよ。|log(x)-log(a)|<εを整理していこー」
『|log(x)-log(a)|<ε
|log(x/a)|<ε』
「ここで、e^xって関数は単調増加だから、それにこの2つを入れても大小関係は保存される。絶対値が面倒だから、ここでちょっとx>aを仮定しちゃいます。大小関係が逆の場合はあとで確認しよう」
『e^{log(x/a)}<e^ε
x/a<e^ε
x<(e^ε)a
x-a<{(e^ε)-1}a』
「こうやって、δの候補が1つ見つかったと。じゃ、あとで確認するって言った方を見よっか」
『e^{-log(x/a)}<e^ε
a/x<e^ε
a<(e^ε)x
a/(e^ε)<x
[{1/(e^ε)}-1]a<x-a<0
絶対値をとって、
|x-a|<[1-{1/(e^ε)}]a』
「これでδの候補の2つめが見つかった。どっちの場合でも大丈夫なδを取りたいから、小さい方を取りたいんだよね。さて、どっちが小さいかというと、どっち、蒼くん?」
考える。aは両方に掛かっているから無視していい。見るべきは(e^ε)-1と1-{1/(e^ε)}. 後者の方が小さいように感じるが、一般に大小関係を考えるなら、
(e^ε)-1 (不等号) 1-{1/(e^ε)}
{e^(2ε)}-(e^ε) (不等号) (e^ε)-1
{e^(2ε)}-2(e^ε)+1 (不等号) 0
{(e^ε)-1}^2 > 0
これで、不明だった(不等号)が>だとわかった。つまり。
『{(e^ε)-1}^2>0
{e^(2ε)}-2(e^ε)+1>0
{e^(2ε)}-(e^ε)>(e^ε)-1
(e^ε)-1>1-{1/(e^ε)}』
「なので、後者の方が小さいです」
「よし、じゃあ、δ=[1-{1/(e^ε)}]aとしよう」
『∀a>0,∀ε>0:fix
δ=[1-{1/(e^ε)}]aとする。
|x-a|<δを満たす∀xに対して、
|x-a|<[1-{1/(e^ε)}]a
|(x/a)-1|<1-{1/(e^ε)}<(e^ε)-1
x>aのとき、
(x/a)-1<(e^ε)-1
(x/a)<(e^ε)
x<aのとき、
1-(x/a)<1-{1/(e^ε)}
(x/a)>{1/(e^ε)}
(a/x)<(e^ε)
したがって、
|log(x)-log(a)|
=|log(x/a)|
<log(e^ε)
=ε
よって、log(x)は連続』
「ふぅ。案外大変だったね。で、何に戻るんだっけ?」
部長すら、もともと何からlog(x)の連続性に来たのかがわからなくなっている。
「微分っす。e^xの」
「あー、それだ、それだ。変数変換はしたんだよね。えっと、ノートはどこまで戻るのかな?」
部長はノートのページを戻っていく。そして、開かれたページには、
『lim[h→0][{(e^h)-1}/h]
=lim[t→∞]{(1/t)/log(1+1/t)}
=lim[t→∞][1/{tlog(1+1/t)}]
=lim[t→∞][1/log{(1+1/t)^t}]』
と書かれていた。そう、これをやっていたのだ。
「あー、これだよね、これ。ここで、 log(x)が連続だってわかったから、limをlogの中に入れられると」
『=1/log[lim[t→∞]{(1+1/t)^t}]』
これでlogの中身がeの定義式そのものになっているというわけか。
『=1/log(e)=1』
「さて、これでついに、eが素直でいい子だってわかったね」
「わかったのは、(e^x)'=e^xであって、eの素直さではありませんね」
「むぅ。なかなか疲れて来たけど、eの素直さを蒼くんに認めさせるには、もう少し話した方が良さようだね。eのいいところその2、{log(x)}'=1/x」
それが便利であることは間違いないが、それでeが素直だと言えるかは知らない。それの証明はすぐに思いつくわけだが、それで面倒なのは。
「合成関数の微分の公式を証明しないとですよね、それ」
「あー、そだねー、それがあれば瞬殺なんだけどねー、合成関数の微分かー、やるかー」
部長は明らかにすでに疲れていた。そこまでしてこの雑談を続けなくてもいいのだが……。
『lim[h→0][{g(f(x+h))-g(f(x))}/h]』
「これを計算するわけだ。あ、今、fの値域とgの定義域が同じでかつ、fとgは微分可能で」
『lim[h→0][{f(x+h)-f(x)}/h]=f'(x)
lim[h→0][{g(x+h)-g(x)}/h]=g'(x)』
「ここでもう、わたしたちはg'(f(x))f'(x)になることなんて知っているわけだよ。てか、たぶん今までの話の中でも使ってるわけだよ。だから、もう答えありきで変形してく」
部長の解説が投げやりになってきている。
『lim[h→0][{g(f(x+h))-g(f(x))}/h]
=lim[h→0][[{g(f(x+h))-g(f(x))}/{f(x+h)-f(x)}][{f(x+h)-f(x)}/h]]』
「ここで、f(x+h)-f(x)=jとでもしよっか。で」
『=lim[h→0][[{g(f(x)+j)-g(f(x))}/j][{f(x+h)-f(x)}/h]]』
「今、hが0に近づけば、jも0に近づくから」
『=lim[h→0,j→0][[{g(f(x)+j)-g(f(x))}/j][{f(x+h)-f(x)}/h]]
=lim[j→0][[{g(f(x)+j)-g(f(x))}/j]lim[h→0][{f(x+h)-f(x)}/h]]
=g'(f(x))f'(x)』
「って、高校の教科書には載ってるんだよね。これ、証明としては不十分なんだけど」
「不十分……」
部長はもう疲弊している感じなのに目だけはギラギラとしている。さて、書かれた式はなんとなく正しい感じはするのだけど。
「f(x+h)-f(x)で割ってるでしょ?」
「あー、0割りですか」
「そっ。これが0の可能性も普通にあるから、本当は割れないんだよ」
「だと、そこを0で割らないようにしないとダメなわけですね。でも、結論からいってf(x+h)-f(x)、分母に置きたいんですけど……」
g'(f(x))という形がある以上、最終的には、{g(f(x+h))-g(f(x))}/{f(x+h)-f(x)}がほしいのだ。でもそれはダメだと……。
「そこを誤魔化すために別の関数を導入するんだよね。案外面倒いよ」
部長はあまり生気のない目で式を書き始めた。
『O(k)={g(u+k)-g(u)}/k - g'(u)』
「kが変数で、uは一応定数だって思って。uには最終的にf(x)を入れるんだけどさ」
uにf(x)を入れるとなると、お目当てのg'(f(x))はすでにO(k)の中にいるのか。
「それ、k=0では定義されてませんよね?」
「うん。k≠0では定義されてるけど、k=0はkが分母にいるからダメ。でもでも、O(k)のkを0に飛ばす時の極限は考えられるよ」
「kを0に近づけると、{g(u+k)-g(u)}/kがg'(u)になるんで、後ろの-g'(u)と打ち消し合って0ですか」
「そうそう。だから、O(k)の定義域にk=0も入れて、O(0)=0として定義しちゃう」
まぁ、自然な定義か。ただ、このO(k)を何に使うのかがまだピンとこない。
「そうするとさ」
『g(u+k)-g(u)=k(O(k)+g'(u))』
「これが、k=0も含めてどんなkでも成り立つよね」
k=0なら左辺も右辺も当然に0。k≠0ならO(k)の定義からもちろん成り立つか。k=0の不備を解消した以上、kにはさっき0だとまずいって話をしたf(x+h)-f(x)を入れるんだろう。
「これで、k=f(x+h)-f(x)とすると、f(x+h)-f(x)=0でもさっきの関係式は問題なしと」
やっぱり。
「ここで一応確認しとくと、hが0に行く時、kも0に行く。fは連続だからね」
微分可能なんだから連続か。部長はもうそこは認めて話すようだ。ここはあえてつっこむこともしまい。
「さて、準備完了。定義に戻って合成関数の微分を計算しよー」
これで準備完了なのか。どう使うのかまだピンときていないけど、とりあえず手を動かす。
『lim[h→0][{g(f(x+h))-g(f(x))}/h]』
uをf(x)にすると言っていたし、f(x)は残してf(x+h)を消す方針でたぶんいいはず。
k=f(x+h)-f(x)なのだから、f(x+h)=f(x)+k.
『=lim[h→0][{g(f(x)+k))-g(f(x))}/h]』
「そうそう。書くの面倒だし、f(x)=uとして書き変えちゃおう」
僕のノートを覗き込み、部長はそう言った。なら。
『=lim[h→0][{g(u+k))-g(u)}/h]』
あー、見覚えのある式。ここであの関係式か。
『=lim[h→0][{k(O(k)+g'(u))}/h]』
「これ、f'(x)が出てくるようにkを戻すんですか?」
「そうそう。k/hのパートと、{O(k)+g'(u)}/hのパートにわけーる。前者がf'(x)になって、後者がg'(f(x))になる寸法ってわけ」
『=lim[h→0][(k/h)(O(k)+g'(u))]
=lim[h→0][k/h]・lim[h→0][(O(k)+g'(u))]』
「で、さっきhが0に行くとkも0に行くって言ったから」
部長に促されて僕は式を進める。
『=lim[h→0][k/h]・lim[k→0][(O(k)+g'(u))]
=lim[h→0][{f(x+h)-f(x)}/h]・lim[k→0][(O(k)+g'(u))]』
「前者はそのまま処理できますね」
『=f'(x)・lim[k→0][(O(k)+g'(u))]』
「後者はやっぱりさっきの関係式に戻ろー」
『=f'(x)・lim[k→0][{g'(u+k)-g(u)}/k]
=f'(x)・g'(u)
=f'(x)・g'(f(x))』
「これでOKですか。結局、あの関係式がk=0でも成り立つってことが効いてるんですよね?」
「うん。うまく0の問題を回避してるんだ。わたし、これ思いつかなくて前に調べたんだけどね」
「なるほど」
「本当はε-δで厳密にやるべきだと思うけど、もう疲れたからこれでいいよね。これがあれば、eくんの素直さを見るのは簡単で」
『e^log(x)=x
両辺をxで微分
{log(x)}'{e^log(x)}=1
x{log(x)}'=1
{log(x)}'=1/x』
「あー、eくん素直だなぁ、癒されるなぁ」
癒されているとは思えない疲れきった声で部長はそう呟く。ニヒと引きつったような笑みがちょっと怖い。
「あとはなにー、eくんが超越数だって話とかー、eくんがΣ[n=0→∞](1/n!)で表せるってこととかー、eくんの話は夢が広がるなー」
ヤバい人だ。今の部長は傍から見て確実にヤバい人だ。今日はこれで解散した方がいい気がする。
「部長、今日はこの辺にしておきましょう」
「あー、そう? ……なんでこんな話になったんだっけ?」
「…………ガチャのSSR率……」
その話から、eくんが素直とかいうよくわからない話に行くなんて、文芸部は今日も今日とて変人の巣窟なのであった。
書いた感想として、相加相乗平均とか思いくかって感じでした。そこは調べました。高校数学で当たり前に使っている定理も、証明が厄介なものってありますね……。