« tan1°が有理数か無理数かという入試問題があったが、Python+Sympyで実際に計算してみる。 | トップページ | 京都の向日市のJR西日本の車両基地?で黄色い電車を見た。キヤ141系「ドクターWEST(ウェスト)」というやはり検査用の車両だそう。 »

2021年6月10日 (木)

愛の方程式、i^i^i^i^i^...(虚数iのi乗のi乗のi乗の、、、つまり愛の愛情の愛情の愛情の、、、)をPython(SciPy)のLambertのW関数で計算する。 そしてexp(π/2)^exp(π/2)^exp(π/2)^… = -i (虚数)になる。

ずっと前に書いた話ですが、、、

愛の方程式、i^i^i^i^i^...(iのi乗のi乗のi乗の、、、つまり愛の愛情の愛情の愛情の、、、)の答えは?

複素数の複素数乗の複素数乗の、、、、ってどうなる?

というのをPythonでやろうと思う。こういうやつ。

Iiiii1

普通にプロットすると、、、(10万回繰り返す)

Iiiii2

どこかに収束している。その値は、

(0.4382829367270323+0.3605924718713855j)

になった。これをLambertのW関数を使って求めよう。

 

c=zzzzzzz

と置いて、両辺のlogをとる。

log(c) = c*log(z)

ここで

c = exp(log(c))

なので、

log(c) = exp(log(c)) * log(z)

log(z) = exp(-log(c))*log(c)

ということで

(-log(z)) = (-log(c)) * exp( -log(c)) 

となる。

ところでLambertのW関数というのは

y = w*exp(w) となるようなw=W(y)のことをいう。

-log(c) = W(-log(z))

c = 1/exp(W(-log(z))

これで終わってもいいですが、

W(-log(z))*exp(W(-log(z))) = -log(z)

でもあるので、

c = W(-log(z)) / (-log(z))

ともかける。

ではこれをSciPyで計算しよう。簡単に、

from scipy.special import lambertw
z = 1j
c = lambertw(-np.log(z))/(-np.log(z))
print(c)

で答えは、






(0.4382829367270321+0.3605924718713855j)

となってさっきと一致!

ちなみに、z=√2 とすると、

from scipy.special import lambertw
z = np.sqrt(2)
c = lambertw(-np.log(z))/(-np.log(z))
print(c)

(2.0000000000000004-0j)

2ですね。これを参照。

√2の√2乗の√2乗の、、、、を無限に繰り返すと? (ちょっと追記)

そしてz = exp(π/2)とすると、、、なんと

from scipy.special import lambertw
z = np.exp(np.pi/2)
c = lambertw(-np.log(z))/(-np.log(z))
print(c)

(-1.0028537113604063e-17-1j)

-iになる!

« tan1°が有理数か無理数かという入試問題があったが、Python+Sympyで実際に計算してみる。 | トップページ | 京都の向日市のJR西日本の車両基地?で黄色い電車を見た。キヤ141系「ドクターWEST(ウェスト)」というやはり検査用の車両だそう。 »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« tan1°が有理数か無理数かという入試問題があったが、Python+Sympyで実際に計算してみる。 | トップページ | 京都の向日市のJR西日本の車両基地?で黄色い電車を見た。キヤ141系「ドクターWEST(ウェスト)」というやはり検査用の車両だそう。 »

最近の記事

最近のコメント

2021年7月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
フォト
無料ブログはココログ