■φ形式の算法(その10)

 コラム「パスカルの三角形の概3等分(その27)」では,リュカ数Lnに対して

  (2^n+2Ln)/5

  (2^2^n+2L2^n)/5

は整数になることを示している.

===================================

 2^n−1の形の数が素数であるためにはnが素数であることが必要条件です.一方,2^n+1の形が素数であるためにはn=2m の形であることが必要です.しかし,このことは十分条件ではなく,指数nがどんな数のとき2\n−1,2^n+1が素数になるかはいまだに解決されていません.

 添字に2^nをもつリュカ数列{L2^n},すなわち,3,7,47,2207,4870847,・・・では,漸化式

  L2^(n+1)=(L2^n)^2−2

が成り立ちますが,この漸化式とフェルマーの小定理(もしpが素数であれば,任意の整数aに関してa^p−aはpの倍数である.1640年)を応用した素数判定法がリュカテストです.

 リュカはフィボナッチ数列,リュカ数列を用いてメルセンヌ数(2^n−1)が素数であるかどうかを判定し,(2^127 −1)が素数であることを示しています(1876年).この数は12番目のメルセンヌ素数で,1952年の13番目(2^521 −1)からはコンピュータによる発見ですから,コンピュータを使わずに見つけられた最大のメルセンヌ素数になっていて,わかっている最大の素数として最長不倒記録を保ち続けました.

 リュカテストはメルセンヌ数が素数であるか否か判定する非常に能率的なアルゴリズムとなっていて,リュカテストの効率のよさのおかげで最近の素数の世界記録はすべてメルセンヌ素数が独占しています.

 なお,フェルマー数(2^2^n+1)に対してはリュカテストと同じくらい能率的なペパンの素数判定法があり,コンピュータを使って6番目のフェルマー素数の探索が続けられているのですが,はたして本当に存在するのでしょうか.

 リュカやペパンの素数判定法によってある数が合成数とわかってもそれを素因数分解するのはとても大変な作業になります.現在,巨大な整数の素因数分解に楕円曲線法とか平方ふるい法とか能率のよい素因数分解法が考え出されています.

===================================

【補】フェルマー数

 フェルマー数は簡単な漸化式Fn =(Fn-1 −1)^2+1を満たしています.この式から

  Fn −2=Fn-1 (Fn-1 −1)=・・・=F0 F1 ・・・Fn-1

言い換えれば,Fn −2はそれより小さいすべてのフェルマー数で割り切れることがわかります.

===================================