スキップしてメイン コンテンツに移動

Aurifeuille 恒等式の計算方法 (Brent)

Brent による Aurifeuille 恒等式の計算方法を紹介していく。 Brent によれば Stevenhagen の方法は互除法の係数爆発が起きるので次数の大きな円分多項式には適用できないとのことである。 Stevenhagen の方法は実質的に「kζnQ[ζn] に入っているならば、ζn の多項式で表せる」という事実しか使わなかったが、Brent の方法ではもう少し特殊事情を考えて多項式の係数を決定していく。

あまり複雑な一般化は省いて、 平方因子を持たない 3 以上の奇数 k に対し、nk1(mod4) ならば k、そうでなければ 2k とする。 ζ=ζ2n とすると Q[ζ]Q 上のガロワ群は (Z/2nZ)× と同型である。 Q[ζ] に含まれる実2次体 Q[k] に対応する指数 2 の部分群 H を見つけられる。 具体的には H={±a(Z/2nZ)×|1an(ka)=1} だ。

L(X)=aH(Xζa) を考えると実は L(X)=F(X2)(2k)XkG(X2) となることが Schinzel によって示されているそうだ(論文を参照できていないので伝聞)。 つまり、偶数次の項を拾うと F が得られて奇数次の項を拾うと G が得られるのだ。 具体的な係数を得るには次のように考えればいい。 L(X) の係数は根が与えられているので解と係数の関係から計算できる。 そこに現れる根の対称式はその冪和で書き表せる(Newton の恒等式)。 1 の冪根の冪和はガロワ群の作用を考えると簡単に表せる(ガウス周期)。

ガロワ群の元 bζ に対し ζb として作用する。 L(X) の根の冪和を pb=aHζab と書くことにしよう。 L(X) の根の和 p1=aHζa はもちろん H の各元の作用で不変である。 また、p12=k であるから、p1=k と考えて良い。 一方、H のコセットの各元の作用では p1 に移る。 これらが 1b2n の内、2n と互いに素な b による b 乗和に相当する。 残る 2n との最大公約数 Γb=(b,2n)1 より大きい場合で、b が偶数ならば pb=aHζab=μ(2n/Γb)ϕ(Γb/2)Z となることが知られている。 b が奇数ならば 0 になる。 以上で根の冪和が決定できた。

奇数冪に現れる k を最初から括って、残りの整数係数部分だけを考える。 FG は相反多項式なので半分の次数まで計算すればいい。 といった工夫により、整数の計算だけを行えばいいことになる。

先に d=ϕ(n)/2 とおいて FGF(X)=j=0dfjXdj G(X)=j=0d1gjXdj1 と表すことにしよう。 モニックであることは判っているので f0=g0=1 である、ということは後ほど使う。 目標は fj, gj を求めることだ。

ステップ1では、根の冪和に相当する(k の因子は取り除いた)数として、qj を求める。 必要なのは 1jd の範囲だ。 j が奇数の時 qj=(kj)、偶数の時 qj=μ(2n/Γj)ϕ(Γj/2) とすれば良い。

ステップ2では、Newton の恒等式から導かれる次の漸化式を j=1 から次数の半分まで順に解く。 fj=12ji=0j1(kq2j2i1giq2j2ifi) gj=12j+1(fj+i=0j1(q2j2i+1fiq2j2igi)) 初期値は上で述べた f0=g0=1 だ。

ステップ3(最後のステップ)では、相反多項式であることを利用して F, G それぞれの次数まで fj=fdj, gj=gdj1 を求める。 これで計算終了だ。

例として前回と同じ k=7 を計算しよう。 n=14, d=ϕ(14)/2=3 となる。

ステップ1。q1=1, q2=1q3=1

ステップ2は d/2=3/2 なので f1, g1 を計算すれば十分。 f1=12(7q1g0q2f0)=12(71)=3 g1=13(f1+q3f0q2g0)=13(3+11)=1

ステップ3。f2=f1=3, f3=f0=1, g2=g0=1

したがって、 Φ14(X)=(X3+3X2+3X+1)27X(X2+X+1)2 が得られた。

確かに Stevenhagen の方法より無駄が少なそうだ。

参考文献

Richard P. Brent "Computing Aurifeullian Factors" in Computational Algebra and Number Theory, Mathematics and its Applications Vol. 325, 1995, Pages 201-212

このブログの人気の投稿

「函数」音訳説について探してみる

Twitter に書こうかと思ったが、ちょっと長くなるのでこっちに書くことにする。 「函数」が音訳というデマと、本当の語源 というブログ記事について ツイートされてるの を見た。 詳しい内容はリンクを辿って読んでみて欲しい。 その記事中の「函数」音訳説という部分で、引用されているものが意外と新しい1980年代以降のものなので、さすがにもっと古いだろう、と探してみた。 1. 武部良明「漢字の用法」(1976) このほか武部良明『漢字の用法』(角川書店1976)にも同様の記述があるという(未確認)。 とあって、たまたま同書(三版)を持っているので調べてみた。 「関数」ではなく「関・函」の項にあった。 「函」は「いれる」意味。 したがって、「函数」という漢字の組み合わせからは、「対応して定まる数」という意味は出てこない。 「函数」については function という原語の音 fun を、「函」の音カン(現代中国語 han)で写したものとされている。 これに対し現代表記の「関数」は、全体の意味を「かかりあう数」と考え、「函」の部分を、同音で「かかりあう」意味の「関」に書き換えたものである。 2. 遠山啓「関数を考える」(1972) 近所の図書館で見つけた。 会話体の文章の中で、先生役が言っている。 はっきりはわからないが, 中国語の発音では function と似ていて, しかも意味も近いらしいのだ. 3. 遠山啓「数学は変貌する」(1971) 2012年にちくま学芸文庫から出た「現代数学入門」所収。 「関数を考える」が中学生ぐらいを対象にしたシリーズの一冊なので、そこでいきなり初披露ということは無いだろうと見当をつけて遡って探した。 機能とは簡単にいうと働きです。 ライプニッツが初めてファンクションという言葉を使った. ライプニッツはドイツ人ですが, ドイツ語は当時はいなかの言葉みたいで, フランスが文化の中心であったから, フランス語で書いてありますので, フォンクション (fonction) です. もとは日本では「函数」, あとになって「関数」と改めたのです. なぜこんな函の数という妙な言葉を使ったか, これは中国からきた字です. 中国人は各国語を音まで似せて訳すことがうまい. フォンクションは中国語で函数を中国読みしますと非常に似ているのだそ...

「函数」音訳説について探してみる (まとめ)

これは 「函数」音訳説について探してみる 「函数」音訳説について探してみる (辞書編) の続きになるので、まずはそちらを読んでもらえると解りやすいと思う。 ざっくり言うと、函数は function の中国における音訳、という俗説( 「函数」が音訳というデマと、本当の語源 参照)の起源を求めて、できるだけ古い言及を探そうというクエストの記録。 先に結論から言うと、遠山啓「キュート数学I」(1967)ついで「角川新字源」(1968)という1960年代末発行の二つが見つかった。 遠山啓 既に「関数を考える」(1972)と「数学は変貌する」(1971)は見つけていたが、さらに古いものが見つかった。 「キュート数学I」(1967)だ。 元は三省堂から出版されたもののよう(実物は見ていない)だが、二度形態を変えて再度刊行されている。 一つめが太郎次郎社の遠山啓著作集シリーズの「数学教育論11 数楽への招待I」(1981)、 もう一つがソフトバンククリエイティブの「基礎からわかる数学入門」(2013)だ。 先生●それには歴史的な事情があるのだ. ヨーロッパの数学が中国に伝えられたとき, function は「函数」と訳された. 中国語ではやはり function の意味をもっているが, 同時に音も似ているらしい. それがそのまま日本に伝えられ, 「函数」となり, 「函」が当用漢字にないので, それがさらに「関数」になったわけだ. 引用は「基礎からわかる数学入門」によるが、「数楽への招待I」でも約物の違いぐらいで内容は変わらない。 角川新字源 既に辞書編で書いたように、新字源は1968年の初版から音訳説を採っていると思われる。 若干の歯切れの悪さは、Google Books にある1978年発行のもののスキャンより古い時代のものを当たった訳ではないので、 細かい修正の一部として書き直された可能性が捨てきれないことによる。 (スキャンでない現物は近所の古本屋で1989年発行のものだけは見ることができ、1978年のものと同じ文言だった。) その他 「広辞苑」は辞書編で第五版(1999)まで遡ったが、その後第四版(1991)も「函数」の項で音訳説を紹介しつつ「関数」に飛ばす、という同じ内容であることを確認した。 期待して第三版(1983)を調べたら、こちらは音訳説無し...

「函数」音訳説について探してみる (辞書編)

前回 は数学の本の中で音訳説に言及しているものを探したが、今回は辞書。 Google Books で検索したら角川新字源が引っかかったので辞書も見た方が良いのかな、というぐらいのことだったのだが、古い辞書を見るのは意外に難しい。 角川書店 武部良昭 「漢字の用法」(1976)が前回見つけた辞典類における一番古い言及だった。 で、新字源。 実物は今のところ手に取れていないが、 Google Books を信じれば、初版(1973)に 函数の函は function の fun の発音を表わす。今は関数と書く。 との記述があるらしい。 (疑っているのは版の扱いで、本当に初版のスキャンなのか、初版が1973年であるところの「新字源」の後の版のスキャンなのかという部分。) 追記1(2018-09-23): 改訂版(1994)を見ることができた。上の引用と同じ文言だった。 そして、初版は1968年。 「1973年」の出所が知りたくて、Google Books で奥付を探してみた(判明した初版出版年の「昭和四十三年」で書籍内検索した)のだが、 出てきたのは 昭和五十三年一月二十日一二五版発行 と1978年を示唆する結果だった。 版と数えてはいるが要は刷のことだろう。 ということで若干引っかかりは感じるが、つまり、改訂版以前の細かい修正の一部として取り入れられた可能性は残らなくもないが、 現時点で発見された一番古い音訳説が「新字源」初版(1968)と言って大丈夫そうだ。 追記2(2018-09-23): 「角川国語大辞典」(1982)にも表記に関する注意として次のように書かれている。 函数は function の音訳。 三省堂 「新明解国語辞典」第六版(2005)では函数の見出しで最初に次のような説明が入る。 function の、中国での音訳。 「函」は「独立変数を含む」という意味も兼ねる 第四版(1989)でも同じ内容を確認した。 初版まで遡れれば1972年となるが、第三版以前については未調査。 一方「三省堂国語辞典」第七版(2013)では語源に言及していなかった。 「大辞林」第三版(2006)も「例解新国語辞典」第二版(1990)も言及無し。 (追記 2018-09-23: 「広辞林」第五版(1973)も言及無し) 岩波書店 意外にも音訳説を押し出し...