テオドール・フォン・シューベルト
数学 すうがく および計算 けいさん 機 き 代数 だいすう における多項式 たこうしき の因数 いんすう 分解 ぶんかい (いんすうぶんかい、英 えい : factorization of polynomial , polynomial factorization ; 多項式 たこうしき の分解 ぶんかい )は、与 あた えられた体 からだ あるいは整数 せいすう を係数 けいすう とする多項式 たこうしき を同 おな じ範囲 はんい に係数 けいすう を持 も つ既 すんで 約 やく 因子 いんし の積 せき として表 あらわ すことおよびその過程 かてい を言 い う。多項式 たこうしき の分解 ぶんかい は計算 けいさん 機 き 代数 だいすう システム の基本 きほん 的 てき なツールの一 ひと つである。
多項式 たこうしき の因数 いんすう 分解 ぶんかい の歴史 れきし は、1793年 ねん にテオドール・フォン・シューベルト (ドイツ語 ご 版 ばん ) が多項式 たこうしき の分解 ぶんかい アルゴリズムを記述 きじゅつ したこと[ 1] に始 はじ まり、それを1882年 ねん に再 さい 発見 はっけん したレオポルト・クロネッカー が多 た 変数 へんすう の代数 だいすう 体 たい 係数 けいすう 多項式 たこうしき に対 たい して拡張 かくちょう している。しかし、このトピックにおける知識 ちしき の大 だい 部分 ぶぶん は計算 けいさん 機 き 代数 だいすう システム の登場 とうじょう する1965年 ねん ごろよりも遡 さかのぼ らない。この主題 しゅだい に関 かん するサーベイとして Kaltofen (1990) は1982年 ねん の文章 ぶんしょう に
When the long-known finite step algorithms were first put on computers, they turned out to be highly inefficient. The fact that almost any uni- or multivariate polynomial of degree up to 100 and with coefficients of a moderate size (up to 100 bits) can be factored by modern algorithms in a few minutes of computer time indicates how successfully this problem has been attacked during the past fifteen years.
(試 ためし 訳 やく : 古 ふる く知 し られた有限 ゆうげん ステップのアルゴリズムを計算 けいさん 機 き に載 の せたとき、それらが極 きわ めて非 ひ 効率 こうりつ なものであるとわかった。事実 じじつ として、100次 じ までの適度 てきど な大 おお きさ (100ビット以下 いか ) の係数 けいすう を持 も つほとんどの一 いち 変数 へんすう あるいは多 た 変数 へんすう の多項式 たこうしき を、現代 げんだい アルゴリズムはモノの数 すう 分 ぶん の計算 けいさん 時間 じかん で分解 ぶんかい できるということが、いかにこの問題 もんだい がかかる15年 ねん の間 あいだ に成功裏 せいこうり に攻略 こうりゃく しつくされたかを指 さ ししている。)
と記 しる している。
今日 きょう では、現代 げんだい アルゴリズムと計算 けいさん 機 き により、1000次 じ より上 うえ で数 すう 千 せん ディジットの係数 けいすう を持 も つ場合 ばあい でも整 せい 係数 けいすう 一 いち 変数 へんすう 多項式 たこうしき を素早 すばや く因数 いんすう 分解 ぶんかい することができる[ 2] 。
整 せい 係数 けいすう あるいは体 からだ 上 じょう の多項式 たこうしき 環 たまき はUFD である。その意味 いみ するところは、これら環 たまき の任意 にんい の元 もと が定数 ていすう と既 すんで 約 やく 多項式 たこうしき (定数 ていすう でない二 ふた つの多項式 たこうしき の積 せき に書 か くことのできない多項式 たこうしき )の積 せき になっているということ、さらにはその分解 ぶんかい が可逆 かぎゃく な定数 ていすう を掛 か ける違 ちが いを除 のぞ いて一意 いちい となることである。
この因数 いんすう 分解 ぶんかい は係数 けいすう 体 たい の種類 しゅるい に依存 いぞん する。例 たと えば、代数 だいすう 学 がく の基本 きほん 定理 ていり (複素 ふくそ 係数 けいすう の任意 にんい の多項式 たこうしき が複素 ふくそ 根 ね を持 も つこと)から、任意 にんい の整 せい 係数 けいすう 多項式 たこうしき を複素数 ふくそすう 体 たい ℂ 上 うえ の一 いち 次 じ 因子 いんし の積 せき に完全 かんぜん に分解 ぶんかい することができることが従 したが う。同様 どうよう に、実数 じっすう 体 からだ ℝ 上 うえ では既 すんで 約 やく 因子 いんし の次数 じすう は高々 たかだか 2 であり、対 たい して有理数 ゆうりすう 体 からだ ℚ 上 うえ では任意 にんい の次数 じすう の既 すんで 約 やく 多項式 たこうしき が存在 そんざい する。
多項式 たこうしき の因数 いんすう 分解 ぶんかい 問題 もんだい は、そのすべての元 もと を計算 けいさん 機 き で表現 ひょうげん できる計算 けいさん 可能 かのう 数 すう 体 からだ (computable field) を係数 けいすう とし、算術 さんじゅつ 的 てき 演算 えんざん を用 もち いたアルゴリズムが存在 そんざい する場合 ばあい にのみ意味 いみ をなす。(Fröhlich & Shepherson 1955 ) はそのような体 からだ で因数 いんすう 分解 ぶんかい アルゴリズムの無 な いようなものの例 れい を与 あた えている。
因数 いんすう 分解 ぶんかい アルゴリズムの知 し られている係数 けいすう 体 たい として、素 もと 体 たい (有理数 ゆうりすう 体 からだ または素 もと 数 すう 位 い 数 すう の有限 ゆうげん 体 たい )およびそれらの有限 ゆうげん 生成 せいせい 拡大 かくだい 体 たい がある。整 せい 係数 けいすう の場合 ばあい も扱 あつか い易 やす い。クロネッカーの古典 こてん 的 てき 手法 しゅほう は歴史 れきし 的 てき 観点 かんてん からのみ意義 いぎ がある。現代 げんだい 的 てき 手法 しゅほう は、
無 む 平方 へいほう 分解 ぶんかい (square-free factorization)
有限 ゆうげん 体 たい 上 じょう の分解 ぶんかい (factorization over finite fields)
および
などを組 く み合 あ わせる形 かたち で進 すす められる。
本節 ほんぶし では、有理数 ゆうりすう 体 たい ℚ 上 うえ での因数 いんすう 分解 ぶんかい は整数 せいすう 環 たまき ℤ 上 うえ での因数 いんすう 分解 ぶんかい と本質 ほんしつ 的 てき に同 おな じ問題 もんだい であることを示 しめ す。[ 注釈 ちゅうしゃく 1]
整 せい 係数 けいすう 多項式 たこうしき p ∈ ℤ [X ] の内容 ないよう "cont(p ) " は(符号 ふごう の違 ちが いを除 のぞ いて )p のすべての係数 けいすう の最大公約数 さいだいこうやくすう を言 い い、p の原始 げんし 成分 せいぶん prim-part(p ) ≔ p /cont(p ) は整 せい 係数 けいすう の原始 げんし 多項式 たこうしき である。これらによって p は原始 げんし 多項式 たこうしき の整数 せいすう 倍 ばい という形 かたち への分解 ぶんかい が定義 ていぎ され、内容 ないよう の符号 ふごう の違 ちが いを除 のぞ いて一意 いちい に定 さだ まる。通常 つうじょう は、内容 ないよう の符号 ふごう は原始 げんし 成分 せいぶん の最高 さいこう 次 じ 係数 けいすう が正 せい となるようにとる。
任意 にんい の有理 ゆうり 係数 けいすう 多項式 たこうしき q は
q
=
p
c
(
∃
p
∈
Z
[
X
]
,
∃
c
∈
Z
)
{\displaystyle q={\frac {p}{c}}\quad (\exists p\in \mathbb {Z} [X],\exists c\in \mathbb {Z} )}
の形 かたち に書 か き直 なお せる(なんとなれば、c として q の係数 けいすう の分母 ぶんぼ を全 すべ てかけ合 あ わせたものをとれば(このとき p ≔ cq は整 せい 係数 けいすう となり)十分 じゅうぶん である)。このとき q の内容 ないよう は
cont
(
q
)
:=
cont
(
p
)
c
{\displaystyle {\text{cont}}(q):={\frac {{\text{cont}}(p)}{c}}}
で、また q の原始 げんし 成分 せいぶん は p のそれで、それぞれ定義 ていぎ する。整 せい 係数 けいすう 多項式 たこうしき の場合 ばあい と同様 どうよう に、この場合 ばあい も、有理 ゆうり 係数 けいすう 多項式 たこうしき を有理数 ゆうりすう と整 せい 係数 けいすう 原始 げんし 多項式 たこうしき の積 せき への分解 ぶんかい が、符号 ふごう のとり方 かた を除 のぞ いて一意 いちい に定義 ていぎ される。
カール・フリードリヒ・ガウス は二 ふた つの原始 げんし 多項式 たこうしき の積 せき がふたたび原始 げんし 的 てき であること(ガウスの補題 ほだい (英語 えいご 版 ばん ) )を示 しめ した。これにより「原始 げんし 多項式 たこうしき が有理数 ゆうりすう 体 たい 上 じょう 既 すんで 約 やく であるための必要 ひつよう 十 じゅう 分 ふん 条件 じょうけん は、整数 せいすう 環 たまき 上 じょう で既 すんで 約 やく であること」が従 したが う。これはつまり、有理 ゆうり 係数 けいすう 多項式 たこうしき の有理数 ゆうりすう 体 たい 上 じょう での因数 いんすう 分解 ぶんかい が、その原始 げんし 成分 せいぶん の整数 せいすう 環 たまき 上 じょう での因数 いんすう 分解 ぶんかい と同 おな じことであることをも意味 いみ する。他方 たほう 、整 せい 係数 けいすう 多項式 たこうしき の整数 せいすう 環 たまき 上 じょう での因数 いんすう 分解 ぶんかい は、その原始 げんし 成分 せいぶん の分解 ぶんかい と内容 ないよう の素因数 そいんすう 分解 ぶんかい とを掛 か けることで与 あた えられる。
い方 いかた を変 か えれば、整数 せいすう のGCD計算 けいさん によって有理 ゆうり 係数 けいすう 多項式 たこうしき の因数 いんすう 分解 ぶんかい は整 せい 係数 けいすう 原始 げんし 多項式 たこうしき の因数 いんすう 分解 ぶんかい に帰着 きちゃく され、また整数 せいすう 環 たまき 上 じょう での因数 いんすう 分解 ぶんかい は整数 せいすう の因数 いんすう 分解 ぶんかい と原始 げんし 多項式 たこうしき の因数 いんすう 分解 ぶんかい に帰着 きちゃく することができるようになるということである。
さてここまでに述 の べたことは、ℤ を体 からだ F 上 うえ の多項式 たこうしき 環 たまき で、および ℚ を F の有理 ゆうり 函数 かんすう 体 からだ でそれぞれ置 お き換 か えて(ただし置 お き換 か え後 ご の両者 りょうしゃ の不定 ふてい 元 もと は共通 きょうつう とする)、「符号 ふごう の違 ちが いを除 のぞ いて」という代 か わりに「F の単元 たんげん を掛 か ける違 ちが いを除 のぞ いて」とすれば、すべてそのまま成 な り立 た つ。この場合 ばあい 、F の純 じゅん 超越 ちょうえつ 拡大 かくだい 体 からだ 上 じょう での因数 いんすう 分解 ぶんかい が F 上 うえ の多 た 変数 へんすう 多項式 たこうしき の因数 いんすう 分解 ぶんかい に帰着 きちゃく される。
多項式 たこうしき のふたつ以上 いじょう の因子 いんし が互 たが いに一致 いっち する場合 ばあい を考 かんが えると、すなわちその多項式 たこうしき はこの因子 いんし の平方 へいほう (平方 へいほう 因子 いんし )で割 わ り切 き れるということになる。一変 いっぺん 数 すう 多項式 たこうしき の場合 ばあい だと、そのような因子 いんし (多重 たじゅう 因子 いんし )を与 あた える根 ね は重根 しこね と定義 ていぎ される。またこの場合 ばあい 、その多重 たじゅう 因子 いんし はもとの多項式 たこうしき の導 しるべ 多項式 たこうしき (多 た 変数 へんすう の場合 ばあい は、どの変数 へんすう に関 かん する微分 びぶん でも)の因子 いんし になる。有理数 ゆうりすう 体 たい (あるいはより一般 いっぱん に標 しるべ 数 すう 0 の任意 にんい の体 からだ )上 じょう の一変 いっぺん 数 すう 多項式 たこうしき の場合 ばあい 、David Yun による無 む 平方 へいほう 分解 ぶんかい アルゴリズム(英語 えいご 版 ばん ) を用 もち いて、多項式 たこうしき を平方 へいほう 因子 いんし を含 ふく まない形 かたち (而 しか してそれを無 む 平方 へいほう と言 い う)に因数 いんすう 分解 ぶんかい する方法 ほうほう が実証 じっしょう される。もとの多項式 たこうしき を分解 ぶんかい するためには、この各 かく 無 む 平方 へいほう 因子 いんし の分解 ぶんかい を与 あた えれば十分 じゅうぶん である。したがって、無 む 平方 へいほう 分解 ぶんかい はたいていの多項式 たこうしき の因数 いんすう 分解 ぶんかい アルゴリズムの緒 いとぐち 段 だん となる。
Yun のアルゴリズムは、多 た 変数 へんすう 多項式 たこうしき を多項式 たこうしき 環 たまき 上 じょう の一変 いっぺん 数 すう 多項式 たこうしき と見 み ることにより、多 た 変数 へんすう 多項式 たこうしき の場合 ばあい にも拡張 かくちょう することができる。
有限 ゆうげん 体 たい 上 じょう の多項式 たこうしき の場合 ばあい には、Yun のアルゴリズムは多項式 たこうしき の次数 じすう が係数 けいすう 体 たい の標 しるべ 数 すう より小 ちい さい場合 ばあい にのみ適用 てきよう 可能 かのう である(これは、そうでない場合 ばあい には非 ひ 零 れい 多項式 たこうしき の導 しるべ 多項式 たこうしき が零 れい 多項式 たこうしき となる場合 ばあい があることによる。例 たと えば p -元 もと 体 からだ 上 じょう で冪 べき 函数 かんすう xp の導 しるべ 多項式 たこうしき は常 つね に零 れい である)。それでも、多項式 たこうしき とその導 しるべ 多項式 たこうしき の間 あいだ のGCD計算 けいさん があれば無 む 平方 へいほう 分解 ぶんかい は得 え られる(有限 ゆうげん 体 たい 上 じょう の多項式 たこうしき の因数 いんすう 分解 ぶんかい #無 む 平方 へいほう 分解 ぶんかい (英語 えいご 版 ばん ) の項 こう を見 み よ)。
本節 ほんぶし では手 て 計算 けいさん に便利 べんり な教科書 きょうかしょ 的 てき 方法 ほうほう について述 の べる。それらは多項式 たこうしき の分解 ぶんかい よりも極 きわ めて複雑 ふくざつ な一 いち 面 めん を持 も つ自然 しぜん 数 すう の因数 いんすう 分解 ぶんかい も利用 りよう しているから、計算 けいさん 機 き に載 の せるようなものではない。
有理 ゆうり 係数 けいすう の範囲 はんい での一 いち 次 じ 因子 いんし は何 いず れも有理 ゆうり 根 ね テスト によって見 み つけることができる。すなわち、因数 いんすう 分解 ぶんかい したい多項式 たこうしき が
a
n
x
n
+
a
n
−
1
x
n
−
1
+
⋯
+
a
1
x
+
a
0
{\textstyle a_{n}x^{n}+a_{n-1}x^{n-1}+\cdots +a_{1}x+a_{0}}
であるとき、取 と りうる任意 にんい の一 いち 次 じ 因子 いんし
b
1
x
−
b
0
{\textstyle b_{1}x-b_{0}}
は、b 1 が an の整数 せいすう 因子 いんし かつ b 0 は a 0 の整数 せいすう 因子 いんし でなければならない。そのような整数 せいすう 因子 いんし すべての組 く み合 あ わせについて有効 ゆうこう か否 ひ か確 たし かめて、有効 ゆうこう な因子 いんし については筆算 ひっさん (英語 えいご 版 ばん ) などして分解 ぶんかい を得 え る。もとの多項式 たこうしき が次数 じすう 2 以上 いじょう の因子 いんし を少 すく なくとも二 ふた つ含 ふく む積 せき であるならば、先 さき に述 の べた仕方 しかた では部分 ぶぶん 的 てき な分解 ぶんかい しか得 え られないが、そうでなければ完全 かんぜん に一 いち 次 じ 因子 いんし のみの積 せき に分解 ぶんかい できることになる。特 とく に、非 ひ 一 いち 次 じ 因子 いんし がちょうど一 ひと つである場合 ばあい には、それは全 すべ ての一 いち 次 じ 因子 いんし を分解 ぶんかい し尽 つ くした残 のこ りの部分 ぶぶん の多項式 たこうしき として取 と り出 だ せる。三 さん 次 じ 多項式 たこうしき の場合 ばあい には、それが完全 かんぜん に因数 いんすう 分解 ぶんかい できるならば有理 ゆうり 根 ね テストを用 もち いるだけでその分解 ぶんかい が決定 けってい できる(それは一 ひと つの一 いち 次 じ 因子 いんし と二 に 次 じ の既 すんで 約 やく 因子 いんし との積 せき であるか、さもなくば三 みっ つの一 いち 次 じ 因子 いんし の積 せき である)ことは注目 ちゅうもく に値 あたい する。
整数 せいすう 係数 けいすう 多項式 たこうしき の各 かく 整数 せいすう で評価 ひょうか した値 ね は有限 ゆうげん 通 どお りの分解 ぶんかい しかないので、十分 じゅうぶん 多 おお くの整数 せいすう での値 ね から因子 いんし の候補 こうほ となる多項式 たこうしき を(補間 ほかん 公式 こうしき などにより)構成 こうせい すれば、因子 いんし はこれらの有限 ゆうげん 個 こ の多項式 たこうしき から見 み つけられる。
例 たと えば
f
(
x
)
:=
x
5
+
x
4
+
x
2
+
x
+
2
{\displaystyle f(x):=x^{5}+x^{4}+x^{2}+x+2}
を考 かんが えるとき、これが ℤ 上 うえ で分解 ぶんかい するならば、その因子 いんし の少 すく なくとも一 ひと つは二 に 次 じ 以下 いか である。二 に 次 じ 多項式 たこうしき を一意 いちい に決 き めるには三 さん 点 てん での値 ね が必要 ひつよう であるが、ここでは f (0) = 2 , f (1) = 6 , f (−1) = 2 を利用 りよう することにする。もしここで利用 りよう する値 ね のどれかでも 0 に等 ひと しくなっていたならば、それはすでに根 ね が見 み つかった(したがって一 いち 次 じ 因子 いんし が得 え られた)ことになることに注意 ちゅうい せよ。0 に等 ひと しいものが無 な いとすれば、それらの因数 いんすう は有限 ゆうげん 個 こ である。いまの場合 ばあい 2 の因数 いんすう 分解 ぶんかい は 1×2, 2×1, (−1)×(−2), (−2)×(−1) の四 よん 通 とお りだけであるから、もし二 に 次 じ の整 せい 係数 けいすう 因子 いんし があったならば、その x = 0 における値 ね は 1, 2, −1, −2 の何 いず れかでなければならない。x = −1 における値 ね も同 どう じくである。また同様 どうよう に、6 の因数 いんすう 分解 ぶんかい は 8 通 とお りだから、これらの分解 ぶんかい のとり方 かた の組 く み合 あ わせは 4 × 4 × 8 = 128 通 とお りだが、半分 はんぶん は符号 ふごう が逆 ぎゃく になっただけなので、二 に 次 じ 因子 いんし となる候補 こうほ としてチェックすべきものは半分 はんぶん の 64 通 とお りということになる。それ以外 いがい のものが f (x ) の整 せい 係数 けいすう 二 に 次 じ 因子 いんし を与 あた えることはない。これらを精査 せいさ すれば
p
(
x
)
:=
x
2
+
x
+
1
{\displaystyle p(x):=x^{2}+x+1}
が p (0) = 1 , p (1) = 3 , p (−1) = 1 を満 み たすものとして得 え られて、実際 じっさい に f (x ) を割 わ り切 き る。
f を p で割 われ れば、別 べつ の因子 いんし として
q
(
x
)
:=
x
3
−
x
+
2
{\textstyle q(x):=x^{3}-x+2}
を得 え るから、因数 いんすう 分解 ぶんかい f = pq を得 え る。さてさらに再帰 さいき 的 てき に有理 ゆうり 根 ね テストを施 ほどこ して p, q をそれぞれ分解 ぶんかい しようと試 こころ みれば、これらが ℤ 上 うえ 既 すんで 約 やく であることがわかるから、これで f の既 すんで 約 やく 因子 いんし 分解 ぶんかい
f
(
x
)
=
p
(
x
)
q
(
x
)
=
(
x
2
+
x
+
1
)
(
x
3
−
x
+
2
)
{\displaystyle f(x)=p(x)q(x)=(x^{2}+x+1)(x^{3}-x+2)}
を得 え た。
有限 ゆうげん 体 たい 上 じょう の因数 いんすう 分解 ぶんかい [ 編集 へんしゅう ]
ハンス・ユリウス・ツァッセンハウス
整 せい 係数 けいすう 一 いち 変数 へんすう 多項式 たこうしき の因数 いんすう 分解 ぶんかい [ 編集 へんしゅう ]
上 うえ で見 み たことを踏 ふ まえれば、f (x ) が整 せい 係数 けいすう の一変 いっぺん 数 すう 多項式 たこうしき のときには、一般 いっぱん 性 せい を失 うしな うことなく それが原始 げんし 的 てき かつ無 む 平方 へいほう と仮定 かてい してよい。すると初 はじ めに考 かんが えるべきは f の任意 にんい の因子 いんし g のすべての係数 けいすう の絶対 ぜったい 値 ち を抑 おさ える上 うえ 界 かい B を計算 けいさん することである。そうして m を 2B より大 おお きな整数 せいすう として、g (x ) が m を法 ほう として求 もと まったならば、その法 ほう m に関 かん して分 わ かっている g の情報 じょうほう から g が復元 ふくげん できる。
その方法 ほうほう を述 の べるハンス・ユリウス・ツァッセンハウス (ドイツ語 ご 版 ばん ) のアルゴリズムは以下 いか のようなものである:
まず素数 そすう p を f (x ) mod p がやはり無 む 平方 へいほう かつ次数 じすう を落 お とさないように選 えら んで、f (x ) mod p を因数 いんすう 分解 ぶんかい する。これにより、整 せい 係数 けいすう 多項式 たこうしき f 1 , …, fr でそれらの積 せき が p を法 ほう として f に等 ひと しいものが得 え られる。
次 つぎ に、ヘンゼル持 も ち上 あ げ を適用 てきよう して、fi たちがそれらの積 せき がこんどは pa を法 ほう として f と一致 いっち するようにできる(ただし、a は pa が 2B よりも大 おお きくなるように選 えら ぶものとする)。
この時点 じてん で法 ほう pa に関 かん して f (x ) は(単数 たんすう を掛 か ける違 ちが いを除 のぞ いて)2r 個 こ の因子 いんし を持 も つ— {f 1 , …, fr } の任意 にんい の部分 ぶぶん 集合 しゅうごう の各々 おのおの に対 たい して、その元 もと の総 そう 積 せき が f (x ) mod pa の因子 いんし を与 あた える—が、法 ほう pa に関 かん する因子 いんし が「真 しん の因子 いんし 」(すなわち、ℤ [x ] における f (x ) の因子 いんし )に対応 たいおう するとは限 かぎ らないことに注意 ちゅうい する。
法 ほう pa に関 かん する各 かく 因子 いんし に対 たい してそれが真 しん の因子 いんし に対応 たいおう するものかどうかをテストして、対応 たいおう するものと分 わ かれば(pa が 2B より大 おお きいという仮定 かてい のもと)真 しん の因子 いんし を計算 けいさん することになる。
この方法 ほうほう では、高々 たかだか 2r 通 とお りをチェックすれば真 しん の既 すんで 約 やく 因子 いんし をすべて見 み つけることができる(各 かく 因子 いんし の補 ほ 因子 いんし —掛 か けて f (x ) になるもう一方 いっぽう の因子 いんし —についてのチェックは飛 と ばせるから、実際 じっさい には 2r −1 通 とお りでよい)。f (x ) が可 か 約 やく のときは、既 すで に真 しん の因子 いんし であるとわかっている fi についてはチェックを飛 と ばせるので、調 しら べるべき場合 ばあい の数 かず はさらに減 へ らすことができる。
ツァッセンハウスのアルゴリズムは各 かく 場合 ばあい のチェックについては手早 てばや くできるが、その場合 ばあい の数 かず が最悪 さいあく の場合 ばあい では指数 しすう 函数 かんすう 的 てき に大 おお きくなってしまう。
有理 ゆうり 係数 けいすう 多項式 たこうしき の因数 いんすう 分解 ぶんかい を多項式 たこうしき 時間 じかん で計算 けいさん できる最初 さいしょ のアルゴリズムは Lenstra, Lenstra & Lovász (1982) が格子 こうし 基底 きてい 縮小 しゅくしょう アルゴリズム(英語 えいご 版 ばん ) ("LLLアルゴリズム")の応用 おうよう として与 あた えた。簡易 かんい 版 ばん のLLL因数 いんすう 分解 ぶんかい アルゴリズムは以下 いか のようなものである:
多項式 たこうしき f の複素 ふくそ (あるいは p -進 すすむ )根 ね α あるふぁ を高 こう 精度 せいど で計算 けいさん し、LLL格子 こうし 基底 きてい 縮小 しゅくしょう アルゴリズムを用 もち いて 1, α あるふぁ , α あるふぁ 2 , … の満 み たす整 せい 係数 けいすう 線型 せんけい 関係 かんけい 式 しき (英語 えいご 版 ばん ) (つまり α あるふぁ の満 み たす整 せい 係数 けいすう 多項式 たこうしき 関係 かんけい 式 しき )を近似 きんじ 的 てき に求 もと めると、それが(近似 きんじ でない)真 しん の線型 せんけい 関係 かんけい 式 しき の、したがって f の多項式 たこうしき 因子 いんし の候補 こうほ になる。
適切 てきせつ に近似 きんじ の精度 せいど の限界 げんかい を決 き めることで、このアルゴリズムが多項式 たこうしき 因子 いんし か既 すんで 約 やく 性 せい 証明 しょうめい の何 いず れかを与 あた えるものであることを保証 ほしょう することができる。この方法 ほうほう は多項式 たこうしき 時間 じかん であるけれども、格子 こうし は高 こう 次元 じげん のもので、成分 せいぶん 数 すう は膨大 ぼうだい になり、計算 けいさん に時間 じかん がとられることを考 かんが えれば、実用 じつよう に供 きょう されるものではない。
さて、ツァッセンハウスのアルゴリズムの計算 けいさん 量 りょう が指数 しすう 時間 じかん となるのは、(f 1 , …, fr の中 なか から目的 もくてき に合 あ う部分 ぶぶん 集合 しゅうごう を選 えら び出 だ すという)組合 くみあわ せ問題 もんだい から来 く るものであった。ツァッセンハウスと同 おな じやり方 かた ながら組合 くみあわ せ爆発 ばくはつ の問題 もんだい を回避 かいひ する芸術 げいじゅつ 的 てき 因数 いんすう 分解 ぶんかい の実装 じっそう の状態 じょうたい は、組合 くみあわ せ問題 もんだい をLLLで解決 かいけつ できる格子 こうし 問題 もんだい に翻訳 ほんやく する点 てん にある[ 4] 。このやり方 かた の場合 ばあい 、LLL は因数 いんすう の係数 けいすう を計算 けいさん するのではなくて、{0, 1} に r 個 こ の成分 せいぶん をとるベクトル(真 しん の既 すんで 約 やく 因子 いんし を与 あた える f 1 , …, fr の部分 ぶぶん 集合 しゅうごう をエンコードするもの)の計算 けいさん に用 もち いる。
代数 だいすう 体 たい 係数 けいすう の場合 ばあい : Trager の方法 ほうほう [ 編集 へんしゅう ]
体 からだ K が代数 だいすう 体 たい (ℚ の有限 ゆうげん 次 じ 拡大 かくだい 体 たい )であるときの多項式 たこうしき p (x ) ∈ K [x ] も因数 いんすう 分解 ぶんかい することができる。無 む 平方 へいほう 分解 ぶんかい して、多項式 たこうしき は無 む 平方 へいほう であると仮定 かてい してよい。ℚ 上 うえ の線型 せんけい 環 たまき として L ≔ K [x ]/(p (x )) と陽 ひ に書 か いて、無 む 作為 さくい に α あるふぁ ∈ L をとれば、原始 げんし 元 もと 定理 ていり により、高 こう 確 かく 率 りつ で α あるふぁ は L を ℚ 上 うえ 生成 せいせい する。生成 せいせい することが確認 かくにん できたならば、α あるふぁ の ℚ 上 うえ の最小 さいしょう 多項式 たこうしき q (y ) ∈ ℚ [y ] を計算 けいさん して、それを ℚ [y ] 上 うえ で
q
(
y
)
=
∏
i
=
1
n
q
i
(
y
)
{\displaystyle q(y)=\prod _{i=1}^{n}q_{i}(y)}
と因数 いんすう 分解 ぶんかい することで、
L
=
Q
[
α あるふぁ
]
=
Q
[
y
]
/
(
q
(
y
)
)
=
∏
i
=
1
n
Q
[
y
]
/
(
q
i
(
y
)
)
{\displaystyle L=\mathbb {Q} [\alpha ]=\mathbb {Q} [y]/(q(y))=\prod _{i=1}^{n}\mathbb {Q} [y]/(q_{i}(y))}
と決定 けってい できて(p は無 む 平方 へいほう であるから、L が被 ひ 約 やく 環 たまき となることに注意 ちゅうい )、α あるふぁ は右辺 うへん の元 もと (y , …, y ) (全 すべ ての成分 せいぶん が y )に対応 たいおう する。これが体 からだ の直積 ちょくせき としての L の唯一 ゆいいつ の分解 ぶんかい であることに注意 ちゅうい する。したがってこの分解 ぶんかい は
∏
i
=
1
m
K
[
x
]
/
(
p
i
(
x
)
)
{\displaystyle \prod _{i=1}^{m}K[x]/(p_{i}(x))}
と同 おな じものである(ここに p = ∏m i =1 pi は p の K [x ] における既 すんで 約 やく 分解 ぶんかい とする)。x ∈ L および K の生成 せいせい 元 もと を α あるふぁ の多項式 たこうしき として書 か けば、x および K の ℚ [y ]/(qi (y )) = K [x ]/(pi (x )) の直積 ちょくせき 因子 いんし の中 なか への埋 う め込 こ みが決定 けってい できる。この環 たまき における x の最小 さいしょう 多項式 たこうしき を求 もと めることにより、pi が計算 けいさん できて、したがって p が K 上 うえ で既 すんで 約 やく 分解 ぶんかい される。
^ おなじことは、ℤ および ℚ を、(U)FD R およびその商 しょう 体 たい K に置 お き換 か えてより一般 いっぱん に考察 こうさつ できる
^ FT Schubert: De Inventione Divisorum Nova Acta Academiae Scientiarum Petropolitanae v.11, p. 172-182(1793)
^ An example of degree 2401, taking 7.35 seconds, is found in Section 4 in: Hart, van Hoeij, Novocin: Practical Polynomial Factoring in Polynomial Time ISSAC'2011 Proceedings, p. 163-170 (2011).
^ M. van Hoeij: Factoring polynomials and the knapsack problem. Journal of Number Theory, 95, 167-189, (2002).
Fröhlich, A.; Shepherson, J. C. (1955), “On the factorisation of polynomials in a finite number of steps”, Mathematische Zeitschrift 62 (1): 331–334, doi :10.1007/BF01180640 , ISSN 0025-5874
Trager, B.M., “Algebraic Factoring and Rational Function Integration” , Proc. SYMSAC 76 , http://dl.acm.org/citation.cfm?id=806338
Bernard Beauzamy, Per Enflo , Paul Wang (October 1994). “Quantitative Estimates for Polynomials in One or Several Variables: From Analysis and Number Theory to Symbolic and Massively Parallel Computation”. Mathematics Magazine 67 (4): 243–257. doi :10.2307/2690843 . JSTOR 2690843 . (accessible to readers with undergraduate mathematics)
Cohen, Henri (1993). A course in computational algebraic number theory . Graduate Texts in Mathematics. 138 . Berlin, New York: Springer-Verlag . ISBN 978-3-540-55640-4 . MR 1228206
Kaltofen, Erich (1982), “Factorization of polynomials”, in B. Buchberger; R. Loos; G. Collins, Computer Algebra , Springer Verlag, doi :10.1007/978-3-7091-3406-1_8 , MR 780381 , Zbl 0519.68059
Knuth, Donald E (1997). “4.6.2 Factorization of Polynomials”. Seminumerical Algorithms . The Art of Computer Programming . 2 (Third ed.). Reading, Massachusetts: Addison-Wesley. pp. 439–461, 678–691. ISBN 0-201-89684-2
Lenstra, A. K. ; Lenstra, H. W.; Lovász, László (1982). “Factoring polynomials with rational coefficients”. Mathematische Annalen 261 (4): 515–534. doi :10.1007/BF01457454 . ISSN 0025-5831 . MR 682664
van der Waerden, B. L. (1970), Algebra , trans. Blum and Schulenberger, Frederick Ungar
Kaltofen, Erich (1990), “Polynomial Factorization 1982-1986”, in D. V. Chudnovsky; R. D. Jenks, Computers in Mathematics , Lecture Notes in Pure and Applied Mathematics, 125 , Marcel Dekker, Inc.
Kaltofen, Erich (1992), “Polynomial Factorization 1987–1991” , Proceedings of Latin ’92 , Springer Lect. Notes Comput. Sci., 583 , Springer, http://www4.ncsu.edu/~kaltofen/bibliography/92/Ka92_latin.pdf October 14, 2012 閲覧 えつらん 。
Ivanyos, Gabor; Marek, Karpinski; Saxena, Nitin (2009), “Schemes for Deterministic Polynomial Factoring”, Proc. ISSAC 2009 : 191–198, arXiv :0804.1974 , doi :10.1145/1576702.1576730
Weisstein, Eric W. "Polynomial Factorization" . mathworld.wolfram.com (英語 えいご ).
factorization of primitive polynomial - PlanetMath .(英語 えいご )
Hazewinkel, Michiel, ed. (2001), “Factorization of polynomials” , Encyclopedia of Mathematics , Springer, ISBN 978-1-55608-010-4 , https://www.encyclopediaofmath.org/index.php?title=Factorization_of_polynomials
Hazewinkel, Michiel, ed. (2001), “Kronecker method” , Encyclopedia of Mathematics , Springer, ISBN 978-1-55608-010-4 , https://www.encyclopediaofmath.org/index.php?title=Kronecker_method