中国剰余定理はなぜ「合体」できるのか ― 連立合同式の魔法
CRT を分割統治の整数論版として捉え,環の同型 Z/mnZ ≅ Z/mZ × Z/nZ の直感的意味と,Garner のアルゴリズムによる競プロ応用までを解説します.
中国剰余定理(CRT)は,紀元3世紀の中国の数学書『孫子算経』に起源をもつ古い定理ですが,現代でも暗号理論や競技プログラミングで活躍する強力なツールです.連立合同式を「合体」して1つの合同式にする ― この魔法のような操作の背後にある構造を解き明かします.
1 孫子の問題 ― 古代からの出発
2 中国剰余定理の主張
3 構成的証明 ― 解を実際に作る
, → ()
, → ()
, → ()
4 環の直積分解 ― 代数的な意味
CRT は代数の言葉で次のように述べられます.
5 Garner のアルゴリズム
CRT の構成的証明による直接計算は,が非常に大きくなりオーバーフローの危険があります.Garner のアルゴリズムはこの問題を回避します.
より
に を代入すると ,つまり
以降同様に を で求めます
6 競プロ応用 ― 大きな mod 下での計算
複数の素数 mod での計算結果を1つにまとめる
答えが非常に大きいが,複数の小さな mod での値から復元したい
で が素数でないとき,素因数分解して各素数 mod で計算する
7 まとめ
CRT:互いに素な法での余りの組は,積を法とする余りと1対1に対応します
代数的には (分割統治の代数版)
構成的証明により,解を明示的に計算できます
Garner のアルゴリズムでオーバーフローを回避しながら実装できます
次の記事では,の世界で「平方数」がどう振る舞うか ― 二次剰余の不思議な世界に踏み込みます.