読者です 読者をやめる 読者になる 読者になる

arXiv探訪

興味の赴くままに数学するだけ

余代数のグラフ表現について

誕生日パラドックス→ベルヌーイ数ちゃんと知らないなぁ→umbral calculus(陰計算)という擬数学があるらしい→余代数で正当化できるらしい→余代数に興味が沸いた

ということで余代数を少し学んだので知識の整理をする。オリジナルと言うほどでもないけど、幾つかの例はグラフ余代数と呼ばれる例(の剰余)で表せることを考えた。この注意について言及がある本やPDFは未だ見ていないので、何か文献が有れば教えて欲しい。

代数

代数(algebra)とは、可換環論の文脈において環準同型{ R\rightarrow A }を指す。これはアティマクに倣ったもので「ざっくり学ぶ可換環論」でも踏襲している。ところがより広い文脈では、{ R }-加群(この{ R }可換環)であって、結合的かつ和に関して分配的な積演算が定義され、{ r(xy)=(rx)y=x(ry) }{ r\in R, x, y\in A }で成り立つものを指す。特に両側単位的な元{ 1_{A}\in A }を持つことを要請する場合もあるが、いずれにせよ積の可換性を仮定しない。可換環論の立場なら斜代数(skew-algebra)とでも呼ぶべきなのかもしれないが、実は広義の方の定義を三つ組みで表現することができる。

{ A }{ R }-代数、{ m:A\times A\rightarrow A }{ R }-双線型写像{ u:R\rightarrow A }{ R }-準同型とする。また{ \overline{m}:A\otimes A\rightarrow A }を誘導された準同型とする。また

{ \begin{align*} A\otimes A\otimes A\xrightarrow{\overline{m}\otimes\mathrm{id}}A\otimes A\xrightarrow{\overline{m}}, \\ A\otimes A\otimes A\xrightarrow{\mathrm{id}\otimes\overline{m}}A\otimes A\xrightarrow{\overline{m}} A \end{align*} }

及び

{ \begin{align*} R\otimes A\xrightarrow{u\otimes\mathrm{id}}A\otimes A\xrightarrow{\overline{m}}A, \\ R\otimes A\xrightarrow{\cong}A \end{align*} }

及び

{ \begin{align*} A\otimes R\xrightarrow{\mathrm{id}\otimes u}A\otimes A\xrightarrow{\overline{m}}A, \\ A\otimes R\xrightarrow{\cong}A \end{align*} }

がそれぞれ一致することを仮定する。(図式で書ければ一目瞭然なのだが。)このとき{ A }を広義の代数とみなせ、また逆に広義の代数はこのような写像を定め、お互いに復元できる。従って広義の代数を代数{ (A, \overline{m}, u) }と表すことができ、表記の上で狭義の代数{ R\rightarrow A }と区別できる。

余代数

{ R }-加群{ C }及び準同型{ \Delta:C\rightarrow C\otimes C, \epsilon:C\rightarrow R }が上の図式の双対図を満たすとき、組{ (C, \Delta, \epsilon) }を余代数(coalgebra)と呼ぶ。例は豊富にあるのでいくつか紹介しよう。

例1:{ S }を集合、{ C=RS=\oplus_{s\in S} Rs }として、{ \Delta(s)=s\otimes s, \epsilon(s)=1 }と定める。天野勝利氏のPDFに依れば差分作用素に対応する。

例2:{ C=R\oplus R\partial }として、{ \Delta(1)=1\otimes 1, \Delta(\partial)=\partial\otimes 1+1\otimes\partial }{ \epsilon(1)=1, \epsilon(\partial)=0 }と定める。微分作用素らしい。

例3:{ C=\oplus_{n\ge 0}Rd_{n} }として、{ C(d_{n})=\sum_{i+j=n}d_{i}\otimes d_{j} }{ \epsilon(d_{n})=\delta_{n, 0} }クロネッカーのデルタ、と定める。高階導分に対応するそうだ。

例4:上で

{ \displaystyle \Delta(d_{n})=\sum_{k=0}^{n}\left(\begin{matrix}n \\ k\end{matrix}\right)d_{k}\otimes d_{n-k} }

としたものはdivided power coalgebraと呼ばれる余代数となる。

例5:他にも{ C=Rc\oplus Rs }として、{ \Delta ( c )=c\otimes c-s\otimes s, \Delta ( s )=s\otimes c+c\otimes s }{ \epsilon ( s ) =0, \epsilon ( c ) =1 }と定めたのはtrigonometric coalgebraと呼ばれる。

例6:また{ U_{2} }で表されるのが{ C=Rg\oplus Rx\oplus Rh }として、{ \Delta(g)=gg, \Delta(x)=gx+xh, \Delta(h)=hh }テンソルは適宜省略する)、{ \epsilon(g)=1, \epsilon(x)=0, \epsilon(h)=1 }と定めた余代数。

例7:行列余代数というのは{ C=\mathbb{M}_{n}( R ) }で、基底{ e_{ij} }に対して{ \Delta( e_{ij} )=\sum e_{ik}\otimes e_{kj}, \epsilon( e_{ij} )=\delta_{i, j} }と定めたもの。

{ i\in I }を頂点とする有向グラフ{ \Gamma }を考えよう。({ I }は必ずしも加算である必要は多分ないが、一応可算としておく。){ \Gamma }が推移的({ i\rightarrow j, j\rightarrow k }なら{ i\rightarrow k })で、局所有限({ i, j }に対し、{ i\rightarrow k\rightarrow j }なる{ k }は高々有限個)とする。辺を{ e_{ij} }と表し、{ C=\oplus e_{ij} }と置く。更に

{ \Delta(e_{ij})=\sum_{k} e_{ik}\otimes e_{kj}, \epsilon(e_{ij})=\delta_{ij} }

と定めれば、{ (C, \Delta, \epsilon) }は余代数となる。便宜上、グラフ余代数と呼ぶことにする。

例との関係を見てみよう。

例1について:{ I=S }として、{ s\rightarrow s }としたものに他ならない。

例6について:{ p\rightarrow p, p\rightarrow q, q\rightarrow q }としたものに他ならない。実際{ g=e_{pp}, x=e_{pq}, h=e_{qq} }である。

例7について:{ I=\lbrace 1, \dotsc, n \rbrace }として{ i\rightarrow j }としたものに他ならない。

イデアルと剰余余代数

余代数{ C }の部分加群{ N }を考える。剰余加群{ C/N }を余代数とみることができないだろうか? 一般には勿論不可能だが、余イデアルという状況を考えれば可能となる。

まず基本となるのは完全系列{ 0\rightarrow N\rightarrow C\rightarrow C/N\rightarrow 0 }である。テンソル積の右完全性より

{ N\otimes C\xrightarrow{\iota_{1}}C\otimes C\xrightarrow{\alpha_{1}}C/N\otimes C\rightarrow 0 }

は完全となる。テンソルの順序を交換する同型{ \mathrm{tw} }を施せば

{ C\otimes N\xrightarrow{\iota_{2}}C\otimes C\xrightarrow{\alpha_{2}}C\otimes C/N\rightarrow 0 }

も完全となる。また同様に{ C/N }テンソルして、更に{ \mathrm{tw} }を施せば、完全系列

{ \begin{align*} N\otimes C/N\rightarrow C\otimes C/N \xrightarrow{\beta_{1}}C/I\otimes C/N\rightarrow 0, \\ C/N\otimes N\rightarrow C\otimes C/N\xrightarrow{\beta_{2}}C/I\otimes C/N\rightarrow 0 \end{align*} }

を得る。特に写像の作り方より

{ \begin{align*} C\otimes C\xrightarrow{\alpha_{1}}C/N\otimes C\xrightarrow{\beta_{2}}C/N\otimes C/N, \\ C\otimes C\xrightarrow{\alpha_{2}}C\otimes C/N\xrightarrow{\beta_{1}}C/N\otimes C/N \end{align*} }

は一致する(可換)ので、これを{ \pi:C\otimes C\rightarrow C/N\otimes C/N }と置く。

{ N }{ \Delta N\subset\mathrm{Ker}\alpha_{1}+\mathrm{Ker}\alpha_{2} }を満たすと仮定する。このとき{ x\in N }なら{ \pi\circ\Delta(x)=0 }が従うので、この写像{ \overline{\Delta}:C/I\rightarrow C/N\otimes C/N }を誘導する。これは余代数の図式を満たす。

また{ \epsilon N=0 }を満たすなら、{ \overline{\epsilon}:C/N\rightarrow R }が誘導され図式を満たす。

定義 { N }が余イデアルとは、{ \Delta N\subset\mathrm{Ker}\alpha_{1}+\mathrm{Ker}\alpha_{2}, \epsilon N=0 }を満たすことをいう。このとき{ (C/N, \overline{\Delta}, \overline{\epsilon}) }は余代数を定める。これを{ N }による剰余余代数と呼ぶ。

上の完全系列より{ \mathrm{Ker}\alpha_{1}=\mathrm{Im}\iota_{1}=:\overline{N\otimes C}, \mathrm{Ker}\alpha_{2}=\mathrm{Im}\iota_{2}=:\overline{C\otimes N} }が従う。これは具体的に条件を満たすかどうかを判定するのに都合が良い。

例との関係を見てみよう。以降{ \otimes }は適宜省略する。

例5について:サイズ{ 2 }の行列余代数({ e_{11}=c, e_{12}=s, e_{21}=s^{\prime}, e_{22}=c^{\prime} }と置く)において、{ c-c^{\prime}, s+s^{\prime} }で生成される部分加群は余イデアルとなり、その剰余余代数となる。実際

{ \begin{align*} \Delta(c-c^{\prime}) &= cc+ss^{\prime}-c^{\prime}c^{\prime}-s^{\prime}s \\ &=(c-c^{\prime})c + c^{\prime}(c-c^{\prime}) + (s+s^{\prime})s^{\prime} - s^{\prime}(s+s^{\prime}), \\ \Delta(s+s^{\prime}) &= cs+sc^{\prime}+c^{\prime}s^{\prime}+s^{\prime}c \\ &= (c-c^{\prime})s + c^{\prime}(s+s^{\prime}) + (s+s^{\prime})c^{\prime} + s^{\prime}(c-c^{\prime}) \end{align*} }

であり、それぞれ第{ 1, 3 }項は{ \mathrm{Im}\iota_{1} }の元、{ 2, 4 }項は{ \mathrm{Im}\iota_{2} }の元となる。つまり余イデアルであることが分かる。行列余代数を歪対称に折り曲げたイメージだろうか。

例2について:例6の{ h-g }による剰余となる。

例3について:確かめてないが次のようにして構成できるだろう。{ i\le j }のとき{ i\rightarrow j }となるグラフを考える。このとき{ e_{ij}-e_{0(j-i)} }で生成される部分加群は余イデアルとなり、その剰余余代数となる。{ d_{n}=\overline{e_{0n}} }とすればよい。

一般化

上記のままだと例4の説明がつかない。そこでグラフ余代数を見直すことを考える。{ I }を添え字集合として{ e_{ij} }の自由加群{ C }を与え、(適切な意味で)推移的かつ局所有限な重み付け{ \gamma_{ij} }を用意して、

{ \displaystyle \Delta(e_{ij})=\sum_{k}\frac{\gamma_{ik}\gamma_{kj}}{\gamma_{ij}}e_{ik}\otimes e_{kj}, \epsilon(e_{ij})=\epsilon_{ij} }

が余代数になるような条件を適当に仮定する。このように解釈すれば、係数を{ R }に拡張した余代数を定義できる。例3で剰余を取る前に、重みとして{ \gamma_{0n}=\frac{1}{n!} }を考えれば多分上手く行く…気がする。上手くいくなら、一つの予想として余代数は全てこの形に表せることが立つ。任意の加群が自由加群の剰余加群として表されたように、余代数も「自由余代数」の剰余余代数として表されるのではないか。「自由余代数」はグラフの形が影響するので、自由加群よりずっと豊かな理論が広がっているだろう。

ちなみに余代数の圏はアーベル圏にはならない。何故かと言うと余代数準同型{ f:C\rightarrow C }が自然に定義できるが、核({ \mathrm{Ker}f })は余イデアルにならない。一般に{ \mathrm{Ker}(f\otimes f)\supset\mathrm{Ker}\alpha_{1}+\mathrm{Ker}\alpha_{2} }であって、逆が成り立つとは限らない。{ f }全射なら成り立つそうだ。

参考文献

天野勝利. Hopf 代数とは. PDFファイル.
天野勝利. 代数学I (Hopf 代数と量子群の入門). PDFファイル.
John W. Milnor and John C. Moore. On the Structure of Hopf Algebras. The Annals of Mathematics, Second Series, Vol. 81, No. 2 (Mar., 1965), pp. 211-264.

誕生日パラドックスと復元抽出の怖さ

今回は久しぶりにarXivを探訪したので次の論文を紹介する。

Boaz Tsaban. Bernoulli Numbers and the Probability of a Birthday Surprise. arXiv:math/0304028v4 [math.NA] 17 May 2007.

タイトルにあるBirthday Surpriseとは、日本では誕生日のパラドックスと呼ばれており、学校や職場などのある集団において、同じ誕生日の人が「結構な確率で」少なくとも一組は存在することを主張する。一年365日という可能性に比べれば予想外に多いので、直観に反するように感じる。Wikipediaの記事に依れば23人以上集まれば50%以上の確率でダブりが出るそうだ。確率計算が直観に反する好例として中学とかの教科書に取り上げられることも多い。

用語

数学的に定式化しよう。{ n }元集合から{ k }個の元を取り出す(復元抽出)とき、少なくとも2つが同一である確率を{ \beta_{n}^{k} }と置く。これを直接立式するのは極めて困難だが、全てが異なる確率

{ \displaystyle \pi_{n}^{k}=\left(1-\frac{1}{n}\right)\left(1-\frac{2}{n}\right)\dotsm\left(1-\frac{k-1}{n}\right) }

を用いれば{ \beta_{n}^{k}=1-\pi_{n}^{k} }となり計算できる。ただし{ n }{ k }も大きくなると物理的に難しくなるので、近似的に値を求めることができたら嬉しい。誕生日の例だと微妙だが、例えばあるインターネットサービスのパスワードが{ n=2^{64} }通りあったとして、{ k }人のアカウントのパスワードのどれかが「偶然」一致してしまう確率、と考えればその重要性は増すだろう。

因みに誕生日が重なる回数の期待値は簡単に求めることができる。確率変数{ X_{ij} }を、{ i }番目に取り出した元と{ j }番目の元が一致するとき{ 1 }、異なるとき{ 0 }を取るように定めれば、その期待値は

{ \displaystyle E(\sum_{i\neq j}X_{ij})=\sum_{i\neq j}E(X_{ij})=\sum_{i\neq j}\frac{1}{n}=\frac{k(k-1)}{2n} }

で計算できる。{ n=365 }のとき{ k\ge 28 }であれば期待値は{ 1 }以上となる。{ k=40 }人クラスなら期待値は{ 2.13\dotsb }なので、二組程度はいることになる。(3人一致すると回数は3とカウントしていることに注意。)

論文で述べられている内容

{ \pi_{n}^{k} }は積の形なので、対数を取ってみる。{ -\mathrm{log}(1-x)=\sum_{l=1}^{\infty}\frac{x^{l}}{l} }に注意すれば、

{ \displaystyle -\mathrm{log}\pi_{n}^{k}=-\sum_{j=1}^{k-1}\mathrm{log}\left(1-\frac{j}{n}\right)=\sum_{j=1}^{k-1}\sum_{l=1}^{\infty}\frac{\left(\frac{j}{n}\right)^{l}}{l}=\sum_{l=1}^{\infty}\frac{1}{ln^{l}}\sum_{j=1}^{k-1}j^{l} }

となる。ここで{ S_{k-1}^{l}:=\sum_{j=1}^{k-1}j^{l} }と置き、これを評価してみよう。

補題 実数値関数{ f\ge 0 }は適度な領域で定義され、適度に滑らかとする。{ f^{\prime\prime}\ge 0 }であるとき、

{ \displaystyle \sum_{i=1}^{k}f(i)\le\int_{0}^{k}f(x+\frac{1}{2})\mathrm{d}x }

が成り立つ。

(証明)区間{ \lbrack j, j+1 \rbrack }を考えれば、二階微分(傾きの変化率)が非負なので、{ x=j+\frac{1}{2} }における{ f(x+\frac{1}{2}) }の接線は、常にグラフの下側を通る。そこで接線が為す台形の面積は{ f(j+1) }に等しいため、

{ \displaystyle f(j+1)\le\int_{j}^{j+1}f(x+\frac{1}{2})\mathrm{d}x }

が成り立つ。{ \square }

補題{ x^{l} }に対して用いれば

{ \displaystyle \sum_{j=1}^{k-1}j^{l}\lt\int_{0}^{k-1}(x+\frac{1}{2})^{l}\mathrm{d}x\lt\frac{(k-\frac{1}{2})^{l+1}}{l+1} }

を得る。ここで{ N }に対して

{ \displaystyle \begin{align*} \sum_{l=N}^{\infty}\frac{S_{k-1}^{l}}{ln^{l}} &\lt \sum_{l=N}^{\infty}\frac{(k-\frac{1}{2})^{l+1}}{l(l+1)n^{l}}\lt\frac{k-\frac{1}{2}}{N(N+1)}\sum_{l=N}^{\infty}\left(\frac{k-\frac{1}{2}}{n}\right)^{l} \\ &=\frac{(k=\frac{1}{2})^{N+1}}{N(N+1)(1-\frac{k-\frac{1}{2}}{n})n^{N}}=:\epsilon_{n}^{k}(N) \end{align*} }

と計算できる。すると結局

{ \displaystyle \sum_{l=1}^{N-1}\frac{S_{k-1}^{l}}{ln^{l}}\lt -\mathrm{log}\pi_{n}^{k} \lt \sum_{l=1}^{N-1}\frac{S_{k-1}^{l}}{ln^{l}}+\epsilon_{n}^{k}(N) }

となり、任意の精度で近似できる。この上限と下限を{ u_{N}(k, n), l_{N}(k, n) }と置く。一般に奇数{ M }に対して

{ \displaystyle \sum_{m=0}^{M}\frac{(-x)^{m}}{m!}\lt e^{-x}\lt\sum_{m=0}^{M+1}\frac{(-x)^{m}}{m!} }

{ |x|\lt 1 }のとき成り立つ。この条件は{ k\lt\sqrt{n} }のとき{ |\mathrm{log}\pi_{n}^{k}|\lt 1 }となり満たされるので、このとき

{ \displaystyle -\sum_{m=1}^{M+1}\frac{(-l_{N}(k, n))^{m}}{m!}\lt\beta_{n}^{k}\lt -\sum_{m=1}^{M}\frac{(-u_{N}(k, n))^{m}}{m!} }

となる。これを用いて近似的に求めることができる。

所感

論文に依れば極めて良い精度で計算できるそう。ただ{ k }が大きくなると下の式は使えないので、対数を取る方法は芳しくない。この場合は、どちらかと言えば期待値を見た方が良いかもしれない。(別の基準になってしまうが。)

似たような話題として、プレゼント抽選会も割とパラドックスを感じやすいと気づいた。{ n }個のプレゼントを無作為に{ n }人に分配することを考える。一般にベルヌーイ試行を独立に複数回行う(復元抽出)と、当たりの個数は二項分布に従う。このサイトで確率0.01、試行回数100として計算すると、0個、1個、2個以上で大体3等分されることが分かる。(意味のある値に収束することを証明できる気がしないでもない。)つまり一個も当たらない人が結構いる一方で、二個も三個も当たる人が出てしまう。参加者の不満が募ったり、裏があるのではと勘繰ったりしてしまうことを避けるためにも、当選者を除く(非復元抽出)などしたほうが良いだろう。

疑似乱数について その1 線型合同法の最大周期条件

その0

用語と例

少し用語を整理しよう。線型合同法により生成される疑似乱数列は、組{ (a, c, m, x_{0}) }が与えられたとき漸化式{ x_{n+1}\equiv ax_{n}+c\pmod{m} }で定められる。({ a, c, m, x_{0} }は整数かつ{ m\gt 1, 0\le a, c, x_{0}\lt m }を満たす。*1{ x_{n} }が取る状態の数は有限なので、必ずどこかで軌道が交わる。つまりある{ n, \lambda }が存在して{ x_{n+\lambda}\equiv x_{n} }が成り立つ。このとき{ k\ge n }なら{ x_{k+\lambda}\equiv x_{k} }が常に成り立ち周期的になる。そこで{ \lambda }を組{ (a, c, m, x_{0}) }の周期(period)と呼び、特に{ n=0 }としてよいとき巡回的(cyclic)と呼ぶ。疑似乱数としての役割を考えれば周期は長ければ長い方が良い。一般に周期{ m }を取る組は、初期値を変えてもその周期は変わらない。このようなとき組{ (a, c, m) }を理想的な組と呼ぶことにする。

例えば{ x_{n+1}\equiv 7x_{n}+5\pmod{18} }を考えると、

{ 0, 5, 4, 15, 2, 1, 12, 17, 16, 9, 14, 13, 6, 11, 10, 3, 8, 7, 0 }

という列を生成する。これは巡回的かつ周期は{ 18 }であるから{ m }に等しい。従って{ (7, 5, 18) }は理想的な組となる。注目すべきはその並びであり、一見しただけではその法則が分からないので疑似的な乱数と思える。疑似乱数として使うときは普通全体を{ m=18 }で割る。

次は{ x_{n+1}\equiv 4x_{n}+5\pmod{6} }を考えよう。生成される列は

{ \begin{align*} 5, 1, 3, 5 \\ 0, 5 \\ 2, 1 \\ 4, 3  \end{align*} }

となる。上は巡回的だが、{ x_{0}=0, 2, 4 }のときは巡回的ではない。もちろん理想的ではない。

周期が複数ある場合も存在する。{ x_{n+1}\equiv 7x_{n}+15\pmod{18} }が生成する列は

{ \begin{align*} 0, 15, 12, 9, 6, 3, 0 \\ 1, 4, 7, 10, 13, 16, 1 \\ 2, 11, 2 \\ 5, 14, 5 \\ 8, 17, 8 \end{align*} }

となる。それぞれは巡回的だが、周期は短く数の並びも予測し易い。

最大周期条件

{ (a, c, m) }が理想的となる条件(最大周期条件)を求めたい。そのためには周期を直接求めるのではなく、まず部分的な場合に帰着させることを考える。

補題 { (a, c, m, x_{0}) }が生成する列は巡回的で、周期は{ \lambda }とする。{ m=p_{1}^{e_{1}}\dotsm p_{t}^{e_{t}} }素因数分解としよう。各{ p_{i}^{e_{i}} }への剰余で与えられる組{ (\overline{a}, \overline{c}, p_{i}^{e_{i}}, \overline{x_{0}} }が生成する列(剰余列と呼ぶことにする)も巡回的で、周期は{ \lambda_{i} }とする。このとき{ \lambda }{ \lambda_{1}, \dotsc, \lambda_{t} }の最小公倍数となる。

(証明){ m_{1}, m_{2} }は互いに素として、{ (a, c, m_{1}m_{2}, x_{0}) }が生成する列を{ x_{n} }{ m_{1}, m_{2} }への剰余で得られる組が生成する列をそれぞれ{ y_{n}, z_{n} }とする。何れも巡回的で、周期は{ \lambda, \lambda_{1}, \lambda_{2} }とする。このとき{ \lambda }{ \lambda_{1}, \lambda_{2} }の最小公倍数であることを示せば良い。

まず{ y_{0}=\overline{x_{0}}\equiv x_{0}\pmod{m_{1}} }であり、帰納的に

{ y_{n+1}\equiv \overline{a}y_{n}+\overline{c}=\overline{a}\overline{x_{n}}+\overline{c}=\overline{ax_{n}+c}=\overline{x_{n+1}}\pmod{m_{1}} }

となるので{ y_{n}\equiv x_{n}\pmod{m_{1}} }となる。同様に{ z_{n}\equiv x_{n}\pmod{m_{2}} }を得る。それぞれの生成列が巡回的であることと、{ m_{1}, m_{2} }が互いに素であることから{ x_{t}\equiv x_{s} }{ y_{t}\equiv y_{s}, z_{t}\equiv z_{s} }は同値になる。従って{ \lambda_{1}, \lambda_{2} }の最小公倍数を{ \lambda^{\prime} }と置けば、{ x_{n}=x_{n+\lambda} }より{ y_{n}=y_{n+\lambda}, z_{n}=z_{n+\lambda} }を得るので{ \lambda\ge\lambda^{\prime} }が言える。一方{ y_{n}=y_{n+\lambda^{\prime}}, z_{n}=z_{n+\lambda^{\prime}} }より{ x_{n}=x_{n+\lambda^{\prime}} }を得るので{ \lambda\le\lambda^{\prime} }も言える。故に{ \lambda=\lambda^{\prime} }となる。{ \square }

つまり{ \lambda=m }となるためには{ \lambda=p_{i}^{e_{i}} }となる必要があり、逆もまた然りということになる。何れも巡回的という条件はあるが(外せるかもしれないけど面倒そう)、素数冪に落とせるのは都合が良い。

元の問題に戻って、巡回的となる条件を調べてみよう。つまり{ x_{n}\equiv x_{0}\pmod{m} }となる{ n }が存在する条件を考える。{ x_{n} }を計算すれば

{ \displaystyle x_{n}\equiv a^{n}x_{0}+c\sum_{j=0}^{n-1}a^{j}\equiv x_{0} \pmod{m} }

と同値になる。{ x_{0} }で括れば{ ( (a-1)x_{0}+c)\sum_{j=0}^{n-1}a^{j}\equiv 0\pmod{m} }となるが、これが適当な{ n }で成り立つときは巡回的となり、常に{ \not\equiv 0 }であるときは巡回的とならない。例えば先ほどの二番目の例({ a=4, c=5, m=6 })だと、{ \sum_{j=0}^{n-1}a^{j} }{ 1, 5, 3, 1 }を繰り返し、また{ x_{0}=0, 2, 4 }のとき{ (a-1)x_{0}+c=5 }なので積はゼロにならない。よって巡回的ではない。

得られた式は変数が多く難しいが、

{ c }{ m }と互いに素であり、{ m }の素因数で{ a-1 }が割り切れる

とき、{ (a-1)x_{0}+c }{ m }と互いに素となり、式は{ \sum_{j=0}^{n-1}a^{j}\equiv 0\pmod{m} }になる。実は次が成り立つ。

命題 { p }素数{ a-1 }{ p }で割り切れるとする。このとき

{ \displaystyle \sum_{j=0}^{p^{e}-1}a^{j}\equiv 0\pmod{p^{e}} }

が成り立つ。更に{ \sum_{j=0}^{n}a^{j}\equiv 0\pmod{p^{e}} }となる最小の{ n\gt 0 }{ \lambda }と置くとき、{ \lambda=p^{e} }であることと、{ p\gt 2 }または{ a\equiv 1\pmod{4} }であることは同値になる。

(証明)まず{ a=1 }のときは{ \sum_{j=0}^{p^{e}-1}a^{j}=p^{e}\equiv 0\pmod{p^{e}} }が成り立つ。{ a\gt 1 }とすれば、{ p|(a-1) }より{ p\not| q }及び{ f\gt 0 }を用いて{ a=1+qp^{f} }と表せる。このとき

{ \displaystyle \sum_{j=0}^{n-1}a^{j}=\frac{a^{n}-1}{a-1}=\frac{(1+qp^{f})^{n}-1}{qp^{f}}=\sum_{j=1}^{n}\frac{n!}{j!(n-j)!}(qp^{f})^{j-1} }

となる。これが{ n=p^{e} }のとき{ p^{e} }で割り切れることを示せばよい。ここで二項係数の部分は

{ \displaystyle \frac{n}{j}\left(\frac{(n-1)!}{(j-1)!( (n-1)-(j-1) )!}\right) }

であり、括弧の中身は再び二項係数、特に整数となる。問題なのは分母の{ j }だが、{ j }に現れる素因数{ p }の個数は

{ \displaystyle \frac{j}{p}+\frac{j}{p^{2}}+\dotsb\le\frac{j}{p-1} }

より少ない。つまり{ j-1 }以下となる。分子に現れる個数は{ e+f(j-1) }以上であるため、{ f\gt 0 }より{ p^{e} }を括りだせることが分かる。

{ \lambda=p^{e} }とする。{ p=2 }のとき{ a\equiv 3 \pmod{4} }とすると、{ \sum_{j=0}^{2^{e-1}-1}a^{j} }{ 3+1+3+1+\dotsb }{ 2^{e-1} }回続くのでその和は{ 4\cdot 2^{e-2}=2^{e} }となる。これは{ p^{e} }で割り切れてしまい、最小性に反する。従って{ a\equiv 1\pmod{4} }を得る。

最後に逆を示そう。{ p^{e}=q\lambda+r }と置けば

{ \displaystyle \begin{align*} \sum_{j=0}^{p^{e}-1}a^{j} &= \frac{a^{p^{e}}}{a-1} \\ &= \frac{1}{a-1}(a^{q\lambda+r}-a^{(q-1)\lambda+r}+a^{(q-1)\lambda+r}-a^{(q-2)\lambda+r}+\dotsb \\ & \dotsb +a^{\lambda+r}-a^{r}+a^{r}-1) \\ &= a^{(q-1)\lambda+r}\frac{a^{\lambda}-1}{a-1}+\dotsb+a^{r}\frac{a^{\lambda}-1}{a-1}+\frac{a^{r}-1}{a-1} \\ &\equiv \frac{a^{r}-1}{a-1}\equiv 0\pmod{p^{e}} \end{align*} }

を得る。最小性から{ r=0 }が従うので{ \lambda | p^{e} }となる。つまり{ \lambda }{ p }の冪であることが分かる。同様な方法で{ \lambda }より大きい{ p }冪の{ n }なら常に{ \sum_{j=0}^{n-1}a^{j}\equiv 0\pmod{p^{e}} }となるので、結局{ n=p^{e-1} }のときゼロにならないことを示せば十分である。

先ほどと同じように{ a=1+qp^{f} }と置いて計算すると、第一項目({ j=1 })は{ p^{e-1} }となり{ p^{e} }で割り切れない。そこで第二項目以降({ j\ge 2 })が{ p^{e} }で割り切れることを示せば良い。{ p\gt 2 }のときは{ \frac{j}{p-1}\le p-2 }なので一つ余分に括りだせる。{ p=2 }のときは{ f\gt 1 }であることが必要となるが、仮定より{ a\equiv 1\pmod{4} }だから条件を満たす。{ \square }

議論が込み入ってきたが準備はこれで整った。線型合同法における理想的な組は次で特徴付けられる。

定理 { (a, c, m) }が理想的であることと、以下の三条件を満たすことは同値である。

  • { c }{ m }は互いに素である。
  • { m }の素因数{ p }{ a-1 }を割り切る。
  • { 4|m }のとき{ 4|(a-1) }である。

(証明)三条件を満たすとする。初期値{ x_{0} }を取り列{ x_{n} }を作る。まずはこれが巡回的であることを示そう。条件より{ \sum_{j=0}^{n}a^{j}\equiv 0\pmod{m} }となる{ n }が存在すればよい。{ m=p_{1}^{e_{1}}\dotsm p_{t}^{e_{t}} }とする。まず条件より{ \sum_{j=0}^{n_{i}}a^{j}\equiv 0\pmod{p_{i}^{e_{i}}} }となる{ n_{i} }が存在する。(剰余列は巡回的である。){ n:=n_{1}\dotsm n_{t} }と置けば良い。従って{ (a, c, m, x_{0}) }が生成する疑似乱数列は巡回的である。更に周期{ \lambda }は、補題より各剰余列の周期{ \lambda_{i} }の最小公倍数となる。ここで命題より{ \lambda_{i}=p_{i}^{e_{i}} }が従うから、その最小公倍数は{ m }である。故に{ \lambda=m }を得る。つまり{ (a, c, m) }は理想的である。

逆に{ (a, c, m) }が理想的であるとしよう。{ c }{ m }が共通素因数{ p }を持つとする。{ x_{0}=0 }が生成する列を調べると、{ x_{n}\equiv 0\pmod{p} }が成り立つ。一方{ 1\not\equiv 0\pmod{p} }だから、{ x_{n} }{ 1 }を取り得ない。つまり理想的であることに反する。よって{ c }{ m }は互いに素である。次に{ p|m }だが{ a-1\not\equiv 0\pmod{p} }となる{ p }が存在すると仮定する。理想的だから剰余列も理想的であるはずだが、{ a-1 }{ p^{e} }が互いに素であることから、適当な{ v, w }が存在して{ v(a-1)+wp^{e}=1 }とできる。このとき{ x_{0}\equiv -cv \pmod{m} }を考えると、剰余列において{ (a-1)x_{0}+c=0 }が成り立つ。これは周期が{ 1 }であることを意味する。これは矛盾する。故に{ p|m }なら{ p|(a-1) }でなければならない。後は命題より{ 4|m }なら{ 4|(a-1) }も従う。{ \square }

所感

Hull-Dobellの論文は三条件を満たすなら理想的であることを証明している。上の議論の殆どはこれを参考にしたが、ギャップを少し自分で埋めた。Knuthの本はHull-Dobellの結果を整理する形で紹介しているが同値性まで主張している。でもきちんと証明されているかというと正直微妙な印象はある。(自分の頭が足りないのだろう。時間が掛かったのは修正に苦労したせい。)ちなみに{ p }{ 2 }冪の場合はHull-Dobellより早くM.GreenbergerがJACM 8(1961),383-389で証明しているらしい。興味があれば探してみても良いかもしれない。

あと別件ですが、「ざっくり学ぶ可換環論」のpdfは公開場所を変えようと思います。マイクロソフトアカウントが一時保留にされてしまい、別アカを取ったのですが再度保留になったのでいい加減面倒になりました。Docs.comに登録してない別アカは大丈夫みたいなので、恐らくですがDocs.comからのアドレス流出がある可能性が高いです。(それが迷惑メール等の偽装アドレスとして使われまくってる?)

参考文献

[1] Donald E.Knuth. The Art of Computer Programming, Second Edition, Volume 2.
[2] T.E.Hull, A.R.Dobell. Random Number Generators. SIAM Review, Vol.4, No.3, July, 1962. pp.230-254.

*1:一般論を扱うときは乗算型合同法({ c=0 })も一緒に考える。