擬素数(pseudoprime)とは、合成数 $n$ であって、ある整数 $a$ について Fermat の小定理と同じ合同式 $a^{n-1}\equiv1\pmod n$ を満たすもの(底 $a$ の擬素数)である。底 $2$ の擬素数のうち最小のものは $341=11\cdot31$ である。$n$ を擬素数にする底の剰余類はちょうど $\prod_{p\mid n}\gcd(p-1,n-1)$ 個あり、Carmichael 数でない合成数ではそれが既約剰余類の半分以下になる一方、$2$ 以上のどの底についても擬素数は無限に存在する。Fermat の小定理による素数判定を誤らせる数であり、より強い条件をもつ Euler–Jacobi 擬素数や強擬素数の考え方が、Miller–Rabin などの確率的素数判定の基礎になる。
前提知識: Fermatの小定理, 合同式, 既約剰余類群, 中国剰余定理
Fermatの小定理 によれば、$p$ が素数で $a$ が $p$ と互いに素なら $a^{p-1}\equiv1\pmod p$ である。そこで、与えられた $n$ について $a^{n-1}$ を $n$ で割った余りを計算し、それが $1$ でなければ $n$ は合成数だと結論できる。冪の余りは繰り返し 2 乗で速く計算できるので、これは大きな数が合成数であることを見抜く実用的な方法になる。ところが逆は成り立たない。$341=11\cdot31$ は合成数なのに $2^{340}\equiv1\pmod{341}$ を満たす。このように、Fermat の小定理の合同式を満たしてしまう合成数を 擬素数 という。
この記事では、擬素数の定義と例を述べたあと、次を証明する。$n$ を擬素数にする底の個数がちょうど $\prod_{p\mid n}\gcd(p-1,n-1)$ であること(thm-psp-count)とその帰結。底 $2$ の擬素数 $n$ から $2^n-1$ という新しい擬素数が作れること(thm-psp-mersenne)。$2$ 以上のどの底についても擬素数が無限にあること(thm-psp-cipolla)。最後に、素数判定で使われる、より強い条件をもつ擬素数(Euler–Jacobi 擬素数と強擬素数)との関係を調べる。
$n\ge2$ を合成数、$a$ を整数とする。
$$
a^{n-1}\equiv1\pmod n
$$
が成り立つとき、$n$ を 底 $a$ の擬素数(pseudoprime to base $a$)または Fermat 擬素数 という。
この合同式が成り立てば $a\cdot a^{n-2}\equiv1\pmod n$ なので、$a$ は自動的に $n$ と互いに素である。$p$ が素数で $p\nmid a$ なら Fermat の小定理により $a^{p-1}\equiv1\pmod p$ だから、底 $a$ の擬素数とは、「Fermat の小定理の結論だけを見ると素数と見分けがつかない合成数」のことである。
条件は $a$ を $n$ で割った余りだけで決まるので、底は $(\mathbb Z/n\mathbb Z)^\times$ の元と考えてよい。$a\equiv1\pmod n$ なら条件はいつも成り立ち、$n$ が奇数で $a\equiv-1\pmod n$ なら $n-1$ が偶数なのでやはり成り立つ。これらは $n$ について何も語らないので、底 $\pm1$ を 自明な底 と呼ぶことにする。
文献によっては、$n$ を奇数に限ったり、底を $1< a< n-1$ に限ったりする。また、$a^n\equiv a\pmod n$ を満たす合成数を擬素数と呼ぶ流儀もある。$\gcd(a,n)=1$ なら $a^n\equiv a$ の両辺を $a$ で割って $a^{n-1}\equiv1$ が得られるので、二つの流儀は $n$ と互いに素な底については一致する。$\gcd(a,n)>1$ のときは $a^{n-1}\equiv1$ は決して成り立たないが、$a^n\equiv a$ は成り立つことがある(たとえば Carmichael数 $n$ ではすべての整数 $a$ について $a^n\equiv a$ である)。この記事では上の def-psp-main を使う。
擬素数を判定に使うときは、次の集合が基本になる。
$n\ge2$ に対し
$$
B(n):=\{\,a\in(\mathbb Z/n\mathbb Z)^\times : a^{n-1}=1\,\}
$$
とおく。$n$ が合成数なら、$n$ が底 $a$ の擬素数であることと $a\bmod n\in B(n)$ は同値である。
$n$ が素数なら Fermat の小定理により $B(n)=(\mathbb Z/n\mathbb Z)^\times$ である。合成数 $n$ について $B(n)$ がどれだけ大きいかが、Fermat の小定理を使った素数判定(Fermat テスト)がどれだけ誤るかを決める。$B(n)$ が既約剰余類全体になる合成数が Carmichael数 である。
$a^{n-1}\equiv1\pmod n$ は、中国剰余定理によって、$n$ の各素因数冪 $p^e$ を法とする条件 $a^{n-1}\equiv1\pmod{p^e}$ に分かれる。法 $p$ では $a$ の冪は周期 $p-1$ の約数で $1$ に戻る(原始根 の周期)。したがって、$n-1$ が各 $p-1$ と大きな公約数を共有するほど、多くの底が条件を満たす。$341=11\cdot31$ では $340$ が $10$ の倍数で、$30$ とも公約数 $10$ をもつので、$300$ 個の既約剰余類のうち $100$ 個が条件を満たす。その中に $2$ が入ってしまったのが、$341$ が底 $2$ の擬素数になる理由である。擬素数は「たまたま周期がそろった合成数」であり、そろい方の度合いが、下の thm-psp-count の公式で正確に測れる。
$341=11\cdot31$ は合成数で、$2^{10}=1024=3\cdot341+1$ だから $2^{10}\equiv1\pmod{341}$、したがって $2^{340}=(2^{10})^{34}\equiv1\pmod{341}$ である。これは「$a^{n-1}\equiv1\pmod n$ なら $n$ は素数」という Fermat の小定理の逆の含意を、$a=2$ で破る反例である。$341$ 未満の奇数の合成数 $n$ をすべて調べると $2^{n-1}\not\equiv1\pmod n$ なので(有限個の計算)、$341$ は底 $2$ の擬素数のうち最小である。同じ $341$ は底 $3$ の擬素数ではない($3^{340}\equiv56\pmod{341}$。Carmichael数 の記事の例「反例:底 $2$ の擬素数 $341$」)。
$2000$ 未満の底 $2$ の擬素数は
$$
341=11\cdot31,\ 561=3\cdot11\cdot17,\ 645=3\cdot5\cdot43,\ 1105=5\cdot13\cdot17,\ 1387=19\cdot73,\ 1729=7\cdot13\cdot19,\ 1905=3\cdot5\cdot127
$$
の $7$ 個である(HW60 第 VI 章の注 §6.9、p. 81 の表と一致する)。$1000$ 未満の底 $3$ の擬素数は $91=7\cdot13$、$121=11^2$、$286=2\cdot11\cdot13$、$671$、$703$、$949$ である。$10^6$ 以下の底 $2$ の擬素数は $245$ 個で、同じ範囲の素数 $78498$ 個に比べてずっと少ない(いずれも計算で確かめられる)。
$91$:法 $7$ では $3^6\equiv1$、法 $13$ では $3^3=27\equiv1$ である。$90$ は $6$ でも $3$ でも割り切れるので、$3^{90}\equiv1$ が法 $7$ と法 $13$ の両方で成り立ち、中国剰余定理により法 $91$ で成り立つ。
$121$:$3^5=243=2\cdot121+1$ なので $3^5\equiv1\pmod{121}$ で、$120$ は $5$ の倍数だから $3^{120}\equiv1\pmod{121}$ である。
底 $2$ の擬素数は必ず奇数である。$n$ が偶数なら $2^{n-1}-1$ は奇数なので $n$ で割り切れないからである。しかし底 $3$ では偶数の擬素数がある。$286=2\cdot11\cdot13$ について、$3^{285}$ は奇数だから法 $2$ で $1$、法 $11$ では $3^5=243\equiv1$ で $5\mid285$、法 $13$ では $3^3\equiv1$ で $3\mid285$ なので、中国剰余定理により $3^{285}\equiv1\pmod{286}$ である。これは「擬素数は奇数である」という主張を、底を $2$ 以外にしたときに破る。
$n=9$ の既約剰余類は $1,2,4,5,7,8$ の $6$ 個で、$a^8\equiv1\pmod 9$ を満たすのは $a\equiv1,8$ だけである。つまり $9$ は自明な底 $\pm1$ についてしか擬素数にならず、「奇数の合成数は、ある自明でない底について擬素数になる」という主張の反例である。一方 $n=15$ では $B(15)=\{1,4,11,14\}$ で、自明でない底 $4$ がある($4^2=16\equiv1$ より $4^{14}\equiv1\pmod{15}$)。どちらも下の thm-psp-count の公式 $\gcd(2,8)=2$、$\gcd(2,14)\gcd(4,14)=4$ と一致する。同じ公式から、奇数の合成数 $n$ が自明な底についてしか擬素数にならないのは、$n$ が $3$ の冪のときに限ることが分かる。$n$ が相異なる奇素数 $p,q$ で割り切れれば、$p-1$、$q-1$、$n-1$ はどれも偶数なので $\lvert B(n)\rvert\ge2\cdot2=4$ である。$n=p^e$($p$ は奇素数、$e\ge2$)なら $p-1\mid p^e-1$ なので $\lvert B(n)\rvert=p-1$ で、これが $2$ になるのは $p=3$ のときだけである。
$n\ge2$ について、$B(n)$ は $(\mathbb Z/n\mathbb Z)^\times$ の部分群である。特に、合成数 $n$ が底 $a$ と底 $b$ の擬素数なら、$n$ は底 $ab$ の擬素数でもあり、$bb'\equiv1\pmod n$ となる $b'$ について底 $ab'$ の擬素数でもある。
$(\mathbb Z/n\mathbb Z)^\times$ は可換群なので、写像 $f\colon x\mapsto x^{n-1}$ は $f(xy)=(xy)^{n-1}=x^{n-1}y^{n-1}=f(x)f(y)$ を満たす準同型である。$B(n)$ はその核 $f^{-1}(1)$ なので部分群である。後半は、$a,b\in B(n)$ なら $ab\in B(n)$、$b^{-1}\in B(n)$ であることの言い換えである。$\square$
$C$ を位数 $m$ の巡回群、$k$ を整数とすると、$x^k=1$ を満たす $x\in C$ はちょうど $\gcd(k,m)$ 個ある。
$g$ を $C$ の生成元とすると、$C$ の元は $g^j$($0\le j< m$)とただ一通りに書け、$g^s=1$ であることと $m\mid s$ は同値である(元の位数)。よって $(g^j)^k=1$ は $m\mid jk$ と同値である。$d=\gcd(k,m)$、$m=dm'$、$k=dk'$ とおくと $\gcd(m',k')=1$ なので、$m\mid jk$ は $m'\mid jk'$、さらに $m'\mid j$ と同値である。$0\le j< m$ のうち $m'$ の倍数は $j=0,m',2m',\dots,(d-1)m'$ の $d$ 個である。$\square$
$n\ge2$ について
$$
\lvert B(n)\rvert=\prod_{p\mid n}\gcd(p-1,\,n-1)
$$
が成り立つ。ここで積は $n$ の相異なる素因数 $p$ にわたる。
$n=p_1^{e_1}\cdots p_r^{e_r}$ と素因数分解する。中国剰余定理 により、法 $n$ の剰余類と、各法 $p_i^{e_i}$ の剰余類の組は一対一に対応し、この対応で $(\mathbb Z/n\mathbb Z)^\times$ は $\prod_i(\mathbb Z/p_i^{e_i}\mathbb Z)^\times$ に移る。$a^{n-1}\equiv1\pmod n$ は、すべての $i$ について $a^{n-1}\equiv1\pmod{p_i^{e_i}}$ が成り立つことと同値である。したがって
$$
\lvert B(n)\rvert=\prod_{i=1}^rN_i,\qquad N_i:=\#\{x\in(\mathbb Z/p_i^{e_i}\mathbb Z)^\times : x^{n-1}=1\}
$$
である。各 $N_i$ を求める。以下 $p=p_i$、$e=e_i$ と書く。
$p$ が奇数のとき:$(\mathbb Z/p^e\mathbb Z)^\times$ は位数 $\varphi(p^e)=p^{e-1}(p-1)$ の巡回群である(原始根 の記事の定理「原始根が存在する法」)。lem-psp-cyclic-roots により $N_i=\gcd(n-1,\,p^{e-1}(p-1))$ である。$p\mid n$ なので $p\nmid n-1$ であり、$n-1$ は $p^{e-1}$ と互いに素である。一般に $\gcd(k,u)=1$ なら $\gcd(k,uv)=\gcd(k,v)$ なので($k$ と $uv$ の公約数は $u$ と互いに素だから $v$ を割る)、$N_i=\gcd(n-1,p-1)$ である。
$p=2$ のとき:$n$ は偶数なので $n-1$ は奇数である。$(\mathbb Z/2^e\mathbb Z)^\times$ の位数は $2^{e-1}$ なので、$x^{n-1}=1$ を満たす元 $x$ の位数は $n-1$ と $2^{e-1}$ の両方を割り、したがって $1$ である。よって $x=1$ だけで、$N_i=1=\gcd(2-1,n-1)$ である。
以上を掛け合わせて公式を得る。$\square$
この公式は $n$ が素数のときも正しく、そのときは $\gcd(n-1,n-1)=n-1=\varphi(n)$ である。ex-psp-341 の $341=11\cdot31$ では $\gcd(10,340)\gcd(30,340)=10\cdot10=100$、ex-psp-small の $91=7\cdot13$ では $\gcd(6,90)\gcd(12,90)=36$ で、$\varphi(91)=72$ のちょうど半分である。
$n$ を合成数とする。
1:$\varphi(n)=\prod_ip_i^{e_i-1}(p_i-1)$ であり、thm-psp-count により $\lvert B(n)\rvert=\prod_i\gcd(p_i-1,n-1)$ である。各因子について $\gcd(p_i-1,n-1)\le p_i-1\le p_i^{e_i-1}(p_i-1)$ なので、両者が等しいことは、すべての $i$ で $e_i=1$ かつ $\gcd(p_i-1,n-1)=p_i-1$、すなわち $p_i-1\mid n-1$ であることと同値である。
2:$n$ が Carmichael 数でないとは、$n$ と互いに素なある $a$ について $a^{n-1}\not\equiv1\pmod n$ となること、すなわち $B(n)\ne(\mathbb Z/n\mathbb Z)^\times$ である。prop-psp-subgroup により $B(n)$ は部分群なので、Lagrangeの定理 により $\lvert B(n)\rvert$ は $\varphi(n)$ の約数であり、$\varphi(n)$ と異なるので $\varphi(n)/2$ 以下である。$\square$
1 は、Carmichael 数を素因数で特徴づける Carmichael数 の記事の定理「Korseltの判定法」の別の証明になっている。2 は Sho08 Theorem 10.1(p. 308)と同じ議論で、同書はここから $\lvert B(n)\rvert\le(n-1)/2$ を導いている。等号が成り立つ合成数もあり、ex-psp-small の $91$ がその例である。
2 により、Carmichael 数でない合成数 $n$ について $1$ から $n-1$ の整数 $a$ を無作為に選ぶと、$n$ と互いに素でない $a$ を引くか、$a\notin B(n)$ を引いて合成数だと分かる確率が $1/2$ 以上ある。これが Fermat テストの根拠である。Carmichael 数ではこの確率が $n$ と互いに素でない $a$ を引く確率だけになり、素因数が大きいと非常に小さい。
$n$ を合成数とし、$2^n\equiv2\pmod n$ が成り立つとする(たとえば $n$ が底 $2$ の擬素数のとき)。このとき $m=2^n-1$ は底 $2$ の擬素数であり、$m>n$ である。したがって底 $2$ の擬素数は無限に存在する。
$m$ が合成数であること:$n$ は合成数なので $n=rs$($1< r< n$)と書ける。$x=2^r$ とおくと $2^n-1=x^s-1=(x-1)(x^{s-1}+\dots+x+1)$ なので、$2^r-1$ は $m$ を割り、$1<2^r-1<2^n-1=m$ である($r\ge2$ より $2^r-1\ge3$)。
$2^{m-1}\equiv1\pmod m$ であること:$m-1=2^n-2$ であり、仮定 $2^n\equiv2\pmod n$ から $n\mid m-1$ である。$m-1=nk$ と書く。$2^n=m+1\equiv1\pmod m$ なので、$2^{m-1}=(2^n)^k\equiv1\pmod m$ である。
$n$ が底 $2$ の擬素数なら $2^{n-1}\equiv1$ の両辺に $2$ を掛けて $2^n\equiv2\pmod n$ が成り立つ。$2^n-1>n$ は $n\ge1$ で正しい。よって $341$ から始めて $n_0=341$、$n_{k+1}=2^{n_k}-1$ と定めると、$n_0< n_1< n_2<\cdots$ はすべて底 $2$ の擬素数である。$\square$
この構成で得られる擬素数は急激に大きくなる。どの底についても擬素数が無限にあることは、次の構成で示せる。
$a\ge2$ を整数とする。$a(a^2-1)$ を割らない奇素数 $p$ に対し
$$
n=\frac{a^{2p}-1}{a^2-1}=\frac{a^p-1}{a-1}\cdot\frac{a^p+1}{a+1}
$$
は底 $a$ の擬素数である。異なる $p$ からは異なる $n$ が得られるので、底 $a$ の擬素数は無限に存在する。
合成数であること:$p$ は奇数なので $a+1$ は $a^p+1$ を割り、$\frac{a^p-1}{a-1}=1+a+\dots+a^{p-1}$ と $\frac{a^p+1}{a+1}=a^{p-1}-a^{p-2}+\dots-a+1$ はどちらも整数である。前者は $1+a\ge3$ 以上であり、後者は $a^p>a$ より $\frac{a^p+1}{a+1}>1$ である。よって $n$ は $1$ より大きい 2 つの整数の積で、合成数である。
$n-1$ が偶数であること:$n=1+a^2+a^4+\dots+a^{2(p-1)}$($p$ 項の和)である。$a$ が偶数なら $n$ は奇数、$a$ が奇数なら $n$ は奇数 $p$ 個の和で奇数である。どちらの場合も $n-1$ は偶数である。
$p\mid n-1$ であること:$(a^2-1)(n-1)=a^{2p}-1-(a^2-1)=a^2\bigl(a^{2(p-1)}-1\bigr)$ である。$p\nmid a$ なので Fermat の小定理により $a^{p-1}\equiv1\pmod p$、よって $p\mid a^{2(p-1)}-1$ である。$p$ は $a^2-1$ を割らない素数なので、$p\mid n-1$ が従う。
$p$ は奇数なので、$2p\mid n-1$ である。$n-1=2pu$ と書く。$n(a^2-1)=a^{2p}-1$ だから $a^{2p}\equiv1\pmod n$ であり、$a^{n-1}=(a^{2p})^u\equiv1\pmod n$ が成り立つ。よって $n$ は底 $a$ の擬素数である。
$n=1+a^2+\dots+a^{2(p-1)}$ は $p$ について狭義に増加するので、異なる $p$ は異なる $n$ を与える。$a(a^2-1)$ は $0$ でない整数なので、それを割る素数は有限個しかなく、素数は無限にあるから、条件を満たす $p$ は無限にある。$\square$
この構成とその証明は HW60 §6.9、Theorem 89(p. 72)にあり、同書の注(p. 81)によれば Cipolla による。たとえば $a=2$、$p=5$ では $n=(2^{10}-1)/3=341$、$p=7$ では $n=5461=43\cdot127$ となる。$a=3$、$p=5$ では $n=7381=11^2\cdot61$ である。
$p$ を素数、$a$ を $p$ で割り切れない整数とする。$p^2$ が底 $a$ の擬素数であることと、$a^{p-1}\equiv1\pmod{p^2}$ であることは同値である。
$a$ の法 $p^2$ での位数を $d$ とすると、$d$ は $\varphi(p^2)=p(p-1)$ を割る(Eulerの定理(整数論))。$a^{p^2-1}\equiv1\pmod{p^2}$ なら $d\mid p^2-1$ でもあるので、$d$ は $\gcd\bigl(p(p-1),\,(p-1)(p+1)\bigr)=(p-1)\gcd(p,p+1)=p-1$ を割り、$a^{p-1}\equiv1\pmod{p^2}$ である。逆に $a^{p-1}\equiv1\pmod{p^2}$ なら、$p-1\mid p^2-1$ なので $a^{p^2-1}\equiv1\pmod{p^2}$ である。$\square$
$p=11$、$a=3$ では $3^{10}\equiv1\pmod{121}$ なので $121$ は底 $3$ の擬素数である(ex-psp-small)。底 $2$ では、$2^{p-1}\equiv1\pmod{p^2}$ を満たす素数は非常にまれで、$p=1093$ がその例である(HW60 §6.10、Theorem 91、p. 73 に手計算による証明がある)。したがって $1093^2$ は底 $2$ の擬素数である。$4000$ 未満の素数でこの合同式を満たすのは $1093$ と $3511$ だけである(計算で確かめられる)。
Fermat の小定理を細かくした合同式を使うと、擬素数の条件を強められる。$n$ が奇素数なら、平方剰余 の記事の定理「Eulerの規準」により $a^{(n-1)/2}\equiv\left(\frac an\right)\pmod n$(右辺は Legendre 記号)であり、また $x^2\equiv1\pmod n$ の解は $x\equiv\pm1$ だけである。この 2 つの性質を合成数で満たしてしまうものに名前を付ける。
$n$ を奇数の合成数、$a$ を $n$ と互いに素な整数とする。
$n$ を奇数の合成数、$a$ を $n$ と互いに素な整数とする。$n$ が底 $a$ の Euler–Jacobi 擬素数か強擬素数なら、$n$ は底 $a$ の擬素数である。
Euler–Jacobi 擬素数のとき:$\gcd(a,n)=1$ なので Jacobi記号 の値は $\pm1$ であり、$a^{(n-1)/2}\equiv\pm1$ の両辺を 2 乗して $a^{n-1}\equiv1\pmod n$ を得る。
強擬素数のとき:$a^t\equiv1$ なら $a^{n-1}=(a^t)^{2^s}\equiv1$ である。$a^{2^jt}\equiv-1$($0\le j< s$)なら、$a^{2^{j+1}t}\equiv1$ であり、さらに $2^{s-j-1}$ 乗して $a^{n-1}=a^{2^st}\equiv1$ である。$\square$
逆は成り立たない。$341$ は底 $2$ の擬素数だが、$2^{170}=(2^{10})^{17}\equiv1\pmod{341}$ に対して $\left(\frac2{341}\right)=\left(\frac2{11}\right)\left(\frac2{31}\right)=(-1)\cdot1=-1$ なので(第 2 補充法則。$11\equiv3$、$31\equiv7\pmod 8$)、底 $2$ の Euler–Jacobi 擬素数ではない。$561$ は底 $2$ の Euler–Jacobi 擬素数だが($2^{280}\equiv1$、$\left(\frac2{561}\right)=1$。計算で確かめられる)、$560=2^4\cdot35$ について $2^{35},2^{70},2^{140},2^{280}$ を法 $561$ で順に計算すると $263,166,67,1$ となって $-1\equiv560$ が現れないので、底 $2$ の強擬素数ではない(Carmichael数 の記事の節「素数判定との関係」の計算)。底 $2$ の強擬素数のうち最小のものは $2047=23\cdot89$ で、$2046=2\cdot1023$、$2^{1023}=(2^{11})^{93}=2048^{93}\equiv1\pmod{2047}$ となる。
これらの条件では、Carmichael 数のような「すべての底で通過する合成数」が存在しない。奇数の合成数 $n$ が底 $a$ の Euler–Jacobi 擬素数になる既約剰余類 $a$ は全体の半分以下である(Jacobi記号 の記事の定理「Euler–Jacobi の判定の誤り率」)。強擬素数については、奇数の合成数 $n$ を底 $a$ の強擬素数にする $a\in\{1,\dots,n-1\}$ は $(n-1)/4$ 個以下である(Sho08 §10.2、Theorem 10.3、p. 309。この記事では証明しない)。これが Miller–Rabin の素数判定の根拠である。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| $n$ が素数(Fermat の小定理の逆) | $n=341$、$a=2$ | $a^{n-1}\equiv1$ なら $n$ は素数 |
| cor-psp-half の 2 の「Carmichael 数でない」 | $n=561$ | $\lvert B(n)\rvert\le\varphi(n)/2$ |
| 底が $2$ | $n=286$、$a=3$ | 擬素数は奇数 |
| 奇数の合成数 $n$ が $3$ の冪でない | $n=9$ | 自明でない底について擬素数になる |
| thm-psp-cipolla の「$p\nmid a(a^2-1)$」 | $a=2$、$p=3$、$n=21$ | $n$ は底 $a$ の擬素数 |
| Fermat の条件から Euler–Jacobi の条件へ | $n=341$、$a=2$ | $a^{(n-1)/2}\equiv\left(\frac an\right)$ |
| Euler–Jacobi の条件から強擬素数の条件へ | $n=561$、$a=2$ | 強擬素数である |
1 行目は ex-psp-341、2 行目は $561=3\cdot11\cdot17$ が Carmichael 数で $B(561)$ が既約剰余類全体($320$ 個)であること(thm-psp-count で $\gcd(2,560)\gcd(10,560)\gcd(16,560)=320=\varphi(561)$)、3 行目は ex-psp-even、4 行目は ex-psp-nine による。5 行目:$a=2$ のとき $a(a^2-1)=6$ なので $p=3$ は条件を破る。このとき $n=(2^6-1)/3=21$ は合成数だが、$2^6=64\equiv1\pmod{21}$ から $2^{20}=2^{18}\cdot2^2\equiv4\pmod{21}$ で、$21$ は底 $2$ の擬素数でない。証明で使った「$p\mid n-1$」が、$p=3$ が $a^2-1=3$ を割るために成り立たなくなっている($n-1=20$)。6・7 行目は上の節「より強い擬素数」の計算による。
擬素数は素数に比べてまれである。ex-psp-small のとおり、$10^6$ 以下の底 $2$ の擬素数は $245$ 個しかない。一方 thm-psp-mersenne と thm-psp-cipolla により、どの底 $a\ge2$ についても無限にある。底 $2$ の擬素数とその表は HW60 第 VI 章の注(p. 81)に古い文献とともに挙げられている。
$a^{n-1}\not\equiv1\pmod n$ となる底が 1 つでも見つかれば $n$ は合成数と確定するが、何回通過しても素数であることの証明にはならない。実際の判定では、cor-psp-half の 2 とその強い形(Euler–Jacobi 擬素数・強擬素数の個数の評価)を使い、底を独立に無作為に選んで繰り返すことで、合成数を見逃す確率を小さくする。Fermat の小定理だけを使う判定では、Carmichael 数がこの方法をすり抜けるので、強擬素数の条件を使う Miller–Rabin の判定法が使われる。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する