Carmichael数(Carmichael number)とは、合成数 $n$ であって、$n$ と互いに素なすべての整数 $a$ について $a^{n-1}\equiv1\pmod n$ となるもの、つまり Fermat の小定理の結論をすべての底で満たす合成数で、最小のものは $561=3\cdot11\cdot17$ である。Korselt の判定法により、合成数 $n$ が Carmichael 数であることは、$n$ が平方因子をもたず、$n$ を割る各素数 $p$ について $p-1$ が $n-1$ を割ることと同値である。ここから Carmichael 数は奇数で、相異なる素因数を 3 個以上もち、$\gcd(n,\varphi(n))=1$ となる。無限に存在することは Alford–Granville–Pomerance が証明した。
前提知識: Fermatの小定理, 合同式, 中国剰余定理, 原始根
Fermatの小定理 によると、$p$ が素数で $a$ が $p$ で割り切れなければ $a^{p-1}\equiv1\pmod p$ である。これを逆に使えば、$a^{n-1}\not\equiv1\pmod n$ となる $a$ を 1 つ見せるだけで、$n$ が合成数であることが分かる。ところが $561=3\cdot11\cdot17$ は合成数なのに、$561$ と互いに素などの整数 $a$ についても $a^{560}\equiv1\pmod{561}$ となり、このやり方ではいつまでも合成数だと見抜けない。このような合成数を Carmichael数 という。
Carmichael 数かどうかは、何百もの $a$ を試さなくても、素因数分解だけで判定できる。$n$ が平方因子をもたず、$n$ を割る各素数 $p$ について $p-1$ が $n-1$ を割ること、これが必要十分である(Korselt の判定法)。$561$ なら $2,10,16$ がどれも $560$ を割る。この記事では Carmichael 数を定義し、Korselt の判定法を証明し、そこから「奇数である」「相異なる素因数を 3 個以上もつ」「どの素因数も $\sqrt n$ より小さい」などの性質と、Carmichael 数を作る Chernick の構成を導く。Carmichael 数が無限個あること(Alford–Granville–Pomerance)は、この記事では証明しないが、所在を示して述べる。
合成数 $n$ が Carmichael 数(Carmichael number)であるとは、$n$ と互いに素なすべての整数 $a$ について
$$
a^{n-1}\equiv1\pmod n
$$
が成り立つことをいう。
素数 $p$ は、Fermat の小定理により $p$ と互いに素なすべての $a$ で $a^{p-1}\equiv1\pmod p$ を満たすので、定義で「合成数」を仮定しないと素数がすべて含まれてしまう。$1$ は素数でも合成数でもないので Carmichael 数ではない。
1 つの底 $a$ について「$\gcd(a,n)=1$ かつ $a^{n-1}\equiv1\pmod n$」を満たす合成数 $n$ を、底 $a$ の 擬素数(Fermat 擬素数、擬素数)という。Carmichael 数は、$n$ と互いに素な すべての 底について擬素数である合成数であり、絶対擬素数(absolute pseudoprime)とも呼ばれる。
文献によって定義の形が 2 通りある。
$n=p_1p_2\cdots p_k$ を相異なる素数の積とすると、中国剰余定理により、$a^{n-1}\equiv1\pmod n$ は「各 $i$ で $a^{n-1}\equiv1\pmod{p_i}$」と同じことである。法 $p_i$ では、$a$ を何乗すれば $1$ に戻るかは $p_i-1$ の約数で決まり、すべての $a$ について $1$ に戻る最小の指数はちょうど $p_i-1$ である(法 $p_i$ の 原始根 がそれを実現する)。したがって「すべての $a$ で $a^{n-1}\equiv1$」は「指数 $n-1$ が各 $p_i-1$ の倍数」と言い換えられる。Carmichael 数とは、素因数 $p_i$ の「周期」$p_i-1$ がそろって $n-1$ を割るように、素因数がうまく組み合わさった合成数である。平方因子 $p^2$ があると、法 $p^2$ の周期 $p(p-1)$ が $p$ で割り切れ、$n-1$($p$ で割り切れない)の約数になりえないので、Carmichael 数にはなれない。
$561=3\cdot11\cdot17$ は平方因子をもたず、$n-1=560$ について
$$
560=2\cdot280=10\cdot56=16\cdot35
$$
なので $3-1$、$11-1$、$17-1$ はどれも $560$ を割る。$561$ と互いに素な $a$ をとると、Fermat の小定理により $a^{2}\equiv1\pmod3$、$a^{10}\equiv1\pmod{11}$、$a^{16}\equiv1\pmod{17}$ であり、それぞれ $280$ 乗、$56$ 乗、$35$ 乗して $a^{560}\equiv1$ が法 $3,11,17$ のそれぞれで成り立つ。$3,11,17$ は互いに素なので、中国剰余定理により $a^{560}\equiv1\pmod{561}$ である。$561$ は合成数なので Carmichael 数である。$561$ 未満に Carmichael 数はない(下の表の計算による)。
一方、$a=3$ は $561$ と互いに素でないので定義の対象外であり、実際 $3^{560}\equiv375\not\equiv1\pmod{561}$ である(計算機で確かめた値)。$3$ で割り切れる数の冪は $3$ で割り切れるので、$1$ と合同になりえない。
$10^5$ 未満の Carmichael 数は次の $16$ 個である(Korselt の判定法 thm-cmn-korselt を $10^6$ 未満のすべての合成数に当てはめて計算機で求めた。$2\le n<20000$ では定義どおり $n$ と互いに素なすべての $a$ を試した結果とも一致した)。
$$
561,\ 1105,\ 1729,\ 2465,\ 2821,\ 6601,\ 8911,\ 10585,\ 15841,\ 29341,\ 41041,\ 46657,\ 52633,\ 62745,\ 63973,\ 75361
$$
最初の数個の素因数分解と、Korselt の条件の商 $(n-1)/(p-1)$ は次のとおりである。
| $n$ | 素因数分解 | $(n-1)/(p-1)$ |
|---|---|---|
| $561$ | $3\cdot11\cdot17$ | $280,\ 56,\ 35$ |
| $1105$ | $5\cdot13\cdot17$ | $276,\ 92,\ 69$ |
| $1729$ | $7\cdot13\cdot19$ | $288,\ 144,\ 96$ |
| $2465$ | $5\cdot17\cdot29$ | $616,\ 154,\ 88$ |
| $2821$ | $7\cdot13\cdot31$ | $470,\ 235,\ 94$ |
| $41041$ | $7\cdot11\cdot13\cdot41$ | $6840,\ 4104,\ 3420,\ 1026$ |
$10^6$ 未満には $43$ 個あり、素因数の個数は $3$ 個が $23$ 個、$4$ 個が $19$ 個、$5$ 個が $1$ 個($825265=5\cdot7\cdot17\cdot19\cdot73$)である。
$341=11\cdot31$ は合成数で、$2^{10}=1024=3\cdot341+1$ から $2^{340}=(2^{10})^{34}\equiv1\pmod{341}$ である。つまり $341$ は底 $2$ の擬素数である。しかし $3^{340}\equiv56\not\equiv1\pmod{341}$ であり(計算機で確かめた値)、$341$ は Carmichael 数ではない。Korselt の条件で見ると、$11-1=10$ は $340$ を割るが、$31-1=30$ は $340$ を割らない。この例は、「ある 1 つの底で $a^{n-1}\equiv1$」という条件を満たしながら「すべての底で $a^{n-1}\equiv1$」を満たさない。
$p$ を奇素数とすると $n=p^2$ は合成数で、$p^2-1=(p-1)(p+1)$ なので「$n$ を割る各素数 $p$ について $p-1\mid n-1$」を満たす。しかし Carmichael 数ではない。たとえば $n=9$ では $2^8=256=28\cdot9+4$ なので $2^8\equiv4\not\equiv1\pmod9$ である。この例は Korselt の判定法の「平方因子をもたない」という条件を外すと、判定法の「十分」の向きが成り立たなくなることを示す。
$105=3\cdot5\cdot7$ は平方因子をもたない合成数だが、$7-1=6$ は $104$ を割らない。実際 $2^{104}\equiv46\not\equiv1\pmod{105}$ である(計算機で確かめた値)。平方因子をもたないことだけでは Carmichael 数にならず、「各 $p-1$ が $n-1$ を割る」条件が必要である。
次の表は、Carmichael 数の定義と Korselt の判定法から条件を 1 つずつ外したときの反例である。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| $n$ が合成数 | $n=7$(素数) | 「すべての底で $a^{n-1}\equiv1$ なら Carmichael 数」(素数は除外される) |
| すべての底で成り立つ | $n=341$、底 $2$ だけ | 「ある底の擬素数なら Carmichael 数」(底 $3$ で $3^{340}\equiv56$) |
| 平方因子をもたない | $n=9$ | 「各 $p\mid n$ で $p-1\mid n-1$ なら Carmichael 数」($2^8\equiv4\pmod 9$) |
| 各 $p-1\mid n-1$ | $n=105$ | 「平方因子のない合成数なら Carmichael 数」($2^{104}\equiv46\pmod{105}$) |
| 底が $n$ と互いに素 | $n=561$、$a=3$ | 「Carmichael 数ならすべての $a$ で $a^{n-1}\equiv1$」($3^{560}\equiv375$) |
| 相異なる素因数が 3 個以上 | $n=pq$(2 個) | Carmichael 数であること(prop-cmn-factors により 2 個では起こらない) |
最後の行は反例というより定理の言い換えで、相異なる 2 素数の積は決して Carmichael 数にならない。5 行目は、定義の「$n$ と互いに素な」を落とした形「すべての $a$ で $a^{n-1}\equiv1\pmod n$」は、どの合成数も満たさないことを示している。$n$ の素因数 $p$ を $a$ にとれば $a^{n-1}$ は $p$ で割り切れ、$1$ と合同にならないからである。互いに素でない $a$ まで含めるなら、prop-cmn-all-integers のように $a^n\equiv a$ の形にする必要がある。
最初に、偶数が Carmichael 数になりえないことを示す。これは判定法の証明で素因数 $2$ を除くのに使う。
Carmichael 数は奇数である。
$n$ を偶数の Carmichael 数と仮定する。$n$ は合成数なので $n\ge4$ である。$a=n-1$ は $\gcd(n-1,n)=1$ を満たすので、定義により $(n-1)^{n-1}\equiv1\pmod n$ である。一方 $n-1\equiv-1\pmod n$ で、$n$ が偶数なので $n-1$ は奇数であり、$(n-1)^{n-1}\equiv(-1)^{n-1}=-1\pmod n$ である。よって $-1\equiv1\pmod n$、すなわち $n\mid2$ となり、$n\ge4$ に反する。$\square$
合成数 $n$ について、次の 2 条件は同値である。
2 ⇒ 1:$n=p_1\cdots p_k$(相異なる素数)とし、$\gcd(a,n)=1$ とする。各 $i$ で $p_i\nmid a$ なので Fermat の小定理から $a^{p_i-1}\equiv1\pmod{p_i}$ であり、$n-1=(p_i-1)m_i$ と書けば $a^{n-1}=(a^{p_i-1})^{m_i}\equiv1\pmod{p_i}$ である。相異なる素数 $p_1,\dots,p_k$ がどれも $a^{n-1}-1$ を割るので、その積 $n$ も $a^{n-1}-1$ を割る。これは Fermatの小定理 の記事の命題「Korseltの判定条件の十分性」の 1 と同じ議論である。
1 ⇒ 2:$n$ を Carmichael 数とする。prop-cmn-odd により $n$ は奇数なので、$n$ を割る素数 $p$ はすべて奇素数である。そのような $p$ を 1 つとり、$p^e$ を $n$ を割る $p$ の最大の冪($e\ge1$)、$m:=n/p^e$ とおく。$m$ は $p$ で割り切れないので $\gcd(p^e,m)=1$ である。
$p$ は奇素数なので、原始根 の記事の定理「原始根が存在する法」により、法 $p^e$ の原始根 $g$ がある。すなわち $g$ は $p$ と互いに素で、法 $p^e$ での $g$ の位数は $\varphi(p^e)=p^{e-1}(p-1)$ である($\varphi$ は Eulerのφ関数)。中国剰余定理 により
$$
b\equiv g\pmod{p^e},\qquad b\equiv1\pmod m
$$
を満たす整数 $b$ がある。$b$ は $p$ でも $m$ のどの素因数でも割り切れないので $\gcd(b,n)=1$ であり、$n$ が Carmichael 数であることから $b^{n-1}\equiv1\pmod n$、特に $b^{n-1}\equiv1\pmod{p^e}$ である。$b\equiv g\pmod{p^e}$ なので $g^{n-1}\equiv1\pmod{p^e}$ となり、原始根 の記事の命題「位数の整除性」の 1 により
$$
p^{e-1}(p-1)\mid n-1
$$
である。
$e\ge2$ だとすると $p\mid n-1$ となるが、$p\mid n$ でもあるので $p\mid n-(n-1)=1$ となり矛盾する。よって $e=1$ であり、上の整除は $p-1\mid n-1$ となる。$p$ は $n$ の任意の素因数だったので、$n$ は平方因子をもたず、すべての素因数 $p$ について $p-1\mid n-1$ である。$\square$
証明の 1 ⇒ 2 で使ったのは、$n$ と互いに素な底のうち、法 $p^e$ で原始根に、ほかの素因数の法で $1$ になる 1 つの底 $b$ だけである。つまり Carmichael 数でない奇数の合成数 $n$ については、Korselt の条件を破る素因数 $p$($p^2\mid n$ となるもの、または $p-1\nmid n-1$ となるもの)について同じ構成をすれば、「$\gcd(b,n)=1$ かつ $b^{n-1}\not\equiv1\pmod n$」となる $b$ を具体的に作れる(偶数の合成数 $n$ では、prf-cmn-odd のとおり $b=n-1$ がその役をする)。$n=9$ なら法 $9$ の原始根 $2$ がそれであり(ex-cmn-prime-square)、$n=105$ なら法 $7$ の原始根 $3$ を使って $b\equiv3\pmod7$、$b\equiv1\pmod{15}$ から $b=31$ をとると、$31^{104}\equiv31^{104\bmod 6}=31^2\equiv3^2\equiv2\pmod 7$ なので $31^{104}\not\equiv1\pmod{105}$ である。
既約剰余類群 の言葉では、既約剰余類群 の記事の命題「Carmichael 関数による判定」により、合成数 $n$ が Carmichael 数であることは $\lambda(n)\mid n-1$ と同値である。ここで $\lambda(n)$ は $n$ と互いに素なすべての $a$ で $a^{m}\equiv1\pmod n$ となる最小の正の整数 $m$(Carmichael 関数)である。同じ記事の系「Carmichael 関数の公式」により、平方因子のない奇数 $n=p_1\cdots p_k$ では $\lambda(n)=\operatorname{lcm}(p_1-1,\dots,p_k-1)$ なので、Korselt の条件は「$\operatorname{lcm}(p_1-1,\dots,p_k-1)\mid n-1$」とも書ける。$561$ では $\lambda(561)=\operatorname{lcm}(2,10,16)=80$ で、$560=7\cdot80$ である。
Korselt の判定法から、Carmichael 数の素因数の並び方にいくつもの制約が出てくる。
$n$ を Carmichael 数とする。
thm-cmn-korselt により $n$ は平方因子をもたず、各素因数 $p$ について $p-1\mid n-1$ である。
$561=3\cdot11\cdot17$ では、1 の $m$ は $187,51,33$ で、それぞれ $187\equiv1\pmod2$、$51\equiv1\pmod{10}$、$33\equiv1\pmod{16}$ であり、最大の素因数 $17$ は $\sqrt{561}=23.6\ldots$ より小さい。3 については $\varphi(561)=2\cdot10\cdot16=320$ で $\gcd(561,320)=1$ である。3 から、たとえば $3$ で割り切れる Carmichael 数のほかの素因数 $q$ は $3\nmid q-1$、すなわち $q\equiv2\pmod3$ を満たす($561$ の $11,17$)。同じ理由で、$n$ の素因数に $p$ と $2p+1$、$p$ と $2kp+1$ の形の組が同時に現れることはない。
2 は「2 素数の積 $pq$ は Carmichael 数でない」ことを言っている。$341=11\cdot31$ が底 $2$ の擬素数でありながら Carmichael 数になれなかったのは、この一般的な理由による($31-1=30$ は $340$ を割らない)。
合成数 $n$ について、次の 2 条件は同値である。
1 ⇒ 2:thm-cmn-korselt により $n$ は平方因子をもたず、各素因数 $p$ について $p-1\mid n-1$ である。この条件のもとですべての整数 $a$ について $a^n\equiv a\pmod n$ となることは、Fermatの小定理 の記事の命題「Korseltの判定条件の十分性」の 2 である。
2 ⇒ 1:$\gcd(a,n)=1$ とする。仮定から $n\mid a^n-a=a\,(a^{n-1}-1)$ であり、$n$ と $a$ は互いに素なので $n\mid a^{n-1}-1$ である(互いに素 の記事の命題「互いに素な因子の消去」の 1)。よって $a^{n-1}\equiv1\pmod n$ であり、$n$ は Carmichael 数である。$\square$
2 ⇒ 1 は Korselt の判定法を使わない。1 ⇒ 2 の向きでは、$n$ の素因数 $p$ で割り切れる $a$ についても $a^n\equiv a\pmod p$(両辺とも $0$)となることを、平方因子がないことを使って $\pmod n$ に集めている。平方因子があると、たとえば $n=9$、$a=3$ で $3^9\equiv0\not\equiv3\pmod9$ となり、2 は成り立たない。
Korselt の判定法を使うと、素数の組から Carmichael 数を作れる。
正の整数 $k$ について、$6k+1$、$12k+1$、$18k+1$ がすべて素数なら、
$$
n=(6k+1)(12k+1)(18k+1)
$$
は Carmichael 数である。
3 つの素数は相異なるので、$n$ は平方因子をもたない合成数である。展開すると
$$
n=1296k^3+396k^2+36k+1,\qquad n-1=36k\,(36k^2+11k+1)
$$
である。$6k$、$12k$、$18k$ はどれも $36k$ を割るので $n-1$ を割る。これらは素因数から $1$ を引いたものなので、thm-cmn-korselt により $n$ は Carmichael 数である。$\square$
$k=1$ で $7\cdot13\cdot19=1729$、$k=6$ で $37\cdot73\cdot109=294409$、$k=35$ で $211\cdot421\cdot631=56052361$ が得られる($k\le200$ で条件を満たす $k$ は $1,6,35,45,51,55,56,100,\dots$。計算機で確かめた)。この構成は Chernick(1939)による(AGP94 p. 704)。$6k+1,12k+1,18k+1$ が同時に素数になる $k$ は、素数の組についての Hardy–Littlewood の予想によれば無限にあるはずだが(同頁)、これは証明されておらず、この構成から Carmichael 数の無限性は出てこない。
Carmichael 数は、「$a^{n-1}\not\equiv1\pmod n$ となる $a$ を探して合成数を見抜く」方法(Fermat テスト)が原理的に失敗する合成数である。$n$ の素因数と互いに素でない $a$ を引き当てれば合成数だと分かるが、それは $n$ の素因数を見つけることと同じくらい難しい。そこで実際の素数判定では、Fermat の小定理をもう一段細かくした判定が使われる。
$n$ が奇素数なら、$x^2\equiv1\pmod n$ の解は $x\equiv\pm1$ だけである($n\mid(x-1)(x+1)$ から $n$ は $x-1$ か $x+1$ を割る)。したがって、$n-1=2^st$($t$ は奇数)と書き、$a^t,a^{2t},a^{4t},\dots,a^{2^st}=a^{n-1}$ を法 $n$ で順に計算したとき、$\pm1$ 以外の数の 2 乗が $1$ になる箇所が現れたら、$n$ は合成数である。$n=561$、$a=2$ では $560=2^4\cdot35$ で
$$
2^{35}\equiv263,\quad 263^2\equiv166,\quad 166^2\equiv67,\quad 67^2\equiv1\pmod{561}
$$
となり($67^2=4489=8\cdot561+1$)、$67\not\equiv\pm1$ の 2 乗が $1$ なので $561$ は合成数だと分かる。さらに $561\mid(67-1)(67+1)$ で $561$ はどちらの因数も割らないので、$\gcd(66,561)=33$、$\gcd(68,561)=17$ から $561$ の約数が得られる。
この判定(Miller の判定、Miller–Rabin 法)については、奇数の合成数 $n$ は $1\le a\le n-1$ のうち高々 $(n-1)/4$ 個の底でしか判定を通過しないことが知られている(Cri24 Theorem 12.4.6、p. 197。この記事では証明しない)。つまり Fermat テストにとっての Carmichael 数にあたる「すべての底を通過する合成数」は、この判定には存在しない。
$x$ 以下の Carmichael 数の個数を $C(x)$ と書く。上の計算では $C(10^3)=1$、$C(10^4)=7$、$C(10^5)=16$、$C(10^6)=43$ である。Pinch の計算によれば $C(10^{12})=8241$、$C(10^{15})=105212$ である(AGP94 p. 704)。
Carmichael 数は無限に存在する。さらに、十分大きなすべての $x$ について $C(x)>x^{2/7}$ である。
この定理はこの記事では証明しない(AGP94 Theorem 1 と直後の注意、p. 705)。証明の筋は次のとおりである(同論文 p. 706)。ある整数 $L$ について、$p-1\mid L$ となる素数 $p$ を非常に多く用意する。そのうちいくつかの積 $C=p_1\cdots p_k$ が $C\equiv1\pmod L$ を満たせば、各 $p_j-1$ が $L$ を割り、$L$ が $C-1$ を割るので、Korselt の判定法により $C$ は Carmichael 数である。そのような積の存在は、有限アーベル群 $(\mathbb Z/L\mathbb Z)^\times$ の元の長い列には積が単位元になる空でない部分列がある、という群論の定理(同論文 Theorem 2)で保証する。$L$ をうまく選ぶために、$q-1$ の素因数がどれも小さい素数 $q$ の個数や、等差数列の中の素数の個数についての評価を使う(pp. 704–706)。
一方、Carmichael 数は整数の中では非常にまれで、$C(x)\le x^{1-\{1+o(1)\}\log\log\log x/\log\log x}$($x\to\infty$)という上からの評価が知られている(同論文 p. 704 に文献とともに挙げられている)。
Korselt は 1899 年に、$n$ が「すべての $a$ について $a^n\equiv a\pmod n$」を満たすことと、$n$ が平方因子をもたず、各素因数 $p$ について $p-1$ が $n-1$ を割ることが同値であると述べた(Dic05 Chapter III、p. 93。AGP94 p. 703)。1910 年に Carmichael が、$561=3\cdot11\cdot17$ がすべての整数 $a$ について $a^{561}-a$ を割ることを指摘し、1910 年前後の一連の論文でこの性質をもつ合成数を詳しく調べ、それらを作る方法も与えたので、Carmichael 数と呼ばれる(AGP94 p. 703)。
「Carmichael 関数」$\lambda(n)$(Carmichael関数)は、$n$ と互いに素なすべての $a$ で $a^m\equiv1\pmod n$ となる最小の正の整数 $m$ であり、Carmichael 数とは別のものである。両者は、上で述べたとおり「合成数 $n$ が Carmichael 数 $\iff$ $\lambda(n)\mid n-1$」で結びついている。素数 $p$ では $\lambda(p)=p-1$ なので、Carmichael 数は「合成数なのに $\lambda(n)$ が素数のときと同じく $n-1$ を割る数」とも言える。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する