スキップしてメイン コンテンツに移動

円分擬素数 あるいは なぜオイラー関数の冪和記号が欲しかったのか

これは遠い昔、とある研究集会で発表したことのある話である。 概要ぐらいしか公に残されているものがないと思うので、昔のノートを参照しながら書いてみる。 (ちなみに最近このブログにポツポツ書いている数学系の記事は、だいたい昔のノートを読み返して抜き出したものだったりする。)

定義

まずは前段階として、擬素数について思い出しておく。 広義に擬素数とは素数ならば必ず満たす条件を満たしている必ずしも素数でない整数、ということだが、単に擬素数とだけ言えばフェルマーの小定理 「\(p\) が素数ならば \(a^{p-1}\equiv 1 \bmod p\)」の式「\(a^{n-1}\equiv 1 \bmod n\)」を満たす合成数 \(n\) のことである。 正確にはこのとき「\(n\) は基 \(a\) の擬素数である」という。 以降簡単のためにこれを「\(n\) が \(\mathrm{psp}(a)\) を満たす」と表現する(psp とは pseudo prime の略である)。

\(n\) は奇数で \(\mathrm{psp}(a)\) を満たすとしよう。 すると \(n-1\) は偶数であり、2 でちょうど \(s\) 回割り切れるとすると \(n - 1 = 2^s n^*\) と書くことができる。 もちろん \(n^*\) は奇数である。 さて \(n-1\) は偶数であるから(条件式の右辺を左辺に移項すると)平方の差の形なのでよく知られているように和と差の積に因数分解できる。 \[a^{n-1} - 1 = (a^{\frac{n-1}{2}} + 1)(a^{\frac{n-1}{2}} - 1)\] この形の因数分解を \(s\) 回繰り返す。 \[a^{n-1} - 1 = (a^{2^{s-1}n^*} + 1)(a^{2^{s-2}n^*} + 1) \cdots (a^{n^*} + 1)(a^{n^*} - 1)\] \(n\) が素数の場合、積を割り切ればその因子の一つを割り切る、という性質が成り立つので、右辺の因子の一つを割り切る。 一方 \(n\) が合成数の場合、そのような保証はないが、たまたま素数と同じように右辺の因子のただ一つを割り切るかもしれない。 そのような擬素数を強擬素数といい、「\(n\) が \(\mathrm{spsp}(a)\) を満たす」と表現する(spsp とは strong pseudo prime の略である)。

以上のことはよく知られた話だが、ここから拡張を試みる。

さて、上では \(n-1\) を \(2\) で何回割り切れるかだけを問題にしたが、実際のところ \(X^m - 1\) という多項式の因数分解は次のようになることが知られている。 \[X^m - 1 = \prod_{d|m} \Phi_d(X)\] ここで \(\Phi_d(X)\) は \(d\) 次の円分多項式、すなわち \(1\) の原始 \(d\) 乗根を、それだけを根に持つ多項式である。 したがって、\(a^{n-1} - 1\) もこの形で因数分解されて、 \[a^{n-1} - 1 = \prod_{d|n-1} \Phi_d(a)\] となる。 先程と同様に、\(n\) が素数ならば \(n\) は右辺の因子の内ただ一つを割り切る。 一方、\(n\) が合成数のときは(たとえ強擬素数であったとしても)そのような保証はない。 が、たまたま素数と同じように \(n\) が右辺の因子の内ただ一つを割り切るかもしれない。 そのような強擬素数を円分擬素数といい、「\(n\) が \(\mathrm{cpsp}(a)\) を満たす」と表現する(cpsp とは cyclotomic pseudo prime の略である)ことにする。

強擬素数と円分擬素数の違いを簡単に述べると、 強擬素数は各素冪因子について基 \(a\) の位数の \(2\) 冪が一致するという条件である一方、 円分擬素数は各素冪因子について基 \(a\) の位数が完全に一致するという条件である。

基の個数

ここからは \(n\) を固定したとき、\(n\) が基 \(a\) の円分擬素数となるような \(a\) は \(n\) を法として何個あるかを計算していく。 そのために \(n\) の素因数分解を \(p_1^{e_1}\cdots p_r^{e_r}\) とする。 もちろん \(p_i\) は素数である。 先程述べたように、円分擬素数の条件は \(a\) の位数が各素冪因子について一致するということだが、その位数が \(n-1\) の約数としても登場しなければならない。 つまり、その位数は次の \(G\) の約数でなければならない。 \[G = \gcd(\{n-1\}\cup\{\varphi(p_i^{e_i}) | i = 1,\ldots,r\})\] ここでオイラー関数 \(\varphi(p_i^{e_i}) = (p_i - 1)p_i^{e_i - 1}\) だが、\(p_i\) は \(n\) の約数だから \(n-1\) とは互いに素である。よって \[G = \gcd(\{n-1\}\cup\{p_i - 1 | i = 1,\ldots,r\})\] と考えれば良い。

\(d\) を \(G\) の約数とすると、\(n\) の各素冪因子 \(p_i^{e_i}\) について位数 \(d\) の元は \((\mathbb{Z}/p_i^{e_i}\mathbb{Z})^{\times}\) に \(\phi(d)\) 個ずつ存在する。 そのうち一つを \(b_i\) と書くことにすると、孫子の剰余定理によって \(x\equiv b_i \bmod p_i^{e_i}\) であるような元 \(x\) が \(\mathbb{Z}/n\mathbb{Z}\) に一つ取れる。 いま \(b_i\) の決め方は任意だったから全ての素冪因子について位数 \(d\) である元はそれらの任意の組み合わせに対し一つずつ取れる。 つまり、全ての素冪因子について位数 \(d\) である元は \(\varphi(d)^r\) 個存在する。 \(G\) の約数全てについて和を取れば円分擬素数の基の個数が求められ、\(\sum_{d|G}\varphi(d)^r\) 個、 オイラー関数の冪和で示唆した記号を使うと \(n_r(G)\) 個である。

強擬素数の場合と比べてみると、強擬素数の基の個数は Monier により \[\left(1+\frac{2^{kr} - 1}{2^r -1}\right)\prod_{i=1}^{r}\gcd(n^*, p_i^*)\] と示されている。 ただし、\(k=v_2(G)\) である。 この2冪の等比数列の和のような部分が \(n_r(2^k)\) に該当しており、円分擬素数とは残りの奇因子の部分に違いが出てきていることが見て取れる。

このブログの人気の投稿

「函数」音訳説について探してみる

Twitter に書こうかと思ったが、ちょっと長くなるのでこっちに書くことにする。 「函数」が音訳というデマと、本当の語源 というブログ記事について ツイートされてるの を見た。 詳しい内容はリンクを辿って読んでみて欲しい。 その記事中の「函数」音訳説という部分で、引用されているものが意外と新しい1980年代以降のものなので、さすがにもっと古いだろう、と探してみた。 1. 武部良明「漢字の用法」(1976) このほか武部良明『漢字の用法』(角川書店1976)にも同様の記述があるという(未確認)。 とあって、たまたま同書(三版)を持っているので調べてみた。 「関数」ではなく「関・函」の項にあった。 「函」は「いれる」意味。 したがって、「函数」という漢字の組み合わせからは、「対応して定まる数」という意味は出てこない。 「函数」については function という原語の音 fun を、「函」の音カン(現代中国語 han)で写したものとされている。 これに対し現代表記の「関数」は、全体の意味を「かかりあう数」と考え、「函」の部分を、同音で「かかりあう」意味の「関」に書き換えたものである。 2. 遠山啓「関数を考える」(1972) 近所の図書館で見つけた。 会話体の文章の中で、先生役が言っている。 はっきりはわからないが, 中国語の発音では function と似ていて, しかも意味も近いらしいのだ. 3. 遠山啓「数学は変貌する」(1971) 2012年にちくま学芸文庫から出た「現代数学入門」所収。 「関数を考える」が中学生ぐらいを対象にしたシリーズの一冊なので、そこでいきなり初披露ということは無いだろうと見当をつけて遡って探した。 機能とは簡単にいうと働きです。 ライプニッツが初めてファンクションという言葉を使った. ライプニッツはドイツ人ですが, ドイツ語は当時はいなかの言葉みたいで, フランスが文化の中心であったから, フランス語で書いてありますので, フォンクション (fonction) です. もとは日本では「函数」, あとになって「関数」と改めたのです. なぜこんな函の数という妙な言葉を使ったか, これは中国からきた字です. 中国人は各国語を音まで似せて訳すことがうまい. フォンクションは中国語で函数を中国読みしますと非常に似ているのだそ...

2025年の読書

読書メーターの記録 によるとマンガも入れて101冊。 久しぶりに年100冊に乗った。 前年からの勢いのままに菌類関係の本をいくつか読んだが深澤遊の「キノコとカビの生態学」「枯木ワンダーランド」は面白かった。 後半はファーブル昆虫記を読破した。岩波文庫の古い訳で読んだのが良かったのか良くなかったのか。 数学関係は、前半表現論の本を読んで表現とは加群のことであるという言葉で何だかすっきりした。 年の終わり近くはラングランズ予想というか楕円曲線と保型形式とガロワ表現とみたいな内容の本をいくつか。「ラングランズ予想」というそのものズバリなタイトルの本も出たのでその内読みたい。 マンガは、「ヴィンランド・サガ」も「アルテ」も「推しが武道館に行ってくれたら死ぬ」も完結して、読み続けるタイトルが少なくなってきた。

Schur Number

Youtube の Numberphile チャンネルで最近出た Schur Number の動画を見た、 そこでのシューア数の定義は OEIS の "version 1" の方 Smallest number such that for any n-coloring of the integers 1, ..., a(n) no color is sum-free, that is, some color contains a triple x + y = z. だったが、 "version 2" の Largest number such that there is an n-coloring of the integers 1, ..., a(n) such that each color is sum-free, that is, no color contains a triple x + y = z. の方が解り易いからこちらで話を進める。version 2 の方が 1 小さい値になるというだけの違いがある。 動画の内容は \(a(n) = 160\) になる証明が2ペタバイトのデータ量で凄い、みたいなこと。 結局、全ての n-coloring を確認するしかないとか何とか。 ここではそういう難しい部分の話はせずに、1, 4, 13, 44, 160 という増え方が大体 3 倍を超えるぐらいというのを納得する議論をしてみたい。 よりはっきり言うと、1, 4, 13 と増える \(a_{n+1} = 3a_n + 1\) という数列が下限になることを示す。 一つ注意を述べると、n-coloring を考えるというより \(\{1,\ldots,k\}\) の和抜き(sum-free)集合による被覆を考えれば良い。被覆ができれば彩色を作れる(自由度を失うだけ)ので。 そういうわけで \(\{1\}\) の被覆を考え始めるわけだが、そちらも \(\{1\}\) で良い。 次に \(\{1, 2\}\) の被覆を考えるが \(1+1=2\) なので \(\{1,2\}\) は和抜きではない。よって \(\{1, 2\}\) の和抜き集合による被覆は \(...