・ 私の未解決問題 K.S氏
「 Y=|X|x のグラフをかき、Y=/2 との交点の個数を求めよ。また、そのときの交
点のX座標を求めよ。」
これは、自分の考えた問題である。なぜ、こんな問題を思いついたかというと、「0の0乗と
は何か?」という思いがあり、「X→0 のときの|X|x の極限値は何か?」という問題にた
どり着いたからである。この極限値は対数をとって、ロピタルの定理を使うと
1 になる。
そこで、グラフを用いて、 方程式|X|x=/2 を考えてみる。 グラフから、この解は3個ある。 1/2 と 1/4 と負の数の解である。 負の数の解があるということは確かに 分かるのだが、その値は求められなか った。というわけで、この問題は未だに 解けていない。解がはっきりとした数で 表せないというのは、なんともいえない 気がする。今までに見てきた「数学の 問題」というのには、必ずはっきりした 解があったのに・・・。何とも奇妙である。 こういうわけで深く感銘を受けた。 |
(追記) 空舟さんからのコメントです。(平成24年8月25日付け)
負の解の問題は、t=−X と変換すれば、tt= という問題になりますが、「ランベルトの
W関数」というのがあるらしいです。特殊関数ってやつですね......。
(コメント) ランベルトのW関数を用いて解いてみた。
tt= の両辺の e を底とする自然対数をとると、 t・log t =log
このとき、 log t ・elog t =log なので、 log t =W(log)
よって、 t = eW(log) となる。
この値を調べるには、数値計算しかなさそうですね...。
らすかるさんからのコメントです。(平成24年8月25日付け)
ランベルトのW関数に関しては以前数値計算方法を研究したことがあって、自作電卓にも
搭載しています。
ネットで検索すると3次収束と4次収束の式は出てきますが、多桁計算にはちょっと遅いの
で、自作電卓では12次収束の式を使用しています。※漸化式は自作で、24次収束まで作り
ました。
ところで、 |x|x=/2 の負の解は、
-log2/{2W(log2/2)}=-1.30435117890103653364720123148623407503553382998902…
となります。
(コメント) らすかるさん、ありがとうございます。約−1.3位ですか。上図の−1の左側の
部分の視界が少し開けた感じです...。
GAIさんからのコメントです。(平成24年8月25日付け)
空舟さんから紹介された記事を読んで計算してみました。まず、
W(x)=Σn=1〜∞ {(-n)n-1/n!}xn
で定義される関数Wを作る。(計算機で処理する時には∞を1000で設定しました。)
xx= を満たすxは、
(一般に、x・ex=t を満たすxを求めることがW関数を使うことで出来るようになる。)
x=log()/W(log() から求まり、
x=0.3465739502.../W(0.3465739502...)=1.30435117890....
なる値が出る。これから、|x|x=/2 を満たすxは、x=1/2、1/4、-1.30435117890.... と3個
存在する。
ここで、t=-1.30435117890.... に対して、|t|t=0.7071067811865475244008443619...
一方 /2=0.7071067811865475244008443621... である。
同様にして、y=2x … (1) 、y=3x … (2) の2つの交点のx座標を求める計算をラ
ンベルトの関数Wを用いるやり方で挑戦。
2t=3t から、両辺を 2t で割って、 1=3te-t・log2 さらに、両辺を3で割って、
1/3=te-t・log2 この両辺に -log2 を掛けて、 -(log2)/3=-(log2)te-t・log2
これをランベルトの関数を用いて書き換えると、 -(log2)t=W(-(log2)/3)
これから、 t=W(-(log2)/3)/(-log2)
これをプログラムに組み、数値計算させると、
t= 0.4578223732320550555738866680640554097777750832317766…
が求まる。これでいいのかな?もう一つの解はどうしたらいいのかな?
らすかるさんからのコメントです。(平成24年8月25日付け)
W(x)は、-1/e≦x<0 のとき2価ですから、W(-(log2)/3)は、
-0.317338287203061937813337422441155649112826474209541704773596…
と
-2.296520253118852045622163925693816744412216672265184546034003…
の2つの値をとります。従って、t の値は、
0.457822373232055055573886668064055409777775083231776637656055…
と
3.313178380475634845996561019588783663458454297890271137009552…
の2つです。
GAIさんからのコメントです。(平成24年8月25日付け)
W(x)は、-1/e≦x<0 のとき2価ですから、W(-(log2)/3)は、
-0.317338287203061937813337422441155649112826474209541704773596…
までは、グラフを確認して納得。ここで、次の値はどうやって計算したのですか?
-2.296520253118852045622163925693816744412216672265184546034003…
らすかるさんからのコメントです。(平成24年8月25日付け)
W(a)の値は、
(1) aからW(a)の漸化式に使う初期値を計算する
aの値によって(0、0に近い値、-1/eに近い値、その他)、また分岐によって処理方法や計
算式が異なります。
(2)
12次収束の漸化式を2回または3回計算する(180桁〜2200桁の場合)
という手順で計算しています。どちらの値の計算でも(2)の計算は全く同じで、(1)で計算する
初期値が-0.317…と-2.296…のどちらに近いかによって収束先が異なります。
この処理の中身や計算式を書くことは出来なくはないですが、計算手順は高速化のため
に多くの場合分けをしており、また計算式も自作電卓用に最適化されていますので、書くと
とても長くなり、これをそのまま他の環境に移植してもあまり意味がありません。もし自分で
計算してみたいということであれば、環境(求めたい定義域、求めたい桁数、高速化が必要
かどうかなど)を教えていただければ、手頃な式を提示します。
GAIさんからのコメントです。(平成24年8月25日付け)
x^x^x^x.....=((x^x)^x)^x.....が収束するとき、ランベルト関数Wを用いて、W(-log(x))/(-log(x))
の極限値を持つ。
これから、
(π/3)^(π/3)^(π/3)^(π/3)^.....=1.0495954675...
(π/4)^(π/4)^(π/4)^(π/4)^.....=0.8202519485...
(2^(1/2))^(2^(1/2))^(2^(1/2))^(2^(1/2))^.....=2
(2^(1/3))^(2^(1/3))^(2^(1/3))^(2^(1/3))^.....=1.3734671196...
(2^(1/4))^(2^(1/4))^(2^(1/4))^(2^(1/4))^.....=1.2396277295...
(2^(1/5))^(2^(1/5))^(2^(1/5))^(2^(1/5))^.....=1.1772785503...
なる関係が成立する。本日始めて知った知識なので、どなたか数値のチェックをして下さい。
らすかるさんからのコメントです。(平成24年8月25日付け)
((x^x)^x)^x..... は、x>1のとき収束しません。x^(x^(x^(x^(x^…
ならば、値は正しいです。
ax=x の解が、 x=W(-loga)/(-loga) ですから、そのようになりますね。
また、ちょっと気になったので、収束する条件を調べてみたのですが、ここにも
分岐-1 (W(x)<-1である方)
の値が出てきました。W(x)のうち分岐0の値をW0(x)、分岐-1の値をW1(x)として
x>0、 a[n+1]=x^a[n] 、 a[0]>0 とするとき
x<1 ならば、 a[0] の値にかかわらず W0(-logx)/(-logx) に収束する
x=1 ならば、 a[0] の値にかかわらず 1 に収束する
x>e^(1/e) (e^(1/e)≒1.444667861) ならば、 a[0]の値にかかわらず発散する
1<x≦e^(1/e) のときは、
a[0]>W1(-logx)/(-logx) ならば、発散
a[0]=W1(-logx)/(-logx) ならば、 W1(-logx)/(-logx) に収束
a[0]<W1(-logx)/(-logx) ならば、 W0(-logx)/(-logx) に収束
となるようです。
当HPがいつもお世話になっているHN「GAI」さんからの問題提起です。
(平成26年9月30日付け)
ex=x を満たす実数xは存在しない。そこで、 ez=z を満たす複素数 z を求めて下さい。
S(H)さんから参考資料を頂きました。(平成26年9月30日付け)
(参考) S(H)さんの投稿
らすかるさんからのコメントです。(平成26年9月30日付け)
ez=z より、 1=ze-z すなわち、 −1=−ze-z
よって、 −z=W(−1) (ランベルトのW関数) より、 z=−W(−1) となり、初等関数
で解を書き表すことができません。
数値的には、 z=a+b・i とおくと、 a=ea・cosb 、b=ea・sinb
b=ea・sinb から、 a=log(b/sinb) なので、 a=ea・cosb から、
b=arccos(a/ea)+2nπ=arccos(log(b/sinb)/(b/sinb))+2nπ
よって、初期値を、(2n+1/2)π として、 x ← arccos(log(x/sinx)/(x/sinx))+2nπ
を繰り返すことで近似値が求められます。(適当な式なので収束は遅いです)
求めたxに対して、z=log(x/sinx)±i・x が解となります。具体的には、
n=0 のとき
z≒0.318131505204764135312654251588±1.337235701430689408901162143194i
n=1 のとき
z≒2.062277729598283884978486720008±7.588631178472512622568923954108i
n=2 のとき
z≒2.653191974038697286601106643318±13.949208334533214455288918039003i
n=3 のとき
z≒3.020239708164501151377243687941±20.272457641615221810348855905451i
・・・・・・・・・・・・・・・・・・・
のようになります。