・ある数を見つめて                        GAI 氏

 オンライン整数列大辞典の「A003504」に「Goebel's Sequence」なる数列が載っており、

1, 2, 3, 5, 10, 28, 154, 3520, 1551880, 267593772160,7160642690122633501504,
                     4661345794146064133843098964919305264116096,・・・

と急激に増えていく数が並んでいる。この数は、数列{a(n)}が

 a(0)=1 、a(n)=(1+a(0)^2+a(1)^2+a(2)^2+・・・・+a(n-1)^2)/n

の漸化式で生成されていく値を表すことになっている。

 その先を知りたいため、コンピューターの力を借り見つけていくもメモ化の手法を駆使して
も自分のもののスペックの限界でa(36)程度まで位しか具体的数値が分からない。

 a(35)の値でもその大きさは莫大で、5.59*10^697208171程度ですが、整数であることは確
認されます。

 従って、この先いくらでも大きくはなるだろうが、まさか、この計算の先に分数型が現れる
とは想像もできない。

 ところが、このページでの主張は、いつかは整数ではなくなりますよ! とある。

 「エッ!!!、何時?」と思うも、この先を知る手段を立たれていてどうにもならない。リンク
先をいろいろ調べる中で、どうも a(43) が破綻するらしい。

 ここに書かれている、やたら複雑な近似公式を利用して、a(43)の値の概算を見てみると、

  a(43)≒5.409309*10^178485291567

であるという。(なんという大きさか!)これではいくら高性能のコンピューターでも出力しよう
にもどうにもならない。

 こんな手に負えない膨大な対象物に、「いえ、これは整数にはなれませんよ。」と断言でき
る根拠ってなんなんだろう?

 さらに調査していたら、「A108394」に、「Goebel's Sequence」の漸化式が2乗したものの定
義式であったものを、一般に、n乗(n=2,3,4,・・・,61)にして生み出す数列のそれぞれに対して、
初めて整数とはならない部分の項数が調査済みである事を発見した。

 これによると、n=49(乗)での漸化式から生み出される数列の第1559項目は初めて整数で
はありませんよ。ということになる。

 2乗でこれだけ大きな数に膨れていくもの49乗しかも第1559項目ならどんだけ〜と叫びたく
なる。しかし、これにもはっきりと見つけられていることは驚愕のなにものでもありません。

 この辺りの構造や手法に詳しい方がおられましたら、概略だけでも教えて下さい。


 ハンニバル・フォーチュンさんからのコメントです。(平成30年11月28日付け)

 「Gobel's Sequence」は、ご覧になりましたでしょうか?


 Seiichi Manyamaさんからのコメントです。(平成30年11月28日付け)

 「A288641

 kが素数以外のとき、k乗の場合に対して、最小のnを調べるのは難しいですが、任意のkに
対し、整数とならないnを見つけることは容易です。ただし、f(n) の値を求めることはできませ
んが...。

 GAIさん、参考までに、「43:Gobel数列」の記事がわかりやすいのではないでしょうか?


 GAI さんからのコメントです。(平成30年11月29日付け)

 とても参考になるヒントありがとうございました。時々Seiichiさんの仕事の部屋にお邪魔し
て、2015年頃より開始されているRubyによるプログラム付きの色々な数学的な仕事を拝
見させて頂いております。自分もこのソフトを使えるようにしたいと、どんなコマンドをどこ
でどのように使ったらいいかを具体的問題を前に見れるのでとても参考になります。

 いろいろなことを読んでみて、何となくわかりかけてきたかな?でも最初は記事を読んで
も、何で43番目がいきなり出て、それの数値で証明されているのを読んでも、じゃー、一体
43をどうして探せるの?に釈然としない気持ちしかわかず、分かっている人が分からない
人に向かって解説することってやはり難しいことなんですかね。

 自分なりに納得した流れを長くなりますがアップしておきます。私の様になかなかピンとこ
ない人がいたら、少しでも参考にして下さい。

gp > F2(p)={S2=[1,2];a=2;}for(n=1,p-2,b=lift(Mod(a*(a+n)/(n+1),p));
     S2=concat(S2,b);a=b);S2
gp > forprime(p=2,50,print(p"=>",F2(p)";",S2[p]*(S2[p]+p-1)%p))

(→ 計算結果



                         投稿一覧に戻る