arXiv探訪

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

疑似乱数について その0

某所でメルセンヌ・ツイスターの話題があり、その仕組みを知りたくなって勉強を始めた。とは言え疑似乱数とは何ぞや? 程度の知識しか無いため、当面はウィキペディアの受け売りになるけど纏めていく。

まずノイマン(John von Neumann)の貢献があって計算機が登場し、それと同時発生的に疑似乱数(pseudo random number)という概念が議論されるようになった。何故かと言うと計算機の目的はシミュレーションにあって、例えばウラム(Ulam)*1が考案した方法(モンテカルロ法)は中性子の動きを調べるのに用いられたそうだ。ただし乱数といっても疑似であり、その実体は与えられた初期値より漸次的に決まる数列を指す(数に限らないけど)。特にコンピュータは有限個の状態しか取れないので、その数列は必ず周期を持つので完璧な? 乱数とは程遠い。それでも周期が長かったり、出現する値が一様に分布していれば「乱数っぽい」だろう。この「乱数っぽさ」は統計的な検定手法により示すことができる。こうした検定を通り、また記憶装置や実行時間、実装のし易さなどの物理的制約も考慮されて、様々な要件を満たしたものが標準化されて一般的に用いられる。

理論、アルゴリズム、回路、実装(プログラム)など様々なレベルでの疑似乱数が研究されている。

ノイマンが最初に考案した方法(1946)は個人的に衝撃的だった。その名を平方採中法(middle-square method)という。{ 2k }桁の数{ a_{n} }を用意し、それを{ 2 }乗して中央の{ 2k }桁を{ a_{n+1} }とする。初期値{ a_{0} }の取り方で周期は変化するが高々{ 10^{2k} }程度になる。とにかく欠点だらけで、まず数学的に意味を見出しにくいのと、その結果として最大周期の判定法が分からないことがある。そして{ 2 }乗しているので{ k }を大きくすると巨大数同士の掛け算となり大変である。この大変さはイベントMATH POWER 2016を観れば実感できる。カオスのことを考えれば{ 2 }乗するのは分からなくもない。でもいきなり非線形でそれをノイマンが言ってるのが面白い。当時のコンピュータは扱える桁数が少ないのもあったかもしれない。

いやこれはダメだろ、と思ったかは分からないがLehmerが1949年に発表した乗算型合同法(multiplicative congruential method)はずっと簡素に{ x_{n+1}\equiv ax_{n} \pmod{m} }で定義される。{ a, m }の取り方で周期が変わるが、最大周期を判定する(効率の良い)方法がある(後述)。ちなみに最大周期{ m-1 }を取るなら初期値は{ 0 }でなければ何でもよい。先ほどと比べて、こちらは定数の乗算しかないのでシフト演算と(排他的論理)和で実現でき、実装も簡単なので嬉しい。

少し改良したのが線型合同法(linear congruential method)である。混合型(mixed-)とも呼ばれ、{ x_{n+1}\equiv ax_{n}+b }で定義される。こちらも最大周期を判定する方法がある。最近まで標準だったので今でも使われているらしい。色々と問題の指摘は受けてきたが、それを解消し続けてきた歴史もある。お遊び目的なら良し、でも時代遅れ。

線型帰還シフトレジスタ(LFSR: Linear Feedback Shift Register)*2やGFSR(Galois ?)は複数のシフト演算と和で漸次的に計算する方法。生成式の二元体{ \mathbb{F}_{2} }での規約性とかで最大周期を生成するかが決まるのかな? 要検証。松本、栗田(1992、94)はGFSRを行列で捻ってTwisted GFSRを作り、それを更に発展させたのがメルセンヌ・ツイスター(Mersenne-Twister)だそうだ。

次回は線型合同法に関する最大周期条件、の予定。参考文献は後でまとめて書きます。

*1:Borsuk-Ulamの定理のウラムですかね? ウィキペディアにはウラムの螺旋とか書いてあったけど。

*2:シフトレジスタも訳せよ! 諦めんなよ!

ブログ始めて一年経ちました

早いものでブログを開いてから一年が経ちました。気まぐれで始めて気が向いたら書こうと思ってたら70記事位書いてました。最初の頑張りを除けば週一ぐらいですね、まぁこんなものでしょう。しょうもない内容ですが読んでくれてる人もいるみたいなので、今後も無理せず続けていこうと思います。来年はもう少しアーカイブ探訪しよう。そしてもっと数学ができるようになりたい。物理的にも能力的にも。

27.最小分解体と正規拡大

目次

修正

  • トレースの表記:{ \mathrm{Tr}(f) \rightarrow \mathrm{Tr}_{L/K}(f) }
  • ノルムの表記:{ \mathrm{Nm}(f) \rightarrow \mathrm{Nm}_{L/K}(f) }
  • 体の生成の表記:{ (S)_{K} \rightarrow (S)_{L/K} }
  • 最小分解体の定義:13節より今節へ移動。こちらの方が普遍的。

体の同型に関する延長の一般論

補題 { \sigma_{0}:F\xrightarrow{\cong} F^{\prime} }を体の同型、{ f=a_{n}X^{n}+\dotsb+a_{1}X+a_{0}\in F\lbrack X \rbrack }多項式とする。{ E }{ f }の分解体、{ E^{\prime} }{ f^{\sigma_{0}} }の分解体とする。更に{ \alpha\in E, \alpha^{\prime}\in E^{\prime} }をそれぞれ{ f, f^{\sigma_{0}} }の根とする。このとき{ f }が既約なら、{ \sigma_{0} }の延長となる同型{ \sigma:(\alpha)_{E/F}\xrightarrow{\cong} (\alpha^{\prime})_{E^{\prime}/F^{\prime}} }が存在し、{ \sigma(\alpha)=\alpha^{\prime} }を満たすように取れる。

(証明){ \sigma_{0} }が同型なので{ F\lbrack X \rbrack }{ F^{\prime}\lbrack X \rbrack }{ g\mapsto g^{\sigma_{0}} }により同型である。従って{ f }が既約なら{ f^{\sigma_{0}} }も既約であり、また{ \alpha, \alpha^{\prime} }は代数的だから

{ \begin{align*} (\alpha)_{E/F}\cong F\lbrace \alpha \rbrace^{\mathbb{N}}\cong F\lbrack X \rbrack/\langle f \rangle_{F\lbrack X \rbrack} \\ (\alpha^{\prime})_{E^{\prime}/F^{\prime}}\cong F^{\prime}\lbrace \alpha^{\prime} \rbrace^{\mathbb{N}}\cong F^{\prime}\lbrack X \rbrack/\langle f^{\sigma_{0}} \rangle_{F^{\prime}\lbrack X \rbrack} \end{align*} }

が成り立つ。{ \sigma }はこの同型を通して{ F\lbrack X \rbrack/\langle f \rangle\rightarrow F^{\prime}\lbrack X \rbrack/\langle f^{\sigma_{0}} \rangle }{ \overline{g}\mapsto\overline{g^{\sigma_{0}}} }により定めればよい。{ \square }

一般に重複を込めて{ f }の根を{ \alpha_{1}, \dotsc, \alpha_{n} }とし、{ f^{\sigma_{0}} }の根を{ \alpha^{\prime}_{1}, \dotsc, \alpha^{\prime}_{n} }とする。このとき{ \sigma_{0} }の延長となる同型{ \sigma:(\alpha_{1}, \dotsc, \alpha_{n})_{E/F}\xrightarrow{\cong}(\alpha^{\prime}_{1}, \dotsc, \alpha^{\prime}_{n})_{E^{\prime}/F^{\prime}} }が存在する。

(証明){ n=\mathrm{deg}f }に関する帰納法で示す。{ n=1 }のときは明らか。{ n\ge 2 }のとき既約多項式{ p\in F\lbrack X \rbrack }が取れて{ f=gp }と表せる。ここで並び替えて{ p(\alpha_{1})=0, p^{\sigma_{0}}(\alpha^{\prime}_{1})=0 }として良い。{ p }は規約だから補題より{ \sigma_{0} }の延長となる同型{ \sigma_{1}:(\alpha_{1})_{E/F}\xrightarrow{\cong}(\alpha^{\prime}_{1})_{E^{\prime}/F^{\prime}} }が存在する。ところで{ (\alpha_{1})_{E/F}\lbrack X \rbrack }において{ f=(X-\alpha_{1})f_{1} }と表せば、{ E }{ f_{1} }の分解体でもある。{ f^{\sigma_{0}} }についても同様であり、更に{ (f_{1})^{\sigma_{1}}=(f^{\sigma_{0}})_{1} }が成り立つ。従って帰納法の仮定から{ \sigma_{1} }の延長となる同型

{ \displaystyle \sigma:(\alpha_{2}, \dotsc, \alpha_{n})_{E/(\alpha_{1})_{E/F}}\xrightarrow{\cong}(\alpha^{\prime}_{2}, \dots, \alpha^{\prime}_{n})_{E^{\prime}/(\alpha^{\prime}_{1})_{E^{\prime}/F^{\prime}}} }

が存在する。{ \sigma }{ \sigma_{0} }の延長となることや、{ (\alpha_{1}, \dotsc, \alpha_{n})_{E/F}=(\alpha_{2}, \dotsc, \alpha_{n})_{E/(\alpha_{1})_{E/F}} }などは明白だろう。{ \square }

以上より、{ f\in K\lbrack X \rbrack }の根全体で生成される体は、分解体の取り方に依らず決まることが分かる。そこでこれを{ f }の最小分解体(minimal splitting field)と呼ぶ。このとき{ (\alpha_{1}, \dotsc, \alpha_{n})_{L/K} }{ (\alpha_{1}, \dotsc, \alpha_{n})_{K} }と表して良い。

命題 { L }{ f\in K\lbrack X \rbrack }の最小分解体とする。このとき{ \mathrm{deg}_{K}L\le (\mathrm{deg}f)! }が成り立つ。

(証明){ L=(\alpha_{1}, \dotsc, \alpha_{n})_{K} }とする。{ n\le\mathrm{deg}f }であり、{ K_{1}:=(\alpha_{1})_{L/K} }とすれば{ \mathrm{deg}_{K}K_{1}\le n }が従う。{ f=(X-\alpha_{1})f_{1} }とすれば{ f_{1}\in K_{1}\lbrack X \rbrack }であり、{ K_{2}:=(\alpha_{1}, \alpha_{2})_{L/K} }とすれば{ \mathrm{deg}_{K_{1}}K_{2}\le n-1 }を得る。以下同様にして{ \mathrm{deg}_{K}L\le (\mathrm{deg}f)! }が従う。{ \square }

正規拡大

先述のように、ある多項式{ f\in K\lbrack X \rbrack }の根を{ K }に添加した体は一意的である。またその存在については分解体の存在で既に述べている。であるならば、全ての多項式に対してそれらの根を含むような体が存在するか、またそれが一意的であるかを疑問に思うだろう。私達は現段階において、この疑問に答えを見出すことは出来ない。何故なら根を加えていくことで生じる拡大の列は無限に伸びてしまい、有限の立場にいる限りその高みに至ることはできないからである。だが具体的な例に限れば、然るべき準備の後にその存在については述べることができる。

定義 { \Omega }自身が任意の{ f\in\Omega\lbrack X \rbrack }の根を常に持つ(特に全ての根を持ち、一次式の積に分解できる)とき、代数閉体(algebraically closed field)であるという。また代数拡大{ \Omega/K }において{ \Omega }代数閉体であるとき、{ \Omega }{ K }の代数閉包(algebraic closure)と呼ぶ。

体の拡大{ \Omega/K }において、{ \Omega }代数閉体であるとき{ \overline{K}^{\Omega} }(整閉包)は{ K }の代数閉包になる。

例えば{ \mathbb{C} }代数閉体である。この事実は「代数学の基本定理」として知られる。また{ \mathbb{C} }{ \mathbb{R} }の代数閉包である。{ \overline{\mathbb{Q}}:=\overline{\mathbb{Q}}^{\mathbb{C}} }の元は代数的数(algebraic number)と呼ばれ、円周率{ \pi }や自然対数{ e }はここには入らないことが知られている。{ \mathrm{Aut}\overline{\mathbb{Q}}/\mathbb{Q} }は絶対ガロア群といい、数論の人に言わせれば数の全てを知っているらしい。

以下{ K }を体、{ \overline{K} }{ K }の代数閉包とする。{ L }{ \overline{K}/K }の中間体、特に{ L/K }は代数拡大とする。

注意 上記の仮定を置く理由について補足したい。まずシュタイニッツにより任意の体が代数的閉包を持つことが示されているが、ツォルンの補題や整列可能定理、あるいはクラス版の極大性原理等々、選択公理に類する存在公理が用いられる。仮にこれを認めるにせよ、任意の代数拡大{ L }が代数閉包{ \overline{K} }に埋め込める(単射な環準同型、特に{ L }は体なので環準同型が存在する)ことを示すには一意性が必要となる。({ \overline{L} }{ K }の代数閉包でもあり、同型{ \overline{L}\rightarrow\overline{K} }が取れる。)参考文献に挙げた桂の『代数学Ⅲ』では一意性の証明に埋め込みの存在を用いているので正しくない。他を探すには少し時間が掛かるし、自分で考えるのはもっと時間が掛かる。そもそも存在公理をまだ導入してないので多分証明できない。というわけで当面は代数閉包に含まれる状況のみを考えることで回避しようと思う。詳しい人が居たら誰か教えて下さい。*1

{ L/K }ガロア拡大であるとしよう。このとき定義より{ L^{\mathrm{Aut}L/K}=K }が成り立つ。{ \alpha\in L }の最小多項式{ p\in K\lbrack X \rbrack }とすれば、任意の{ \sigma\in\mathrm{Aut}L/K }に対して{ \alpha^{\sigma} }{ p }の根となる。相異なものを集めて

{ \lbrace \alpha^{\sigma} \mid \sigma\in\mathrm{Aut}L/K \rbrace = \lbrace \alpha_{1}, \dotsc, \alpha_{m} \rbrace }

と置けば、{ n=\mathrm{deg}p }として{ m\le n }が成り立つ。ここで{ f:=(X-\alpha_{1})\dotsm (X-\alpha_{m}) }と定めれば、{ L\lbrack X \rbrace }において{ f|p }が成り立つ。任意の{ \sigma\in\mathrm{Aut}L/K }は同型(特に単射)であるから

{ \lbrace \alpha_{1}, \dotsc, \alpha_{m} \rbrace = \lbrace \alpha_{1}^{\sigma}, \dotsc, \alpha_{m}^{\sigma} \rbrace }

である。故に{ f=X^{m}+c_{m-1}X^{m-1}+\dotsb+c_{0} }とすれば

{ \begin{align*} X^{m}+c_{m-1}^{\sigma}X^{m-1}+\dotsb+c_{0}^{\sigma} &= f^{\sigma} = (X-\alpha_{1}^{\sigma})\dotsm(X-\alpha_{m}^{\sigma}) \\ &= (X-\alpha_{1})\dotsm(X-\alpha_{m}) = f \\ &= X^{m}+c_{m-1}X^{m-1}+\dotsb+c_{0} \end{align*} }

を得る。よって{ c_{i} }{ \mathrm{Aut}L/K }の作用で不変だから、{ c_{i}\in L^{\mathrm{Aut}L/K} = K }が分かる。従って{ f\in K\lbrack X \rbrack }となる。これは{ K\lbrack X \rbrack }において{ f|p }となることを意味する。実際{ p=fq, q\in L\lbrack X \rbrack }とすれば、次元に関して帰納的に{ q }の係数が{ K }に属すことを示せる。故に{ p }の規約性より{ p }{ f }は同伴となるが、特に最高次の係数同士を比較すれば{ p=f }が従う。つまり{ L }{ \alpha\in L }の最小多項式の根を常に自分自身の中に含むことが分かる。

そこで次のような拡大を考えてみよう。

定義 代数拡大{ L/K }は、任意の{ \alpha\in L }に対して、{ \alpha }の最小多項式の根が全て{ L }に含まれる(つまり{ L\lbrack X \rbrack }において一次式の積に分解する)とき正規拡大(normal extension)と呼ぶ。

正規拡大の条件は、ある意味で代数閉包の条件を弱めたものと思える。ガロアの条件を調べるのは難しいが、正規拡大については次の特徴付けが存在する。

命題 有限次拡大{ L/K }に対して以下は同値。

  • { L/K }は正規拡大である。
  • { L/K }はある多項式{ f\in K\lbrack X \rbrack }の最小分解体である。

(証明){ L/K }を正規拡大とする。有限次拡大だから基底{ (\omega_{1}, \dotsc, \omega_{n}) }が取れる。{ \omega_{i} }の最小多項式{ p_{i} }とし、{ p:=p_{1}\dotsm p_{n} }と置く。このとき{ L }{ p }の最小分解体となる。実際{ L }{ p }の根を全て含み、また{ L^{\prime} }{ p }の分解体であれば、{ p_{i} }の分解体でもあるので{ \omega_{i}\in L^{\prime} }となる。{ L }の元は{ \omega_{i} }達の線形和で表されるから{ L\subset L^{\prime} }が従う。

逆に{ L/K }{ f }の最小分解体であるとする。{ f }の根を{ \alpha_{1}, \dotsc, \alpha_{n} }とすれば{ L=(\alpha_{1}, \dotsc, \alpha_{n})_{K} }である。{ \beta\in L }の最小多項式{ p\in K\lbrack X \rbrack }を取る。{ p }{ L }上の最小分解体{ E }を取り、{ E\lbrack X \rbrack }において{ p=(X-\beta_{1})\dotsm(X-\beta_{m}) }と一次式の積(重複込み)で表せるとする。ここで{ \beta_{1}=\beta }としてよい。このとき

{ E=(\beta_{1}, \dotsc, \beta_{m})_{L}=(\alpha_{1}, \dotsc \alpha_{n})_{K} }

が成り立つ。一方で{ p }{ K }上の最小分解体{ F=(\beta_{1}, \dotsc, \beta_{m})_{K} }を考えると、{ p }は既約だから、{ \beta_{1}\mapsto\beta_{j} }を満たす体の同型{ \sigma_{j}:F\rightarrow F }が存在する。{ E }{ f=f^{\sigma_{j}} }{ F }上の最小分解体でもあるから、{ \sigma_{j} }の延長{ \tau_{j}:E\rightarrow E }が存在する。{ f(\alpha)=0 }なら{ f(\alpha^{\tau_{j}})=0 }より、

{ \lbrace \alpha_{1}^{\tau_{j}}, \dotsc, \alpha_{n}^{\tau_{j}} \rbrace = \lbrace \alpha_{1}, \dotsc, \alpha_{n} \rbrace }

が成り立つ。故に{ \tau_{j} }{ L }に制限することができて、{ \tau_{j}|_{L}(\beta)=\tau_{j}(\beta_{1})=\beta_{j}\in L }を得る。つまり{ L }{ p }の根を全て含む。{ \square }

所感

ぐるっと回る証明が面白い。予定では分離拡大をやるつもりだったけど、自己同型から自然に出てくるのは正規拡大だったので変更した。

*1:自分が気付いてないだけで自明な可能性もある。でも代数拡大はあくまで多項式の根の集まりであって、その演算までは何も述べてないから、埋め込めなくてもおかしくはない。うーむ、今まで代数拡大を埋め込めるかどうかなんて考えもしなかった。復習は大事。