乗法逆元計算ツール
通常の逆数と整数の剰余逆元を、それぞれに適した方法で求めます。
乗法逆元を求める
実数の逆数には除算を、互いに素な整数には剰余演算を使用します。
乗法逆元計算ツールについて
乗法逆元は、掛け算の作用を打ち消す値です。通常の算術では、ゼロでない数 a の逆元は逆数、つまり 1 を a で割った値です。a にその値を掛けると 1 になるためです。8 の逆数は 0.125、二分の一の逆数は 2 で、負の数の逆数も負になります。ゼロにどの有限の値を掛けても 1 にはならないため、ゼロに乗法逆元はありません。
剰余演算では、これと関連する別の定義を使います。法 m における整数 a の逆元とは、a と掛けた積を m で割った余りが 1 となる整数 x です。例えば、法 26 における 7 の逆元は 15 です。7 と 15 の積は 105 で、105 mod 26 は 1 になるからです。剰余逆元は通常、小数で表す逆数とは異なります。有限個の剰余類の体系に属し、法の任意の整数倍を加減しても、同じ解を表す別の代表元になります。
剰余逆元が存在するのは、数と法が互いに素、つまり最大公約数が 1 の場合に限られます。このツールは拡張ユークリッドの互除法でこの条件を確認します。このアルゴリズムは、入力値を最大公約数に結び付ける係数を求めます。最大公約数が 1 なら、対象の数に付く係数を法 m で還元することで、最小の非負の逆元が得られます。入力値が 1 より大きい公約数を持つ場合、どの積でも余りを 1 にできないため、逆元が存在しないことを表示します。
分数、倍率、代数的な除算、比率、実数の計算には逆数モードを選びます。合同式、数論、暗号、チェックサム、整数アルゴリズムには剰余逆元を選びます。剰余演算の入力は安全な整数で、法は 1 より大きい必要があります。対象の数には負の整数も使えます。逆元を解釈する前に、同値な剰余に還元できるためです。
乗法逆元は方程式を解く際の基本です。通常の方程式では、両辺に逆数を掛けるとゼロでない係数を取り除けます。合同式では、剰余逆元が存在する場合に限り、それを掛けて変数を取り出せます。公開鍵暗号でははるかに大きな整数にこの考え方を使いますが、実運用の暗号処理には専用の任意精度・定数時間ソフトウェアが必要です。このツールは、二種類の逆元を明確に区別しながら、学習、宿題の確認、中程度の大きさの算術例を解くためのものです。
乗法逆元の計算例
通常の逆数と剰余演算における逆元を比較します。
| 入力 | 逆元 | 検算 |
|---|---|---|
| 8 の逆数 | 0.125 | 八に 0.125 を掛けると 1 になります。 |
| -4 の逆数 | -0.25 | 負の四に負の 0.25 を掛けると 1 になります。 |
| 法 26 における 7 の逆元 | 15 | 七と 15 の積は 105 で、26 で割った余りは 1 です。 |
| 法 11 における 3 の逆元 | 4 | 三と 4 の積は 12 で、11 で割った余りは 1 です。 |
乗法逆元の求め方
- 通常の算術には「逆数」、整数の合同式には「剰余逆元」を選びます。
- 逆元を求めたい数を入力します。
- 剰余逆元の場合は、1 より大きい整数の法も入力します。
- 「逆元を求める」を選び、表示された掛け算の関係を確認します。
乗法逆元計算のよくある質問
乗法逆元は常に逆数ですか?
通常の実数の算術では、a の逆元は 1 を a で割った値です。一方、剰余演算では、元の数との積を法で割った余りが 1 になる整数を指します。
ゼロに逆数がないのはなぜですか?
どの有限の値にゼロを掛けても、1 ではなくゼロになります。そのためゼロによる除算は未定義で、逆数を定められません。
剰余逆元はどのような場合に存在しますか?
数と法の最大公約数が 1 のときに存在します。互いに素という条件により、拡張ユークリッドの互除法で必要な係数を求められます。
剰余逆元は負になりますか?
法の整数倍だけ異なる値は合同なので、同値な逆元の代表元は負にもなります。このツールでは最小の非負の代表元を表示します。
拡張ユークリッドの互除法とは何ですか?
通常の最大公約数を求める手順を拡張し、整数係数も追跡するアルゴリズムです。最大公約数が 1 なら、その係数の一つから直接剰余逆元を得られます。