順番 11 / 64

高校

時計のわり算

時計の大きさと互いに素なら、余りの世界で本物の逆元を持ち、a · a⁻¹ = 1。

まず、身近な例で

0から8の9目盛りの時計で、2×5=10は1の位置。だから5をかけると、2をかける操作を元に戻せます。3の倍数は0、3、6にしか着かず、1には着きません。

ちいさな確認:考えてみよう

上の具体例を見ながら考えよう。何度やり直しても大丈夫。

9目盛りの余りの時計で、5をかけると2倍を元に戻せるのはなぜ?

答えと考え方を読む

2×5=10が1の位置になるから。 掛け算を元に戻すには、その世界で積が1になる相手を使います。10を9で割ると余り1です。

3段階で考えよう

  1. 大きさ5の時計では、2 × 3 = 6 = 1:掛け算がちょうど1に戻ります。このとき3は2をもとに戻す——わり算が時計の上周りに帰ってきたので、3はa⁻¹と書きます。
  2. 抜粋の関数invはすべての時計でa⁻¹を与え、その説明文は正確な約束を運びます:a * a⁻¹ = gcd a.val n。gcdがぴったり1——aが時計の大きさと互いに素——のときだけ、積は本当に1に戻ります。
  3. 素数の時計は気前がよい:非ゼロのどんな札も素数pと互いに素なので、ℤ/pℤではゼロ以外のわり算がすべて生きる。合成数の時計は分配して与えます。この証明が曲線を還元する世界はまさにここで、traceOfFrobeniusはこの世界の中で数えます。

小さな例で確かめる

9の時計では技は弱まりますが無くなりはしません:そこでは2⁻¹ = 5、なぜなら2 × 5 = 10 = 1(gcd 2 9 = 1)。でも3には逆元がありません:3の倍数は必ず0・3・6に着地し、1には着地しない——gcd 3 9 = 3だからです。

Leanの定義・原文の抜粋

Mathlib · db584cd · Basic.lean

/-- The inversion on `ZMod n`.It is setup in such a way that `a * a⁻¹` is equal to `gcd a.val n`.In particular, if `a` is coprime to `n`, and hence a unit, `a * a⁻¹ = 1`. -/def inv : ∀ n : ℕ, ZMod n → ZMod n  | 0, i => Int.sign i  | n + 1, i => Nat.gcdA i.val (n + 1) instance (n : ℕ) : Inv (ZMod n) :=  ⟨inv n⟩

このLeanの読み方

invの背後には拡張ユークリッドの帳簿(Nat.gcdA)があります:a · val + k · n = gcdとなるsを見つけ、その等式を時計の中でnで割ればa * a⁻¹ = gcdが残ります。単元——本物の逆元を持つ要素——という言葉は、アイゼンシュタインの世界の六つの回転にも、頂上の世界の可逆な要素にも、同じ言葉として使われます。このページのあとは、可逆とはどこでも一つの意味です。

この言葉を使う章

12. 二つの工房、同じ注文13. ピップの無謀なキルト
わからない・道に迷った

ミカのたすけ舟

時計のわり算

今は、一つだけ

まず「3段階で考えよう」を上から読みます。Leanの原文は、その後でも大丈夫です。

言葉をほどこう

時計の大きさと互いに素なら、余りの世界で本物の逆元を持ち、a · a⁻¹ = 1。

このページの「この言葉の前に」に、先に知ると読みやすい言葉があります。

小さな手がかり

9の時計では技は弱まりますが無くなりはしません:そこでは2⁻¹ = 5、なぜなら2 × 5 = 10 = 1(gcd 2 9 = 1)。でも3には逆元がありません:3の倍数は必ず0・3・6に着地し、1には着地しない——gcd 3 9 = 3だからです。

閉じれば、読んでいた場所に戻れます。このページに合わせて用意したヒントです。

最初の小さな物語から読む →