2023年1月19日木曜日

SageMath のマニュアルを読んでたら徹夜してしまった

また徹夜してしまった。SageMath のマニュアルを読んでいたら剰余環を与えるもうちょっと易しい方法を見付け、それを使うと F2(α)(α3+α2+1=0)から F2[X]/(X3+X+1) への埋め込み(即ち同型対応)を求められる。が、謎なことに F2[X]/(X3+X2+1) から F2[X]/(X3+X+1) への埋め込みを求めると、空のリストが返ってくる。なんなんだろか。まあいいです。

で寝ようかと思ったんだが、SageMath のマニュアルの続きを読んでしまった。合併体の作り方やヒルベルト類体の求め方など色々分かった。で小生の1999年の論文は色々な体が出てくるが、その時の苦労は SageMath でほぼ解消するのでは?と思い始めてみた。当時は KASH を使っていたが、あまり上手に使えていたとは言い難い。今度はどうだろう?と思ったら、大体出来た。K⊃F の時に F の素イデアルを K に延長する方法は分からなかったが、まあ F での 3 の分解と K での 3 の分解が分かったので、どうにかなった。色々出来るな。外はもう明るくなっていた。が、まだ SageMath いじりは終わらず。is_nth_power とか nth_root という命令がある。これを使うと一昨年出た論文の下調べをしている時に書いたプログラムが簡単に成る。書き換えて実行してみると出来た。a が n 乗数かどうか判定するのに Xn-a を因数分解している、と書いてあった。小生はそうプログラムを書いた。ということは速くはならないだろう。まあプログラムが単純化されるのでいいです。でまだマニュアルを読んでみた。よく代数の本に「L∩M=K だが [LM:K]=[L:K][M:K] と成らない例」として K=Q、L=Q(21/3)、M=Q(21/3ω) が出ている。これをコンピューターに実装するのは無理だろう、と思っていた。L も M も Q[X]/(X3-2) で与えるからね。が、よく読んでみると、X3-2 の根の C への埋め込みを指定できる。ということで L と M は違う体であるとコンピューターに認識させることが出来、[LM:Q]=6 が示せた。面白いね。それと、二つの代数体が同型かどうか判定する命令があるが、True か  false しか答えてくれず、True の場合は同型対応が欲しい。PARI/GP はそれを返してくれるので一々 PARI/GP で別途やっていたんだが、適切な引数を与えれば同型対応も返してくれた。これは使えるね。使って論文を書けるように成ろう。

ということで10時過ぎまで起きていてしまった。今日は床屋へ行こうと思っていたんだが、7時まで寝てしまい、計画はおじゃん。そういえば今日は美味しいウィスキーが呑める、と言われていたな。それもおじゃんか。まあいいです。楽しかったから。明日は午前中に野暮用があり、その後2時40分から「代数学II」の最終回。今日こそはちゃんと寝よう。もう眠いから寝よう。起きたばっかりだが。