https://p-suugaku.blogspot.com/2022/03/yx2y2x3.html
ですが,煎じ詰めれば,x^2 = 2^x の解を求めるということ。
元記事では第 3 の解をニュートン法を使って(しかも Google スプレッドシートを用いて)求めている。
SymPy を使うと以下のようになる。
ulia> using SymPy
julia> @syms x
(x,)
julia> eq = Eq(x^2, 2^x)
2 x
x = 2
julia> a = solve(eq)
3-element Vector{Sym}:
2
4
-2*LambertW(log(2)/2)/log(2)
julia> a[3].evalf()
-0.766664695962123
3 番目の解は,-2*LambertW(log(2)/2)/log(2) ということではあるが,
a[3].evalf() = -0.766664695962123
ということですね。
> ただし、これはあくまで近似解だという点は留意すべきです。
> Googleスプレッドシートで計算で扱えるのは15桁までのようで、その限られた桁数で計算していたため値が収束しているように見えたに過ぎません。
> なので、収束したからと言って真の解を得たとはいえませんが、十分参考になると思います。
> 微分と表計算ソフトの知識さえあれば簡単に近似解を求められるので、試してみてください。
と,控えめ?な表現ですが,解析解でなくても数値解で十分ですよね。
逆に,-2*LambertW(log(2)/2)/log(2) ですって言われても,今の私には,ワケワカメ。
julia> using LambertW
julia> -2*lambertw(log(2)/2)/log(2)
-0.766664695962123