因数分解

提供: miniwiki
移動先:案内検索

数学における因数分解(いんすうぶんかい、: factorization)は(多項式行列といったような、積の定義される)代数的対象を、(それらを掛け合わせると元に戻る)別の対象、つまり因数 (factor) の積に分解することである。たとえば、15 という数は 3 × 5 という因数の積に分解され、多項式 x2 − 4 は (x − 2)(x + 2) という因数の積に分解される。このようにより単純な対象の積になっている。

因数分解の反対は、因数を掛け合わせてもとの展開された対象を得る過程であるところの、展開である。

因数分解の目的はふつう、何らかのものを(自然数ならば素数、多項式ならば既約多項式といったような)「基本的な構成要素」に帰着させることである。1でない自然数が素数の積で表せることは算術の基本定理で、定数でない一変数複素係数多項式が一次式の積で表せることは代数学の基本定理で保障されている。ヴィエタの公式は多項式の根と係数の関係を記述するものである。

巨大整数の素因数分解は困難な問題で、これを一般に短時間に行う方法は知られていない。この複雑性はRSA暗号のような公開鍵暗号によるセキュリティの信頼性の基礎になっている。

行列も(応用に際して利用しやすい)特別な種類の行列の積に分解することができる。よく用いられるのはたとえば、直交行列ユニタリ行列あるいは三角行列などである。ほかに、QR, LQ, QL, RQ, RZ のような分解が知られる。

他の例としては、写像を特定の性質を持つ写像の合成の形に分解することが挙げられる。たとえば、任意の写像は全射単射の合成と見ることができる。これはfactorization systemEnglish版によって一般化される。

整数の因数分解

算術の基本定理により、任意の正の整数は一意的な素因数分解を持つ。整数の因数分解アルゴリズムが与えられたとき、そのアルゴリズムを繰り返し適用して、任意の整数をその構成要素である素数にまで分解しきることができる。しかし、非常に巨大な整数に対して効率のよいアルゴリズムは知られていない。

多項式の因数分解

因数分解は、方程式関数について考える上で重要な概念の一つである。たとえば次のように左辺を右辺へ変形することをさす。対して、右辺を左辺へ変形することは展開という。

  1. [math]x^2 - 3x + 2 = (x - 1)(x - 2)[/math]
  2. [math]t^3 - t^2 - 3t + 3 = (t - 1)(t^2 - 3)[/math]
  3. [math]\alpha^3 - 1 = (\alpha - 1)(\alpha^2 + \alpha + 1)[/math]

これらの場合、1. では x − 1 と x − 2 を、2. では t − 1 と t2 − 3 を、3. では α − 1 と α2 + α + 1 をそれぞれ因数と呼ぶ。

係数として用いてよいの範囲が異なると、因数分解の結果が変わってくる。上の3例はすべて有理数(もしくは整数)の範囲で因数分解を行なったものである。数の範囲を実数まで広げると、2. は更に因数分解が行える。

[math]t^3 - t^2 - 3t + 3 = (t - 1)(t^2 - 3) = (t - 1)\boldsymbol{(t - \sqrt{3})(t + \sqrt{3})}[/math]

さらに数の範囲を複素数まで広げると、3. は更に因数分解が行える。

[math]\alpha^3 - 1 = (\alpha - 1)(\alpha^2 + \alpha + 1) = (\alpha - 1) \left( \alpha - \frac{ - 1 + \sqrt{3}i }{2} \right) \left( \alpha - \frac{ - 1 - \sqrt{3}i }{2} \right)[/math]

代数方程式 f(x) = 0 に対し、その根を求めることは f(x) を一次式の積に因数分解することと等価である。しかし、展開は機械的に行う方法があるのに対して、整式を因数分解する統一的な方法はないため、状況に応じて適当な方法を適用する必要がある。

共通因数でくくる

全ての項に共通している因数でくくり出す。たとえば 2x5 − 5x4 = x4(2x − 5) など。

解の公式の利用

2次方程式の解の公式により、ax2 + bx + c = 0 の解は

[math]x = \frac{ -b \pm \sqrt{b^2 - 4ac} }{2a}[/math]

であるから

[math]ax^2 + bx + c = a \left( x - \frac{ -b + \sqrt{b^2 - 4ac} }{2a} \right) \left( x - \frac{ -b - \sqrt{b^2 - 4ac} }{2a} \right)[/math]

と因数分解される。

例として x2x − 2 を因数分解することを考える。 x2x − 2 = 0 の解は

[math]x = \frac{- ( -1 ) \pm \sqrt{( -1 )^2 - 4\cdot1\cdot( -2 )} }{2\cdot1} = 2, -1[/math]

である。よって x2x − 2 = (x − 2)(x + 1) という因数分解の結果を得る。

2数の和と積

(x − α)(x − β) = x2 − (α + β)x + αβ という展開を逆向きに使う。x の項の係数と定数項から2数を見つける方法である。根と係数の関係を参照。

例として x2 − 5x + 6 を因数分解することを考える。x の項の係数が −5 で定数項が 6 なので、和が 5 で積が 6 となる2数を探す。2 と 3 であることが分かるので、x2 − 5x + 6 = (x − 2)(x − 3) という因数分解の結果を得る。

たすきがけ

2次式を因数分解するときに用いられる、たすきがけとよばれる方法がある。途中計算に引くバツ印の線をたすきの背中側から見た姿になぞらえた名前である。x2 の項の係数の正の約数と定数項の約数を組み合わせて x の項の係数を作る。

たとえば 6x2 + x − 2 を因数分解することを考える。x2 の項の係数 6 の正の約数と定数項 −2 の約数の組み合わせのうち、次のような組み合わせを選ぶ。

[math]\begin{matrix} 3 & & 2 & \longrightarrow & 4 \\  & \times & & & \\ 2 & & -1 & \longrightarrow & -3\end{matrix}[/math]

この計算で得られた 4 と −3 の和が x の項の係数1と等しいので、× の上の行の数 3 と 2 を使って 3x + 2 という式と作り、同様に下の行の数 2 と −1 を使って 2x − 1 という式を作る。このとき、元の式 6x2 + x − 2 はこの2つの式をかけ合わせることで求められるので、6x2 + x − 2 = (3x + 2)(2x − 1) という因数分解の結果を得る。

因数定理の利用

因数定理を利用する。すなわち f(x) の値を 0 にする x の値()を見つける。f(α) = 0 となったとすれば、x − α が f(x) の因数の1つである。

たとえば 2x4 − 5x3 − 8x2 + 17x − 6 を因数分解することを考える。この式に x = 1 を代入すると 0 となるので、x − 1 が因数の1つであることが分かる。元の式を x − 1 で除算して、2x4 − 5x3 − 8x2 + 17x − 6 = (x − 1)(2x3 − 3x2 − 11x + 6) となる。

この方法で求めた1次の因数以外の因数(この例では 2x3 − 3x2 − 11x + 6)は、何らかの方法で更に因数分解できるかもしれない。この例では x = −2 を代入すると 0 になるので x + 2 も因数だと分かる。