複素周回積分による解析関数の因数分解
2008MI259 上岡 航平
指導教員：杉浦はじめに

1

本論文では，解析関数 f (z) に対して与えられた円内の多項式因子を求める方法について研究した．村井 [1] の丸網法の対象を多項式から正則関数へと拡張した．村井は零点のモーメントから多項式因子の係数を求める公式を零点の個数ごとに求めていたが，本研究では漸化式によるアルゴリズムを用いて統一的な計算をする．また，村井は多項式因子の Maclaurin 展開係数を求めたが，今回は円板の中心を中心とする Taylor 展開係数を求めるアルゴリズムを考察した．

これで，零点 ζ1 , …, ζm に関する l 次モーメントが得られる．これに，m 次方程式の解と係数の関係を用いて f (z)の m 次因子 pm (z) の係数である bk (1 ≤ k ≤ m) が得られる．pm (z) の定義より，b0 = 1 である．

2.2

多項式因子の係数［定理］係数 bk (0 ≤ k ≤ n) は，b0 = 1 とし, 次の漸化式に従う.

1∑bi µk−i (1 ≤ k ≤ n).//kk−1

bk = −(4)

k=03

巻き網法

2洋丸網法

巻き網法の種類として村井 [1] は丸網法を編み出した．
積分は精度の良い台形則で近似する．
台形則
mn
∏
∑
周期 2π の周期関数 g(t) の 1 周期積分に対する N 点台形
pm (z) =(z − ζj ) =bk (z − c)n−k ，b0 = 1．
則を
j=1k=0) ∫N −1 (2π ∼ 2π2π ∑の係数 bk (1 ≤ k ≤ m) を求める巻き網法 [1] を説明する．
gg(t)dt
TN g =l =NN0
ここで c は C 内部の定点である．単純閉曲線 C はその内l=0部の f (z) の零点全てを一網打尽にする巻き網である．と定義する．
［定理］C 上で f (z) ̸= 0 とする．また m は有限とする．
このとき，f (z) = pm (z)q(z) とすると，q(z) は正則で C 3.1 因子多項式の Maclaurin 展開
村井は，因子多項式を Maclaurin 展開の形式の内部で 0 とならない．//
正則関数 f (z) の，単純閉曲線 C の内部に存在するすべての零点 ζ1 , …, ζm を零点とする m 次多項式

2.1pm (z) =多項式因子の零点のモーメントm∑bm−k z k(5)k=0上の定理より，f (z) = pm (z)q(z)．両辺の対数をとり， で表わすことを考えた [1]．
微分すると，
積分路 C : z(t) = c + reit (t : 0 → 2π) は中心 c，半径r の円である．ここで，k 次モーメントの計算は，
mf ′ (z) ∑ 1q ′ (z)∫=+．
1f ′ (z)z kf (z)
z−
ζq(z)
i
µ=dz
ki=12πi C f (z)∫ 2π ′
よって，
rf (c + reit )=(c + reit )k eit dtit )()2πf(c+re∫∫0m∑
11q ′ (z)1dz +dzµ0 =2πi C i=1 z − ζi
2πi C q(z)
よって，
∫m
∫ 2π
∑
11r=dz ．
(1)µ=g(t)dt，(6)k2πi C z − ζi
2π 0i=1
そして，コーシーの積分公式より，f (z) = 1 として，µ0 =∫mmm∑∑∑f (z)1dz =f (ζj ) =1 = m.
2πi C z − ζjj=1j=1j=1(2)
これで，C 内の零点の個数 m が得られる．次に (2) と同じ論法で f (z) = z l として，
1µl =
2πi

∫m∑
fn′ (z)z ldz =ζjlC fn (z)j=1(1 ≤ l ≤ m).

(3)

g(t) =f ′ (c + reit )(c + reit )k eit
f (c + reit )である．これを N 点台形則で近似して，)
N−1 (∑2π∼ rµk =lgNN(7)(8)l=0を得る．
ここで求めたモーメント µl (1 ≤ l ≤ m) より，漸化式(4) を用いて多項式 pm (z) の係数 bk (1 ≤ k ≤ m) を計算する．

3.2

因子多項式の Taylor 展開

表 1 n = 0 のときの零点の絶対誤差

r に比べ c の絶対値が大きいとき，C 内の複数の零点は，相対的に近接零点となり，pm (z) = 0 を解くことが数値的に不安定となる．ゆえに，C 内の零点を精度良く求めることができない．
この欠点を改善するため，変数変換 z = c + w により原点を c に移動し，w の多項式 fc (w) = f (c + w) をpc (w) =m∑i12345ζi−6.3−3.140
3.146.3

M 法の |∆ζi |1.78 × 10−151.11 × 10−147.28 × 10−152.22 × 10−150

T 法の |∆ζi |8.88 × 10−1609.66 × 10−16
4.44 × 10−158.88 × 10−16bm−k wkk=0

表 2 n = 1000 のときの零点の絶対誤差と Maclaurin 展開する．これに w = z − c を代入して，pm (z) の c を中心とする Taylor 展開

pm (z) =m∑i12345bm−k (z − c)kk=0が得られる．
w 平面の原点中心，半径 r の円を C : w(t) = reit (t :0 → 2π) とする．C 内の f (c + w) の零点の k 次モーメン
トを µk とすると，∫1f ′ (c + w)wk
µk =dw
2πi C f (c + w)
∫rk+1 2π f ′ (c + reit ) i(k+1)t=edt．
2π 0 f (c + reit )ここで，

f ′ (c + reit ) i(k+1)te= g(t)f (c + reit )とすると，N 点台形則で近似して
k+1−1k+1 N∑

rr
TN g =µk ∼=2πNl=0(g2πlN)(9)ζi3.14 × 103
3.14 × 103
3.14 × 103
3.14 × 103
3.15 × 103

M 法の |∆ζi |1.01
7.12 × 10−1
2.11
2.68
3.95 × 10−1

T 法の |∆ζi |4.55 × 10−13
4.55 × 10−134.55 × 10−134.55 × 10−130n = 1000 のとき，ζ1 , …, ζ5 は式 (5) の pm (z) の近接零点である．Mclaurin 展開法と Taylor 展開法の差は大きくなる (表 2)．Maclaurin 展開法で求めた零点の精度は 3 桁強で非常に貧弱である．一方 Taylor 展開法では約 15 桁の精度を持ち非常に高精度である．
以上の実験結果により，Taylor 展開法は Maclaurin 展開法に比べ零点の誤差が小さいことがわかった．特に円板の半径に比べて，原点と中心との距離が大きい場合には，精度の差は非常に大きく Taylor 展開法が Maclaurin展開法に対して圧勝する．

5まとめ

解析関数 f (z) に対して与えられた円内の多項式因子を求める方法について研究した．村井が研究した丸網法の対象となる関数 f (z) を多項式から正則関数へと拡張できることを示した．村井は零点のモーメントから多項式の係数を求める公式を零点の個数ごとに求めていたが，今回は漸化式によるアルゴリズムを発見し，統一的な計算が4 数値実験できるようになった．村井は多項式因子の Maclaurin 展関数 f (z) = sin z の多項式因子 pm (z) を Maclaurin 展 開係数を求めた．今回は円板の中心を中心とする Taylor開の丸網法 (M 法) と Taylor 展開の丸網法 (T 法) で求め 展開係数を求めるアルゴリズムを考察した．そのことにる実験を行う．円：|z − nπ| = r 内の f (z) の因子 pm (z) より Taylor 展開法は Maclaurin 展開法に比べ零点の誤差とその零点 ζ を求める．ζi を数値計算したもの ζ˜i と書き， が小さく，より高精度で円内の零点を求めることができその誤差を ∆ζi = ζ˜i − ζi とする．
ることがわかった．
以下の数値実験において，計算機は FUJITSU のノートパソコン FMV-S8350，CPU は intel Core 2 Duo T7250， 6 参考文献
2.0GHz である．OS は Windows Vista で Mathematica[1] 村井智：複素関数による多項式の因数分解，南山大
ver.8.0.1.0 上でプログラムを作成した．
学数理情報学部情報システム数理学科 2011 年度卒業論文
r = 5π/2 のとき，円内の零点は ζ1 = (n − 2)π ，ζ2 = (2012).
(n − 1)π ，ζ3 = nπ ，ζ4 = (n + 1)π ，ζ5 = (n + 2)π の 5点，因子 p(z) は 5 次多項式である．
n = 0 のとき，村井の Maclaurin 展開法と今回の Taylor
展開法は数学的に同値である．計算結果を，表 1 に示す．
双方のデータは丸め誤差範囲内でほぼ一致する．
を得る．
ここで求めたモーメント µl (1 ≤ l ≤ m) より，漸化式(4) を用いて多項式 pm (z) の係数 bk (1 ≤ k ≤ m) を計算する．