メモとか言いつつめっちゃ長くなったので2つに分けました...
Part 2 はこちら: 無限反復指数関数の定義域に関するメモ(Part 2)
きっかけ
冪乗が右上に無限に伸びる、無限反復指数関数 \underbrace{x^{x^{x^{^{\cdot^{\cdot^{\cdot}}}}}}}_{\text{height:}~\infty} というものがあります。
- テトレーション記法だと \displaystyle \lim_{n\to\infty}{^n{x}} のことです。
この x にテキトーな数を入れちゃうと発散します。
- 例えば \displaystyle \underbrace{2^{2^{2^{^{\cdot^{\cdot^{\cdot}}}}}}}_{\text{height:}~\infty}=\infty です。
でも、うまく選ぶと収束するみたいです。
-
\displaystyle \underbrace{1^{1^{1^{^{\cdot^{\cdot^{\cdot}}}}}}}_{\text{height:}~\infty}=1 です。これはわかりやすい。
-
\displaystyle \underbrace{\sqrt{2}^{\sqrt{2}^{\sqrt{2}^{^{\cdot^{\cdot^{\cdot}}}}}}}_{\text{height:}~\infty}=2 は自明ではないかもしれませんが、大学入試問題とかで見かけます。
いったい、どういう条件なら収束するのでしょうか?
Wikipediaによれば [e^{-e}, e^{\frac{1}{e}}] の範囲で収束するとのことですが、理由までははっきりと書いていなかったので、自分で確かめることにしました。
ゴールの設定
無限反復指数関数であって、値が収束する(ただ1つ決まる)範囲で定義されている関数 を \mathcal{T}(x) と書くことにします。
より厳密に決めると、\mathcal{T} は部分写像であり、以下を満たすとします。
\begin{equation}
\mathcal{T}:U \subset \mathbb{R}^+ \rightarrow V\subset \mathbb{R}^+; x \mapsto \mathcal{X} ~\text{s.t.}~ (\mathcal{X}=\lim_{n\to\infty}{^n{x}}, ~ \mathcal{X} \ll \infty)
\end{equation}
ただし、\text{s.t.} は such that の略で、 \mathbb{R}^+ は正の実数の集合です。
このとき、\mathcal{T} の定義域が e^{-e}\le x \le e^{\frac{1}{e}} であること、すなわち
\begin{equation}
\text{dom}\left(\mathcal{T}\right) = \{ x\in\mathbb{R}^+~|~ e^{-e}\le x \le e^{\frac{1}{e}} \}
\end{equation}
を確かめます。
準備
ある正の実数 a があって、\displaystyle \underbrace{a^{a^{a^{^{\cdot^{\cdot^{\cdot}}}}}}}_{\text{height:}~\infty} が 正の極限値 c をもつとします。
すなわち、\mathcal{T}(a)= \displaystyle \lim_{n\to\infty}{^n{a}}=\underbrace{a^{a^{a^{^{\cdot^{\cdot^{\cdot}}}}}}}_{\text{height:}~\infty} = c です。
すると、c が収束値であることと、右辺が無限列(無限の高さの塔)であるという事実から
c=a^{a^{a^{^{\cdot^{\cdot^{\cdot}}}}}}=a^{\left(a^{a^{a^{^{\cdot^{\cdot^{\cdot}}}}}}\right)}=a^c
\begin{equation}
\therefore c=a^c
\end{equation}
という関係が導けます。
よって、このあと処理しやすいように、記号を左右に分離すると
\begin{equation}
a=c^{\frac{1}{c}}
\end{equation}
が成り立ちます。
本当かな?
(4)の a に 1 や 2 を入れてみると、
\begin{equation}
1=1^{\frac{1}{1}}
\end{equation}
となりますので、今の所矛盾はないようです。
上限を確認する
(1)の定義のもとで、(4)における a がどこまで大きくなれるか、確認してみましょう。
(4)より、a の最大値は c^{\frac{1}{c}} の最大値(上界)に等しいです。
そのため、\mathcal{T} を a の関数として見たとき、 c^{\frac{1}{c}} の最大値(値域の上限)がそのまま \mathcal{T}(a) の定義域の上限になると考えるのが自然です。
よって、これから c^{\frac{1}{c}} の最大値を求めることにします。
方針
まずは a と c について、
\begin{equation}
a = f(c) = c^{\frac{1}{c}}
\end{equation}
という関数とみなして、導関数f'(c)を求めてみます。
関数の極値を求める方法に従って、f'(c)=0 となる c がわかれば、答えに近づくかもしれません。
計算
\displaystyle a=c^{\frac{1}{c}}=e^{\frac{1}{c}\log{c}} と変形できるので
f'(c)=\frac{\text{d}a}{\text{d}c}=\frac{\text{d}}{\text{d}c}\left(\frac{1}{c}\log{c}\right) \cdot e^{\frac{1}{c}\log{c}}=\frac{\text{d}}{\text{d}c}\left(\frac{1}{c}\log{c}\right) \cdot c^{\frac{1}{c}}
ここで
\frac{\text{d}}{\text{d}c}\left(\frac{\log{c}}{c}\right)=\frac{-\log{c}\cdot 1+c\cdot\frac{1}{c}}{c^2}=\frac{-\log{c}+1}{c^2}
よって
\begin{equation}
\frac{\text{d}a}{\text{d}c}=f'(c)=\left(\frac{-\log{c}+1}{c^2}\right) \cdot c^{\frac{1}{c}}=c^{\frac{1}{c}-2}\left(1-\log{c}\right)
\end{equation}
と、導関数が求まりました。
ここで、底が正の指数関数は常に正になることから、c^{\frac{1}{c}-2} > 0 です。
ゆえに
f'(c)=0 \Rightarrow 1 - \log{c} = 0
が成り立ちます。
従って、1 - \log{c} = 0、 つまり \log{c}=1 をみたすような c だけが解の候補です。
自然対数の定義より \log{e}=1 ですから、 c=e です。
よって
\begin{aligned}
f'(e)&=c^{\frac{1}{e}-2}\left(1-\log{e}\right)\\
&=c^{\frac{1}{e}-2} \cdot (1-1)\\
&=0
\end{aligned}
がわかります。
f'(e)=0 なので、c=e のときに c^{\frac{1}{c}} は最大値(極値)をとる可能性があります。
そこで、(4)と(5)などを使って増減表を書き、グラフのようすを観察することにします。
ただ、f(c) と f'(c) だけではグラフの様子が完全にわかりませんので、f''(c)も求めておきます。
f''(c)= \frac{\text{d}}{\text{d}c} \left( c^{\frac{1}{c}-2}\left(1-\log{c}\right) \right)=c^{\frac{1}{c}-4}\left( 1+2(c-1)\log{c} + \log^2{c} -3c \right)
計算の詳細
そのままだと計算しづらいので、部分的に置換して微分します。
\begin{aligned}
p &= c^{\frac{1}{c}-2} \\
q &= 1-\log{c}
\end{aligned}
とおいて、\displaystyle \frac{\text{d}p}{\text{d}c} と \displaystyle \frac{\text{d}q}{\text{d}c} をそれぞれ計算します。
\displaystyle \frac{\text{d}q}{\text{d}c} は簡単です。
\begin{aligned}
\frac{\text{d}q}{\text{d}c}&=\frac{\text{d}}{\text{d}c}(1-\log{c})\\
&=0-\frac{1}{c}\\
&=-\frac{1}{c}
\end{aligned}
\displaystyle \frac{\text{d}p}{\text{d}c} は少し難しいです。
まず、u=c^{\frac{1}{c}-2} とおいて、両辺の自然対数をとり、式を変形します。
\begin{aligned}
\log{u}&=\log{c^{\frac{1}{c}-2}} \\
&=\left( \frac{1}{c}-2 \right) \log{c}
\end{aligned}
両辺を c について微分します。(以下、c による微分を「 ' 」で表します。)
\left(\log{u}\right)'=\left(\left( \frac{1}{c}-2 \right) \log{c}\right)'
ここで、
\left(\log{u}\right)'=u'\cdot\frac{1}{u}=\frac{u'}{u}
さらに、部分微分の公式から
\begin{aligned}
\left(\left( \frac{1}{c}-2 \right) \log{c}\right)'&=\left( \frac{1}{c}-2 \right)'\log{c}+\left( \frac{1}{c}-2 \right)\left( \log{c} \right)' \\
&=\left( -\frac{1}{c^2} \right)\log{c} + \left( \frac{1}{c}-2 \right)\left( \frac{1}{c} \right) \\
&=-\frac{\log{c}}{c^2} + \frac{1-2c}{c^2}\\
&=\frac{1}{c^2} \left( 1-2c-\log{c} \right)
\end{aligned}
ゆえに
\begin{aligned}
\frac{u'}{u} &= \frac{1}{c^2} \left( 1-2c-\log{c} \right) \\
\therefore u'&= u\cdot\frac{1}{c^2} \left( 1-2c-\log{c} \right)\\
&= c^{\frac{1}{c}-2}\cdot\frac{1}{c^2} \left( 1-2c-\log{c} \right)\\
&= c^{\frac{1}{c}-4} \left( 1-2c-\log{c} \right)
\end{aligned}
したがって
\frac{\text{d}p}{\text{d}c}=c^{\frac{1}{c}-4}\left(1 - 2c - \log{c} \right) \\
以上の結果を利用して
\begin{aligned}
f''(c)&=\frac{\text{d}}{\text{d}c}pq=\frac{\text{dp}}{\text{d}c}q+\frac{\text{d}q}{\text{d}c}p \\
&=c^{\frac{1}{c}-4}\left(1 - 2c - \log{c} \right)\left(1-\log{c}\right)+\left(-\frac{1}{c}\right)\left(c^{\frac{1}{c}-2}\right) \\
&=c^{\frac{1}{c}-4}\left(1 - 2c - \log{c} \right)\left(1-\log{c}\right)+\left(-\frac{c^2}{c}\right)\left(c^{\frac{1}{c}-4}\right) \\
&=c^{\frac{1}{c}-4}\left( 1+2(c-1)\log{c} + \log^2{c} -3c \right)
\end{aligned}
ここで
1+2(c-1)\log{c} + \log^2{c} -3c=0
を満たす c を数値計算すると、おおよそc=0.582, 4.368となるので、これと(4)(5)を使って増減表を書くと以下のようになります。
c |
(0) |
... |
0.582 |
... |
e |
... |
4.368 |
... |
(\infty) |
f'(c) |
(0) |
+ |
1.795 |
+ |
0 |
- |
-0.035 |
- |
(0) |
f''(c) |
(0) |
\cap |
0 |
\cup |
-0.072 |
\cup |
0 |
\cap |
(0) |
f(c) |
(0) |
\nearrow |
(0.395) |
\nearrow |
e^{\frac{1}{e}} |
\searrow |
(1.401) |
\searrow |
(1) |
これにより、c=e の前後で符号が変化していることから、 c=e のとき f(c) は極値 e^{\frac{1}{e}} をとることがわかりました。
ところで、 (6)より \mathcal{T} は関数 f の逆関数の一部と一致します。。
注目すべきは、f の値域に上界 e^{\frac{1}{e}} があるという事実です。つまり
\begin{equation}
\sup\text{ran}(f) = e^{\frac{1}{e}}
\end{equation}
これにより、f の逆関数の一部である \mathcal{T} の 定義域 にも上界 e^{\frac{1}{e}} が存在することが示唆されます。
さらに f(e)=e^{\frac{1}{e}} ~ \Rightarrow ~ f^{-1}(e^{\frac{1}{e}})=e という事実と、(4)より
\begin{aligned}
\left(e^{\frac{1}{e}}\right)^e&= e \\
\therefore \mathcal{T}(e^{\frac{1}{e}})&=e
\end{aligned}
なので、\mathcal{T} の定義域に e^{\frac{1}{e}} が含まれていることがわかります。
e^{\frac{1}{e}} \in \text{dom}(\mathcal{T})
このことから、\mathcal{T} の 定義域 にはたしかに上界 e^{\frac{1}{e}} が存在します。
よって、この事実と(8)より
\begin{equation}
\sup \text{dom}(\mathcal{T})=e^{\frac{1}{e}}
\end{equation}
が確認できました。
また、増減表と(5)から f は 区間 [1, e] において微分可能かつ特異点が無いので、連続であることがわかります。
f の定義域 [1, e] に対応する値域は [1, e^{\frac{1}{e}}] になりますので、逆関数を考えることで
\begin{equation}
\{x\in \mathbb{R}^+~|~1\le x \le e^{\frac{1}{e}}\} \subset \text{dom}(\mathcal{T})
\end{equation}
であることもわかります。
本当かな?
実際にSwiftで実装して確かめてみましょう。
今回は \mathcal{T} の定義域の上界を二分探索で見つけるコードを書いて確認しました。
ポイントとしては、x \gt e^{\frac{1}{e}} において値が発散する(計算結果がinf
になる)ことを利用しています。
Swift
import Foundation
func calc(x: Double) -> Double { calc(x: x, loop: 1000000) }
func calc(x: Double, loop: Int) -> Double {
var buf = x
for _ in 0..<loop {
buf = pow(x, buf)
}
return buf
}
var left = 1.01, right = 2.0
while right - left > 1e-9 {
let mid = (left + right) / 2
if calc(x: mid).isInfinite {
right = mid
} else {
left = mid
}
}
print(left)
https://paiza.io/projects/QW4dQK1Olh71PG1LvBvQPw
output
1.4446678609400987
一方で
e^{\frac{1}{e}}=1.4446678610097661336583391085964302230585954532422531658205226643...
https://www.wolframalpha.com/input/?i=e^(1%2Fe)&lang=ja
下8桁まで一致していることが確認できました。
いずれにしても、x = e^{\frac{1}{e}} が境界点であるのは正しいと考えられるので、(9)が確かめられたと言えるでしょう。
次回
無限反復指数関数の定義域に関するメモ(Part 2)
参考リンク
https://www.ajimatics.com/entry/2018/12/01/070000
https://marukunalufd0123.hatenablog.com/entry/infinitetetlation
http://neqmath.blogspot.com/2018/06/blog-post_29.html
Discussion