ファイ関数-φ(n) | n以下の自然数でnと互いに素なものの個数

ファイ関数-トーシェント関数-表紙

ファイ関数 φ(n) (トーシェント関数)は、1 以上 n 以下の自然数の中で、n との最大公約数が 1 である自然数の個数を表しています。

まず高校の範囲でファイ関数の基本的な性質を解説します。

自然数 a と b の最大公約数が 1 のとき、
φ(ab) = φ(a)φ(b) となるファイ関数の乗法性は、後半の方で証明を行っています。

自然数 a と b について、a の正の約数 かつ b の正の約数であるものを a と b の公約数といいます。

公約数の中で、通常の大小関係について最大のものが a と b の最大公約数です。

ファイ関数-φ :まずはφ(n)の定義から

【定義】

自然数 n に対して、1 以上 n 以下の自然数で、n との最大公約数が 1 である自然数の個数を φ(n) と表す。


定義から、自然数 1 に対して、φ(1) = 1 ということが分かります。1 以上 1 以下の自然数は 1 しかなく、1 と 1 との最大公約数が 1 だからです。

次に、素数についてファイ関数のとる値を考えます。

nが素数のとき

素数 p について、φ(p) の値を考えます。p と p の最大公約数は p です。

素数は 2 以上の自然数なので、p と p の最大公約数は 1 ではありません。

残りの 1 以上 p - 1 以下の範囲の自然数を考えます。

素数の定義から、2 以上 p - 1 以下の自然数は p の約数ではありません。

そのため、k を 2 以上 p - 1 以下の自然数とすると、k と p の最大公約数は 1 です。そして、1 と p の最大公約数は 1 です。

よって、1 以上 p - 1 以下の自然数は、すべて p との最大公約数が 1 となっています。

ゆえに、φ(p) = p - 1

素数 p に対して、1 以上 p - 1 以下の自然数はすべて p との最大公約数が 1 なので、これら p - 1 個の自然数の個数が、φ(p) のとる値です。

今度は n が素数のベキ乗のときについて、
n と最大公約数が 1 となっている自然数が何個あるのかを数えます。

記号ですが、
整数 a が整数 b の約数であるとき、
a | b と表します。

nが素数のベキ乗のとき

p を素数とし、k を自然数とします。

このとき、φ(pk) を求めます。


1 以上 pk 以下の自然数 m と pk の 2 以上の 公約数を d とすると、d | pk です。

そのため、d を素因数分解したときに、p ではない素数を素因子としてもっていないことになります。

d は 2 以上で 1 ではないため、素因子として素数 p をもちます。

すなわち、
d = ps (s は自然数で 1 ≦ s ≦ k)

そして、d | m より、
m = d × t (t は整数) という形。

d = ps なので、m = ps × t となり、m は p の倍数です。

つまり、1 以上 pk 以下の pk 個の自然数について、pk との最大公約数が 2 以上となっている自然数を素因数分解をすると、必ず p が素因子として現れます。

1 以上 pk 以下の範囲で、p で割り切れる自然数を書き出します。

言い換えると、1 以上 pk 以下の範囲にある p の倍数を書き出すことになります。

p × 1, p × 2, … , p × pk-1 となります。

p に掛ける整数は、pk-1 よりも大きくなると、p との積が pk よりも大きくなってしまうことから、p に掛ける整数は、1 以上 pk-1 以下の範囲に入っていなければなりません。

よって、1 以上 pk 以下の範囲内の自然数から、これら pk-1 個の p の倍数を除いた残りの自然数は p で割り切れません。

そのため、pk との公約数は 1 しかもちません。
※ 公約数が 1 しかないということは、最大公約数が 1 ということです。

ゆえに、1 以上 pk 以下の自然数で pk との最大公約数が 1 である自然数の個数 φ(pk) が求まりました。

φ(pk) = pk - pk-1 です。

全体の pk 個の自然数から pk-1 個の p の倍数を除いた残りの自然数の個数が φ(pk) です。

この右辺を pk でくくり出して、
φ(pk) = pk(1 - 1/p)

k = 1 のときは、
φ(p) = p(1 - 1/p) = p - 1 となり、先ほど求めたときと同じ結果になっています。

ファイ関数-φ :φ(n)の乗法性

最大公約数が 1 である 2 以上の自然数 a と b が与えられたとします。

このとき、ab 以下の自然数で ab との最大公約数が 1 となっているものの個数 φ (ab) について、次が成立します。


【ファイ関数の乗法性】

最大公約数が 1 である自然数 a と b について、
φ(ab) = φ(a)φ(b) である。


ファイ関数の乗法性の証明は、後で証明します。いったんは認めて議論を進めます。

このファイ関数の乗法性と、自然数 n の素因数分解から、φ(n) の値を求める式を導けます。

φ(n)の値を求める式

2 以上の自然数 n と、その素因数分解を
n = p1e1p2e2 … pkek とします。

p1e1, p2e2 , … , pkek たちは、どの二つについても最大公約数が 1 なので、
p1e1 と (p2e2 … pkek) に対してファイ関数の乗法性を用いると、
φ(n) = φ(p1e1(p2e2 … pkek))
= φ(p1e1)φ(p2e2 … pkek)

φ(p2e2 … pkek) についても、
同じ議論を繰り返すと、
φ(p1e1)φ(p2e2 … pkek)
= φ(p1e1)φ(p2e2) … φ(pkek) となります。

まとめると、
φ(n) = φ(p1e1)φ(p2e2) … φ(pkek)

素数ベキについては、既に値を求めているので、次のように計算できます。

ファイ関数-基本性質-証明

n の素因数分解で、それぞれの素因子となっている素数たちと、n の値だけとなっています。

それぞれの指数の値たちが表に現れていない形の式で、φ(n) を表せています。

n が 2 以上のときに φ(n) の値を求める式です。

n = 1 のときには、φ(1) = 1 でしたので、理論上は、どんな自然数に対しても、φ(n) を表せるということになります。

ファイ関数と剰余環をつなげて考察

2 以上の自然数 n に対して、剰余環 Z/nZ の乗法逆元とファイ関数は関連します。

※ Z は整数環です。

可換環 Z/nZ について、以下では乗法逆元をもつかどうかの確認方法を解説します。

以下、n を 2 以上として、Z/nZ の各元について乗法逆元をもつのかどうかを確認します。

そして、{0, 1, … , n - 1} を完全代表系として議論を進めます。

乗法逆元をもつかの確認

【定理】
a と n を最大公約数が 1 である自然数とする。
このとき、
x ÷ n と y ÷ n の余りが等しくないならば、
ax ÷ n と ay ÷ n の余りが等しくない。

余り-整数問題より

ax + nZ と ay + nZ について、
【定理】より、ax と ay を n で割ったときの余りが異なるので、Z における同値類として異なることが分かります。

そのため、ax + nZ ≠ ay + nZ です。

この考察から、a + Z/nZ の代表元 a と n の最大公約数が 1 であるならば、
(a0)+nZ, (a1)+nZ, … , a(n - 1)+nZ たちは、どの二つも異なる Z/nZ の元です。

これらは、異なる n 個の Z/nZ の元ですから、どれか 1 つのみが、1 + nZ と等しくなっています。

よって、
0 以上 n - 1 以下の自然数 k がただ 1 つのみ存在して、(ak) + nZ = 1 + nZ

左辺は a + nZ と k + nZ の積なので、
(a + nZ)(k + nZ) = 1 + nZ

これは、k + nZ ∈ Z/nZ が a + nZ の乗法逆元ということを示しています。

a と n の最大公約数が 1 であるとき、a + nZ は乗法逆元をもつことになります。

ファイ関数 φ(n) の定義は、n 以下の自然数で n との最大公約数が 1 となっている自然数の個数ということでした。

n ≧ 2 のときは、
n と n の最大公約数 n ≧ 2 なので、
(n - 1) 以下の自然数で n との最大公約数が 1 となっている自然数の個数が φ(n) となっています。

(n - 1) 以下の自然数で n との最大公約数が 1 となっている自然数を代表元にする Z/nZ の元は、乗法逆元をもちます。

そのため、φ(n) は Z/nZ の乗法逆元の個数を意味しています。
※ ただし、{0, 1, … , n - 1} に完全代表系を固定しているときです。

よって、n = p が素数であるとき、
Z/pZ は 1 + pZ, … , (p - 1) + pZ の代表元はすべて p との最大公約数が 1 となっています。

したがって、これら (p - 1) 個の元は乗法逆元をもちます。

記号ですが、(Z/nZ) の乗法逆元をもつ元全体を (Z/nZ)× と表すことにします。

n = p が素数のときには、
φ(p) = p - 1 が (Z/pZ)× に含まれている元の個数です。

※ 可換環において、零因子が 1 つも存在しないとき、その可換環を整域といいます。

n が合成数のときには、Z/nZ は整域ではありません

入門的な群論を用いて

以上より、n が 2 以上のとき、
Z/nZ の元 x + nZ の代表元 x と n との最大公約数が 1 だと乗法逆元をもち、最大公約数が 2 以上だと乗法逆元をもたないことが分かりました。

0 以上 n - 1 以下の非負整数について、n との最大公約数が 1 となる数は、φ (n) となります。

n が 2 以上なので、n と 0、n と n の最大公約数が 2 以上なので、n との最大公約数が 1 となる自然数が 1 以上 n - 1 以下 の中にしか現れないからです。

|(Z/nZ)×| = φ(n) となります。
※ |S| は S の位数を表す記号です。

この内容と中国剰余定理を用いて、ファイ関数の乗法性を示します。

乗法性の証明

【ファイ関数の乗法性】

自然数 a と b の最大公約数が 1 であるとき、
φ(ab) = φ(a)φ(b)


<証明>

a = 1 のとき、
φ(ab) = φ(b) = 1 × φ(b)
= φ(1)φ(b) = φ(a)φ(b) となり成立します。

b = 1 のときにも、同様にして成立します。

よって、以下で、a ≧ 2 かつ b ≧ 2 のときを議論します。

a と b の最大公約数が 1 なので、
中国剰余定理から、
Z/(ab)Z と Z/aZ × Z/bZ が環として同型です。

この同型についての環同型写像 f は、
f(x + (ab)Z)
= (x + aZ, x + bZ) です。

環の直積 Z/aZ × Z/bZ の元が乗法逆元をもつのは、第 1 成分と第 2 成分が両方とも逆元をもつときです。

(Z/aZ × Z/bZ)×
= (Z/aZ)× × (Z/bZ)× より、含まれている元の個数について、
|(Z/aZ × Z/bZ)×|
= |(Z/aZ)×| |(Z/bZ)×|
= φ(a)φ(b)

一方、f が環同型写像ですから、
Z/aZ × Z/bZ の乗法逆元全体である
(Z/aZ × Z/bZ)× に対応するものが、
f-1((Z/aZ × Z/bZ)×) = (Z/(ab)Z)× となります。

逆写像も全単射ですから、含まれている元の個数が等しくなり、
φ(ab) = |(Z/(ab)Z)×|
= |(Z/aZ × Z/bZ)×|
= φ(a)φ(b)【証明完了】

さらに、ファイ関数についての基本的な性質で、
自然数nの分割という内容があります。


【関連する整数の記事】

合同方程式の解き方


これで、今回の記事を終了します。

読んで頂き、ありがとうございました。