fortran66のブログ

fortran について書きます。

分割数 p(200) 直接計算 (その2)

Hardy-Ramanujan-Rademacher の p(n) 計算式

追記:補足あり
分割数 p(200) 直接計算 (その2)補足 - fortran66のブログ


以前、Hardy-Ramanujan-Rademacher の分割数 p(n) に対する式の計算を Fortran で行い、一部数値が G. E. Andrews の本 The Theory of Partitions に載っている結果と 合わないことを述べました。
fortran66.hatenablog.com

The Theory of Partitions (Encyclopedia of Mathematics and its Applications)

The Theory of Partitions (Encyclopedia of Mathematics and its Applications)


その後もずっと気にしていたのですが、codeanywhere の計算例として実行した後、冬の日の徒然にしばし検索してみたところ、Herbert S. Wilf による結果が Fortran 計算と同じ結果を与えていることが分かりました。

まず、Andrews の本の数値ですが、これはf:id:fortran66:20171229142333p:plain
G. H. Hardy and S. Ramanujan の「Asymptotic Formulaæ in Combinatory Analysis」のオリジナル論文中の計算の値と一致していることが分かりました。
f:id:fortran66:20171229142422p:plain
onlinelibrary.wiley.com
私には論文の数学的な内容を追えないので、諸書中の解説を勝手に解釈して、Hardy-Ramanujan は不正確な漸近形の近似式を与え、Rademacher が後に正確な式を与えたと思っていたのですが、どうも項展開したものは数値的には両者とも一致してよいようです。

Fortran での数値計算

ここで、以前の Fortran Program によって改めて p(100) と p(200) を計算しなおして見ますと以下のようになります。

p(100),
     1                 190568944.783                        -0.000
     2                       348.872                        -0.000
     3                        -2.598                        -0.000
     4                         0.685                         0.000
     5                         0.318                         0.000
     6                        -0.064                        -0.000
p(100)                 190569291.996                        -0.000
p(200)
     1             3972998993185.896                        -0.000
     2                     36282.978                        -0.000
     3                       -87.584                         0.000
     4                         5.147                         0.000
     5                         1.424                         0.000
     6                         0.071                         0.000
     7                        -0.000                        -0.000
     8                         0.044                         0.000
p(200)             3972999029387.976                        -0.000

P(100) の結果は、Hardy and Rmanujan の結果を再現していることが分かります。また、p(200) の結果は第 3 項 -87.584 以外を再現していることが分かります。

Wilf の講義ノートの結果

さて三つの数字「3972998993185.896 36282.978 -87.5」で検索してみると、米国人数学者故 H.S.Wilf の講義ノートが引っかかり、そこにはここでの Fortran での計算結果と同じ数値が現れています。
3972998993185.896 36282.978 -87.5 - Google 検索

  • Lectures on Integer Partitions (From PIMS lectures given in summer 2000 at U. of Victoria. Copyright 2000.)

Herbert Wilf'
f:id:fortran66:20171229145234p:plain

また、以前疑問だった式の不等号に関しても正しいと思われるものになっています。(追記:ただし始まりの方は 0<=h ではなく 0

To illustrate this formula, we steal an example from [2], for n = 200.
Example 8
Feel free to verify this on your own:

と、Andrews の本から例題をかっぱらってくるといいながら、自分で検算してみるとよいと言っているので、計算結果が合わなかったことを暗示していると推察します。この講義ノートは、普通そうであるように学生がとったノートを起こしたものなので、この辺でむにゃむにゃ言っていたけど、何言いたいのかはっきりしないので文脈を失ったのかもしれません。

H. S. Wilf

この Wilf は、以前書いた記事の Wilf だと思います。
fortran66.hatenablog.com
この記事の本は 1960年代に編ぜられた本ですが、すでにいい結果が出揃ってまとめられています。日本語訳も出ています。また Wilf は1970年代には FORTRAN66 で様々な組み合わせ論のがらみのプログラムを書いています。

Mathematical Methods for Digital Computers: v. 2

Mathematical Methods for Digital Computers: v. 2

Mathematical Methods for Digital Computers: v. 1

Mathematical Methods for Digital Computers: v. 1

Combinatorial Algorithms: For Computers and Calculators (Computer science and applied mathematics) (English Edition)

Combinatorial Algorithms: For Computers and Calculators (Computer science and applied mathematics) (English Edition)

電子計算機のための数学的方法 (1972年)

電子計算機のための数学的方法 (1972年)

A=B (English Edition)

A=B (English Edition)

A=B―等式証明とコンピュータ (AKピータース・トッパン数理科学シリーズ)

A=B―等式証明とコンピュータ (AKピータース・トッパン数理科学シリーズ)

  • 作者: マーコペトコブセク,ドロンザイルバーガー,ハーバート・S.ウィルフ,Marko Petkov〓@7AAD@sek,Doron Zeilberger,Herbert S. Wilf,小林〓治,伊藤尚史
  • 出版社/メーカー: トッパン
  • 発売日: 1997/09
  • メディア: 単行本
  • クリック: 3回
  • この商品を含むブログを見る

結論

こうしてみると Wilf の計算結果は自分で実際に計算して確かめてみたものではないかと思われます。Andrews の本は、付録に(他の内容ですが) FORTRAN のプログラムがあったりして、自分で計算していそうな雰囲気を醸し出していましたが、どうも Hardy&Ramanujan の結果の引きうつしの可能性があります。そして、ネット検索してみると分かりますが、引っかかるものは Hardy&Ramanujan/Andrews の値と同じものばかりなので、それがさらに孫引きされているようです。

ただ Andrews の本は 1980年代にペーパーバック化されているので、その時に数値が修正されているかもしれません。また Hardy-Ramanujan の漸近形ではたまたまあの項だけずれるのかもません。暇なときにもう少し勉強してまた調べてみたいと思います。