裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

y=x^2とy=2^xの3つ目の共有点をニュートン法で探してみる

2022年03月15日 | Julia

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

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村