多項式の因数分解
法 p に関する各因子に対してそれが真の因子に対応するものかどうかをテストして、対応するものと分かれば(p が 2B より大きいという仮定のもと)真の因子を計算することになる。 この方法では、高々 2 通りをチェックすれば真の既約因子をすべて見つけることができる(各因子の補因子—掛けて f(x) になるもう一方の因子—についてのチェックは飛ばせるから、実際には 2 通りでよい)。f(x) が可約のときは、既に真の因子であるとわかっている fi についてはチェックを飛ばせるので、調べるべき場合の数はさらに減らすことができる。
ツァッセンハウスのアルゴリズムは各場合のチェックについては手早くできるが、その場合の数が最悪の場合では指数函数的に大きくなってしまう。
有理係数多項式の因数分解を多項式時間で計算できる最初のアルゴリズムは Lenstra, Lenstra & Lovász (1982) が格子基底縮小アルゴリズム(英語版)("LLLアルゴリズム")の応用として与えた。簡易版のLLL因数分解アルゴリズムは以下のようなものである:
整係数あるいは体上の多項式環はUFDである。その意味するところは、これら環の任意の元が定数と既約多項式(定数でない二つの多項式の積に書くことのできない多項式)の積になっているということ、さらにはその分解が可逆な定数を掛ける違いを除いて一意となることである。
この因数分解は係数体の種類に依存する。例えば、代数学の基本定理(複素係数の任意の多項式が複素根を持つこと)から、任意の整係数多項式を複素数体 C 上の一次因子の積に完全に分解することができることが従う。同様に、実数体 R 上では既約因子の次数は高々 2 であり、対して有理数体 Q 上では任意の次数の既約多項式が存在する。
多項式の因数分解問題は、そのすべての元を計算機で表現できる計算可能数体 (computable field) を係数とし、算術的演算を用いたアルゴリズムが存在する場合にのみ意味をなす。