16.3 部分分数分解
第 16.2.6 項では、一見すると解けないように思える複雑な数え上げ問題を解く例を見た。これが可能だったのは考えている個数の母関数が \(1/(1 - x)^{2}\) であり、この関数の級数展開を知っていたからである。この問題は解答が単純になるように意図的に作られていたものの、そうでない問題もある。母関数を利用して解ける問題を増やすには、式として示された関数の冪級数展開を求める方法が必要になる。Maclaurin の定理 (定理 16.2.1) は冪級数展開を求める非常に一般的な方法を与えるものの、任意回の微分結果が求められる関数は多くない。しかし、多項式の比として表された任意の関数を冪級数へと機械的に変形する方法が存在する。それは初等微積分の講義で習う部分分数分解である。
部分分数分解を使った冪級数展開では、多項式の比として表された任意の関数は冪級数展開が簡単に求まる項の和に変形できる事実が利用される。例えば、分母の根が全て異なり、どれも \(0\) でないなら次の補題が成り立つ:
\(p(x)\) を次数が \(n\) 未満の多項式、\(\alpha_{1}\), \(\ldots\), \(\alpha_{n}\) を相異なる \(0\) でない実数とする。このとき、次の等式を満たす定数 \(c_{1}\), \(\ldots\), \(c_{n}\) が存在する:
補題 16.3.1 を使って次の関数 \(R(x)\)の冪級数展開を求めてみよう:
分母の多項式 \(1 - x - x^{2}\) の根 \(r_{1}\), \(r_{2}\) は二次方程式の解の公式から求められる:
よって分母は次のように変形できる:
簡単な式変形から、次の事実が分かる:
後は、次の等式を満たす \(c_{1}\), \(c_{2}\) を見つければよい:
こういった問題の一般的な解法は「\(x\) に適当な値をいくつか代入し、そこから得られる \(c_{1}\) と \(c_{2}\) に関する線形方程式を解く」である。ただ、ここでは等式 \(\text{(16.11)}\) の両辺に左辺の分母を乗じるアプローチの方が簡単に解を求められる:
\(x = 1 / \alpha_{2}\) を代入すれば \(c_{2}\) が求まる:
同様に \(x = 1 / \alpha_{1}\) を代入すれば \(c_{1}\) が求まる:
求まった \(c_{1}\), \(c_{2}\) の値を等式 \(\text{(16.11)}\) に代入すると、母関数 \(R(x)\) の部分分数分解が得られる:
右辺の二つの項はいずれも無限幾何級数の和の公式を使って冪級数に展開できる:
\(R(x)\) の式に代入すれば次を得る:
つまり、次の関係が成り立つ:
16.3.1 分母が重根を持つ場合
補題 16.3.1 は分母の多項式が重複度 \(m\) の \(0\) でない根を持つ場合を扱えるように一般化できる。この根には、次の形をした項の和が対応する:
ただし \(\alpha\) は根の逆数であり、\(k\) は \(m\) 以下の全ての正整数を取る。この項の冪級数展開は以前に示したドーナツの公式 \(\text{(16.10)}\) から分かる:
\(\alpha = 1\) の場合は等式 \(\text{(16.10)}\) の両辺に定数 \(c\) を乗じれば得られる。さらに \(x\) を \(\alpha x\) に置き換えれば一般の場合となる: \(x^{n}\) を \((\alpha x)^{n}\) に置き換えると、\(x^{n}\) の係数は \(\alpha^{n}\) 倍になる1。
-
言い換えれば \([x^{n}] F(\alpha x) = \alpha^{n} \cdot [x^{n}] F(x)\) が成り立つ。 ↩︎