リュカ数列
リュカ数列

は
整数

に対して、次のように定義される。
この数列の一般項は、a,b(a,bは

の解)を用いて
と表される。ちなみに、P=1,Q=-1のとき、つまり

がフィボナッチ数、

がリュカ数となる。
このリュカ数列について、次の等式が成立する。
pをDと互いに素な素数とするとき、
(

は平方剰余記号)
リュカ数列の計算
地道に一項ずつ計算すると時間がかかりすぎ、
一般項の形では、a,bが無理数になって計算が大変になることがあるが、次の方法でもリュカ数列の計算ができ、バイナリ法を用いるとかなり高速である。
また、

の計算については、

(mは奇数)であることを用いるか、Baille-PSW素数判定法を用いる。
リュカ擬素数テスト(Lucas pseudoprime test)
リュカ擬素数テストでは、先の等式の対偶をとって、
奇数nに対して、
(

はヤコビ記号)
が成立するとき、nは合成数であると判定する。また、合成数であるのに先の等式を満たすようなnをリュカ擬素数(Lucas pseudoprime)と呼ぶ。
(リュカ擬素数となる条件として

を加えることもある。)
Baillie-PSW素数判定法
Baillie-PSW素数判定法のアルゴリズムは次のようになる。
入力:素数判定する奇数 n
出力:合成数だとわかれば「nは合成数である」、わからなければ「nは確率的素数である」と出力する。
ステップ1
2を底としてミラー・ラビンテストを行う。
失敗すれば「nは合成数である」と出力して終了する。
ステップ2
a=5,-7,9,-11…のなかで最初に

を満たすようなaを探す。
ステップ3
D=aとなるようなP,Qでリュカ擬素数テストを行う。
失敗すれば「nは合成数である」と出力して終了する。
そうでないとき「nは確率的素数である」と出力して終了する。
最初に2を底としてミラー・ラビンテストを行うことで、もし失敗すれはnは合成数であるし、成功すれば

という等式が成立するので計算が楽になるのである。
強リュカ擬素数、超強リュカ擬素数(strong Lucas pseudoprime,extra strong Lucas pseudoprime)
リュカ擬素数テストは、さらに強力なものにすることが可能で、
奇数nに対して、

(sは奇数)となるようにr,sを定めたとき、
または、あるj(

)において
nが奇素数の時この等式は成立し、また、合成数であるのにこの等式を満たすようなnを強リュカ擬素数と呼ぶ。
この判定法は簡単にBaillie-PSW素数判定法に応用でき、その精度を高めることができる。
さらに、Q=-1において、
または、
nが奇素数の時この等式は成立し、また、合成数であるのにこの等式を満たすようなnを超強リュカ擬素数と呼ぶ。
最終更新:2013年03月16日 23:00