円周等分多項式は、の複素数解のうち、n乗すると初めて1になる解を根に持つ既約多項式です。正確な定義は以下の式になります。
円周等分多項式をMaximaでいくつか書き出してみましょう。
/* 4.1.24m */ cyclotomic(k, z) := trigrat(product(if gcd(j, k) = 1 then z - exp(2*%pi *%i*j/k) else 1, j, 1, k))$ for j : 1 thru 10 do print("C", j, " = ",cyclotomic(j, z))$
使用した機能
円周等分多項式は、以下のようにも表されます。
は自然数kを割り切る自然数dという意味です。
はメビウス函数です。
こちらを使って、もう一度書き出してみましょう。
cyclotomic2(k, z) := ratsimp( product(if mod(k, d) = 0 then (z^(k/d)-1)^moebius(d) else 1, d, 1, k))$ for j : 1 thru 10 do print("C", j, " = ",cyclotomic2(j, z))$
使用した機能
同じ結果が得られました。
円周等分多項式の係数の絶対値はすべて1に見えますが、この推測は間違いです。を見ておきましょう。
/* 4.1.25m */ cyclotomic2(105, z)$
41次の係数に-2が現れました。
参考文献
- Crandall, Mathematica―理工系ツールとしての (アジソン ウェスレイ・トッパン情報科学シリーズ) p.49-p.51