Skip to main content
QUICK REVIEW

[論文レビュー] Improved algorithms for left factorial residues

Vladica Andrejić, Alin Bostan|arXiv (Cornell University)|Apr 19, 2019
Analytic Number Theory Research参考文献 12被引用数 4
ひとこと要約

本稿では、左階乗剰余 !p mod p を計算するための最適化されたアルゴリズムを提示している。行列階乗表現と剰余木を活用することで、すべての素数 p ≤ n に対して時間計算量を O(n log³⁺⁰ n) に低減した。著者らは、p < 240 の範囲にまで探索を拡大し、クレーパの予想や社会主義的素数の反例が存在しないことを確認した。計算は高度な算術ライブラリと高性能ハードウェアを用いて実行された。

ABSTRACT

We present improved algorithms for computing the left factorial residues $!p=0!+1!+...+(p-1)! \!\mod p$. We use these algorithms for the calculation of the residues $!p\!\mod p$, for all primes $p$ up to $2^{40}$. Our results confirm that Kurepa's left factorial conjecture is still an open problem, as they show that there are no odd primes $p<2^{40}$ such that $p$ divides $!p$. Additionally, we confirm that there are no socialist primes $p$ with $5<p<2^{40}$.

研究の動機と目的

  • 左階乗剰余 !p mod p をより高速に計算するアルゴリズムの開発、ここで !p = 0! + 1! + ... + (p−1)! である。
  • 従来の限界を超えて、クレーパの予想の反例となる可能性のある探索範囲を拡大すること。
  • 条件 (!p−2)² ≡ 1 (mod p) を満たす 5 より大きな素数 p に対して、社会主義的素数が存在しないことを検証すること。
  • 行列階乗表現と剰余木技術を用いて計算効率を最適化すること。
  • 独立した O(p⁰.⁵⁺⁰) アルゴリズムを用いて、高精度な結果の検証を実施すること。

提案手法

  • Ck = [[k, 1], [0, 1]] と定義される行列階乗 Mn = C1C2⋯Cn = [[n!, !n], [0, 1]] を用いて、n! と !n を表現する。
  • Fast Fourier Transform を用いた多項式乗算を応用し、[4, Theorem 8] を適用することで、単一の剰余 rp = !p mod p を O(p⁰.⁵⁺⁰) 時間で計算する。
  • 積木構造を用いて、区間 (m, n] 内のすべての素数の剰余を同時に計算し、O((n−m) log³⁺⁰ n) の計算量を達成する。
  • 4段階の計算プロセスを実装する:(1) Pi,j に対する積木、(2) P0,0 を法とする Mm の計算、(3) Ai,j = ∏Ck mod Pi,j の計算、(4) Ri,j = Mm ⋅ ∏Ai,r mod Pi,j を用いた rp の抽出。
  • GMP および NTT ライブラリを活用して大規模整数算術を実行し、マルチスレービングと SSD キャッシュを用いて I/O ボトルネックを最小限に抑える。
  • 選択された素数に対して NTL ライブラリを用いた独立した O(p⁰.⁵⁺⁰) アルゴリズムにより、結果の検証を実施した。

実験結果

リサーチクエスチョン

  • RQ1240 未満の奇素数 p で、p が左階乗 !p を割り切るもの(クレーパの予想に反するもの)は存在するか?
  • RQ25 < p < 240 の範囲に、すべての階乗 2!, 3!, ..., (p−1)! mod p が互いに異なる社会主義的素数 p は存在するか?
  • RQ3すべての p < n に対して、左階乗剰余の計算の時間計算量を O(n²/log n) 未満に低下させることは可能か?
  • RQ4大規模な ℓ に対して、区間 (2³⁴, 2⁴⁰) 内の |rp| < ℓ の分布をヒューリスティックモデルがどの程度正確に予測できるか?
  • RQ5メモリ使用量と性能のトレードオフをどの程度活用することで、大規模な剰余計算の性能向上が達成できるか?

主な発見

  • 240 未満の奇素数 p で p | !p を満たすものは存在せず、クレーパの予想はこの範囲内で反証されていないことが確認された。
  • 5 < p < 240 の範囲に社会主義的素数は存在せず、従来の結果(p < 10¹¹ まで)をさらに拡張した。
  • 区間 (2³⁴, 2⁴⁰) 内で |rp| < 10⁷ となる素数の数に対するヒューリスティック予測は 3,250,379 であり、実際の数 3,250,456 と非常に近い値であった。
  • |rp| < 100 の場合、区間 (2³⁴, 2⁴⁰) 内で 24 個の素数が見つかったが、予想される 32 個よりわずかに少ないが、より大きな ℓ に対するヒューリスティック推定値と整合的であった。
  • 段階 2(P0,0 を法とする Mm の計算)は、合計 33,000 コア時間のうち約 65% を占め、後半のブロックでは最大 80% に達した。これは、計算のボトルネックであることを示している。
  • 実装は https://github.com/milostatarevic/left-factorial で公開されており、64GB の RAM と 16TB のディスク容量を用い、6 核 CPU と SSD キャッシュによる最適化 I/O を実装した。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。