2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

誰も知らない?多項式の高速因数分解

Last updated at Posted at 2025-10-14

これは有限体上で実装された多項式の因数分解の記事です。

まず有名なのはバーレカンプの因数分解法です。
これははっきり行って非効率。

多項式時間でできるとは言っても余りにも遅すぎる。
そこで、GCDを使った多項式の因数分解を提案した。

実はこれ海外では常識になっているとGPTから教わったんですが、私はその発明者と同じように見つけたことになります。
検索で調べても全く出てこない方法です。

GCD、 多項式、因数分解

で検索すれば出てきますが、GCDを使うと知らなければそもそも検索しようがない。
なので、1次資料として英語の分厚いアルゴリズム時点でも持ってないとわからない。
自分はBen-Orの規約性判定テストを実装しているときに気が付きました。

さて、どんな方法かというと、まずある次数までのすべての多項式の積は
$$x^p-x$$
と書けることです。

これを、因数分解したい多項式とのGCDを計算すれば一発です。
後は因数がなくなるまで商を取って繰り返せば因数分解の出来上がりです。
ただしべき乗因子がある場合、これは別の方法で因数分解しなければならない。
無平方分解へと行き着くわけです。
最初に米上因子を取り除くこともできます。
$$GCD(f,f')$$
を計算すればいいのです。$f'$は$f$の形式的微分。
これで次数の高い多項式でも定義帯が大きな場合でも高速に因数分解できます。

みんなで因数分解しよう!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?