2023年1月18日水曜日

卒研ゼミ最終回

昨晩は寝不足なのに、2時くらいまで起きていてしまった。で今朝は10時半のアラームも11時のアラームも無視して寝続け、起きたら12時くらい。まだシャワーを浴びる時間くらいあるので、ざっと浴びて、12時半前に出発。

今日で卒研は最終回だが、4分くらい遅刻してしまった。最後までしまりの無いこと。今日も演習問題を4題解く。まず p が素数で m が正の整数なら \binom{mp-1}{p-1}≡1 (mod p) を示す問題。どうやるんだろう?と思ってそのままにしておいたが、二項係数の定義を使えば簡単だった。何か意味のある問題なんだろうか?二項係数の関わる合同式というとシローの定理の証明に出てくるあれが有名だが、そういう由緒ある合同式なのか?知らんけど。次は Γ1(N) が SL2(Z) の部分群であることを示す問題。でここで下らんミスをしていた。4回生に成ってもこういうミスをするんだな。彼は割と出来る方の学生だと思っていたんだが。やはり低回生のうちにもっと仕込んでおかないといけないだろう。次は X,Y,Z∈SL2(Z) で X6+Y6=Z6 を満たすものを無いことが示す問題。まず SL2(Z) の元は6乗すると単位行列に合同と成ることを示す。略解が出ているので迷わなかったようだが、6乗の計算を整数のままやったそうだ。何のための合同式か分かっていない模様。それが分からないと合同式をやった意味はあまり無いのだがな。それと2乗して単位行列に成れば、6乗が単位行列なのは自明。こういうことをして計算量は減らさないと。計算好きなのかな?最後は 32000 を14で割った余りと、23000 を15で割った余りを求める問題。オイラーの定理と合同式を上手に使っていた。いいでしょう。で1時間くらいで終わってしまった。時間があるので次の問題の解説。いわゆる Wilson の定理を示す問題だが、示すのでは面白くないだろうから、10!≡-1 (mod 11) を示した。これで分かれば一般の素数の場合の証明もすぐ出来る、というわけで。先の方に原始根を使った別証明が出ているので、それもやる。でまだ時間があるので、ちょと話。Wilson の定理の主張の対偶命題を使えば、素因数を一つも求めなくても合成数であることが示せる。でこれは大変なので、Fermat の小定理の対偶を使う、という話。冪乗は2進展開すれば短時間で求められることも話す。まだ時間があるので、Euler 関数は乗法性を使えば小さい数に帰着できるが、一般には素因数分解をするのが大変、それを逆手にとって RSA 暗号というものが考え出されたなど。離散対数のこともちょっと話した。どうだったろうか?まあ自己満足は出来た。でどっか呑みにでも行きたいところだが、まだコロナがこんなだし、今罹患するわけにはいかないので、諦めてきた。卒業式で会いましょう。2時20分くらいに終了。

で個研室に一旦戻って、弁当を買いに行く。食べたから昨日の晩考えていたことの続きをやろう、と思っていたのだが、うっかりマインスイーパーを始めてしまう。中々クリア出来ず、1時間くらいやってしまった。いかん。ドーピングして、F2[X]/(X3+X2+1) と F2[X]/(X3+X+1) の間の対応を与えることを試みる。X3+X2+1 の根の一つを α とすれば、F2[X]/(X3+X2+1) と F2(α) は同型。対応は X に α を対応させることで実現できる。X3+X+1 の根の一つをβとすれば、β+1は X3+X2+1 の根。ということ F2(α) と F2(β+1) の間の同型対応がつく。これを剰余環の言葉に直す、とやればOK。ということで f(X) に f(X+1) を対応させればよいと分かった。確かに市川氏の講義ノートに書いてあった通りだった。TeX にまとめておく。

その後しばし SageMath いじり。Hom という命令があることが分かった。Hom(K,L) とやると、K から L への埋め込みを与えてくれる。K,L を #K=#L なる有限体とすれば、埋め込みは同型写像に成るので、これを使えば K と L の間の同型対応が求められる。確かに出来る。で K(α) と K(β) が K 同型であることと α と β の K 上の最小多項式が等しいことは同値、という事実に気付き、有限体の間の同型写像は α の最小多項式を K(β) で分解することにより全て求まる、という当たり前の事実に今更ながら気付いた。それを剰余環の言葉に直せばよい、となれば、有限体上の多項式環の剰余環の同型はすぐ与えられるな。勉強に成った。

で SageMath で K[X]/(f(X)) を実装させる方法が分かった。で変数 K1 にF2[X]/(X3+X2+1) を入れて、K2 に F2[X]/(X3+X+1) を入れて、有限?体?位数は?とやってみると True, True, 8 とちゃんと返してくれた。G=Hom(K1,K2) も出来た。が、G の元を取り出す方法が分からない。G の位数も求まらない。有限体だと G[0] とか G.order() で出来るのだが。これが出来れば剰余環の間の同型対応が求められる!と期待していたんだがな。まあいいや。で9時半過ぎまで色々やっていた。

晩飯はすき家で。いつものニンニクファイヤー牛丼でもよかったのだが、正月にすき焼きを食べていない。お袋が元気なころは元日はすき焼きだったんだが。なので牛すき鍋膳にする。すき家は卵が最初から2個付いてくる。旨かった。そのまま国道1号を通って帰ってきた。峠道に入ってすぐ、登坂車線から抜いていった車がいた。登坂車線は、“Slower traffic” というくらいで、遅い車が走る所。そこを使って追い抜くとは危険極まりない。で小生の車を抜いたのはいいが、そのまますぐ走行車線に戻ってきた。次の信号でその車には追い付いた。何の為に抜いたか謎。いつも思うんだが、そんなに慌ててどうするんだろうか?片側1車線の道路だし、信号もある。ちょっと急いだって差は出ないぞ。まあこういうのを反面教師として日夜安全運転に励んでいる小生であるが。

最近朝慌てて出たり徹夜したりで、薬を抜くことが多い。今日も血圧の薬も鼻炎の薬も飲んでない。いかんな。まあいいや。今から服用しよう。明後日は午前中に近所でちょっと用事があるので、今日は呑まないで明後日早起き出来るよう、ちゃんと寝ておこう。