合同式の逆元からオイラー関数へ

オイラーのファイ関数

大学で習う初頭整数論の便利屋さん、

オイラーのϕ関数

今回は、そんな便利屋さんについて学んでいきましょう!

合同式の方程式について

合同式シリーズの前の記事では、合同式の方程式が解けるための条件を考えました。

axb(modk)

を満たす整数xについて考えてきたわけです。

詳しくはこちらの記事を参照ください。

そして、例えば

2x1(mod5)

の解は、x3でした。

前回はこれを代入作戦と一次不定方程式を用いて解きましたが、

この計算過程には、

逆元という考え方が本質的に隠れています。

まずは逆元について深めていきましょう。

逆元とは?

ある数aに対して、

ab=1

となる数bが存在するとき、

baの逆元である、といいます。

実数の世界では、例えば

2×12=1

なので、2の逆元は12です。

実数の世界では、0以外の数には必ず逆元が存在します。

(これは結構すごい事実です)

ここで、合同式の世界で同じようなことを考えてみましょう。

例えば、mod5で考えてみます。

aに対して、ab=1となるbを探します。

1,2,3,4 を順に処理していきましょう。(0は除いています)

1×1=11(mod5)

なので、1の逆元は1自身です。

2はちょっと複雑ですが、

2×3=61(mod5)なので、

2の逆元は3になります。

同様に、3の逆元は2です。

では4は?

4×4=161(mod5)

なので、4の逆元は4自身です。

ということで、mod5の世界では、

0を除いた1,2,3,4 すべてに逆元が存在しました!

他の例も考えてみましょう。

mod4ではどうでしょうか?

1×1=11(mod4)より、

1の逆元は1自身です。これは先ほどと同じですね。

では2は?

2×1=22(mod4)

2×2=40(mod4)

2×3=62(mod4)

逆元、ないじゃん!!!

なんと、mod4の世界では逆元が存在しない数があります。

しかしこれはよくよく考えてみると当たり前のことです。

合同式の世界では、

そもそも割り算は互いに素という条件がなければできませんでした。

詳しくはこちらの記事をご覧ください。

なので、例えば、mod4の世界では、

4と互いに素である1と3しか逆元は持たないのです。

このように、

合同式の世界の逆元を考える際には、

互いに素な奴らがどの程度いるか

ということがとても重要な情報になります。

そこで登場するのがオイラー関数です。

(定義)

1からnまでの自然数の中で、nと互いに素なものの個数を

ϕ(n)で表し、

オイラー関数(またはオイラーのϕ関数、オイラーのトーシェント関数)と呼ぶ

具体例を考えてみましょう

例えばϕ(5)

1,2,3,4,5のうち、5と互いに素なのは

1,2,3,4なので、ϕ(5)=4

です。

ϕ(4)は、

1,2,3,4のうち、4と互いに素なのは

1,3なので、ϕ(4)=2

です。

しかし、ϕ(720)とかになるとちょっと数え上げるのは大変すぎます。

そこで、ϕ(n)を求めるための計算法則はないかな?

ということが気になります。

さて。

我々は今、オイラー関数の計算規則を見つけようとしています。

何をするか?

観察です!!

オイラー関数の値を観察

観察のステップでは、データの数がモノを言います。

ひとまず、オイラー関数の値を求めまくってみましょう。

ϕ(1)=1

ϕ(2)=1

ϕ(3)=2

ϕ(4)=2

ϕ(5)=4

ϕ(6)=2

ϕ(7)=6

ϕ(8)=4

ϕ(9)=6

ϕ(10)=4

ϕ(11)=10

ϕ(12)=4

ϕ(13)=12

ϕ(14)=6

ϕ(15)=8

どうでしょう。

なにか気になる点や、規則性は見いだせましたか?

僕の感想としては、

なんか、偶数が多いということがまず目に留まります。

もうこの時点で、実は結構面白いんです。

例えば、ϕ(n)=3となるnは存在するのかどうかとか。

ϕ(n)の値には、全ての自然数は出現するのか?

もしϕ(n)の値として出現しない数があるのなら、

出現する数と出現しない数の違いは何なのか?

判定条件はないのか?

など、興味が尽きません。

オイラー関数はまじで研究ポイントの宝庫というか、

本当に思いがけないような場面で色々登場する便利屋さんです。

記事にしたいことが沢山あるのですが、余白が足りないので(フェルマー並感)

今回はオイラー関数の最特徴的な性質だけ紹介し、

残りはまた別の記事でまとめようと思います。

ご期待ください。

やたら偶数が多いという点を除くと、次に注目すべきポイントは、

周りの値と比べて急に大きくなるポイントがあるということです。

例えば、10,11,12の並びを見てみましょう。

ϕ(10)=4,ϕ(11)=10,ϕ(12)=4

で、ϕ(11)だけやたら大きい値になってます。

このような感じで、周囲より大きい値になっている奴らだけ取り出してみましょう

ϕ(5),ϕ(7),ϕ(11),ϕ(13)

素数です

例えば、pが素数の時、

ϕ(p)=p1が成り立っています。

素数の定義とϕ(n)の定義をよくよく考えれば実はこれは当り前のことですが、

結構驚きの結果ではないですか?

素数とは、1と自身以外に約数を持たない数です。

ϕ(n)とは、1からnまでの数のうち、nと互いに素なっものの個数です。

pを素数とすると、1,2,3,,pまでのうち、pと互いに素なのは

1,2,,p1p1個です。

よってϕ(p)=p1となります。

素数がなにか特別っぽい動きをしていると、

それだけでちょっと嬉しい気持ちになるのが数学ジャンキーです。

では、合成数の場合はどうでしょうか?

合成数は、約数に着目するのがセオリーです。

例えば、ϕ(15)=8に着目しましょう

いま、15=3×5です。

ここで、ϕ(3)=2,ϕ(5)=4

なにか神秘を感じませんか?

ϕ(15)=ϕ(3)×ϕ(5)です!!

ヤバくないですか?

ϕ(mn)=ϕ(m)ϕ(n)

これはいつでも成り立つのでしょうか?

例えばϕ(9)=6 です

9=3×3です。

ϕ(3)=2でした

ふむ

ϕ(mn)=ϕ(m)ϕ(n)

はいつでも成り立つわけではないようです。

どういうときに成り立つかというと、

互いに素な時です

(定理)

m,nが互いに素なとき、

ϕ(mn)=ϕ(m)ϕ(n)

が成り立つ

ϕ(mn)=ϕ(m)ϕ(n)

この性質を、オイラー関数の乗法性と言います。

まとめ

いかがでしたか?

・合同式の世界では、逆元はいつも存在するわけではない。

・逆元を考える際には互いに素という条件が大切

・互いに素なやつらがどの程度いるか、数えることができたら便利

・オイラー関数登場

という流れを楽しんでいただけたらと思います。

次回の記事では、今回観察したオイラー関数の乗法性

ϕ(mn)=ϕ(m)ϕ(n)

を証明しようと思うので、ご期待ください。

ブログランキング参加してます

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA