ここでは、杉原による誤差解析を述べる
(
杉原・室田[15],
杉原[16])
。級数の和の評価
(
桂田[17]
の§§1.3)
と同様のことを行う部分がある。しかし、他の部分は重 いので、実際には講義したことはない。(
時間配分をうまくすれば、講義できて、複素関数論の 講義として有益だったかもしれない。)
6.1 実軸上の積分に対する台形公式
実解析的な
f : R → C
に対して、(40) I =
Z
∞−∞
f(x) dx
の近似値を求めるため、台形則を用いたときの誤差を調べたい。
h > 0, N ∈ N
とするとき、(41) T
h:= h
X
∞ n=−∞f (nh), T
h,N:= h X
N n=−Nf (nh)
とおく。f
はあるd > 0
に対して、(42) D (d) := { z ∈ C | | Im z | < d }
上の正則な関数に拡張されると仮定する。実際の数値計算では、
T
h を有限和で置き換えたT
h,N を使わざるを得ない。その場合は、関数f
の遠方での減衰の具合が問題となる。そこで遠方での減衰の具合の物差しとなるような正則関数
w : D (d) → C
を固定して、| f (z) | ≤
定数| w(z) | (z ∈ D (d))
を満たすf
について考える。D (d)
で正則で0
にならない関数w
を一つ取り、∥ f ∥ := sup
z∈D(d)
f (z) w(z)
, (43)
H(w, d) := { f | f : D (d) → C
正則, ∥ f ∥ < + ∞}
(44)
とおく。w
は、x → ±∞
のときのf (x)
の減衰の度合いを示す関数である。
補題
6.1 (無限和台形則の誤差評価, Stenger [18], 1973
年)d > 0. f : D (d) → C
は正則 で、次の2条件を満たすとする。(a) ∀ c ∈ (0, d)
に対して、(45) Λ(f, c) :=
Z
∞−∞
( | f(x + ic) | + | f(x − ic) | ) dx < + ∞ .
さらにΛ(f, d − 0) := lim
c→d−0
Λ(f, c)
は有限確定である。(b) ∀ c ∈ (0, d)
に対して、x→±∞
lim Z
c−c
| f(x + iy) | dy = 0.
このとき、任意の
h > 0
に対して、(46) | I − T
h| ≤ exp ( − 2πd/h)
1 − exp ( − 2πd/h) Λ(f, d − 0).
(46)
の右辺は、h → +0
とするとき、急速に減衰する(0
に近づく)
ことに注意すること。その 減衰の速さは、d
が大きいほど大きい。証明
c ∈ (0, d), N ∈ N
を固定して、4
点− (N + 1/2) h − ci, (N + 1/2) h − ci, (N + 1/2) h + ci,
− (N + 1/2) h + ci
を頂点とする長方形を正の向きに一周する曲線をC
c,N とする。φ(z) := cot πz
h = cos (πz/h)
sin (πz/h)
において、z
が極⇔ ( ∃ k ∈ Z ) πz
h = kπ ⇔ ( ∃ k ∈ Z ) z = kh.
kh
はφ
の1
位の極であり、Res (φ; kh) = cos (πz/h) (sin (πz/h))
′z=kh
= h π .
留数定理により、Z
Cc,N
f (z) cot πz
h dz = 2πi X
N k=−Nf (kh) Res(φ; kh) = 2ih X
N k=−Nf (kh).
ゆえに
X
N k=−Nf(kh) = 1 2i
Z
Cc,N
f (z) cot πz h dz.
この式で、
N → ∞
とすると、T
h= X
∞ k=−∞f (kh) = 1 2i
Z
∞−∞
− f (x + ic) cot π (x + ic)
h + f (x − ic) cot π (x − ic) h
dx.
一方、
Cauchy
の積分定理よりZ
∞−∞
f (x + ic) dx = I,
Z
∞−∞
f (x − ic) dx = I
であるから、I = 1 2
Z
∞−∞
(f (x + ic) + f (x − ic)) dx.
ゆえに
T
h− I = Z
∞−∞
"
f(x + ic) exp
2πi(x+ic)h1 − exp
2πi(x+ic)h− f (x − ic) exp
−2πi(xh−ic)1 − exp
−2πi(xh−ic)# dx
であるから、| T
h− I | ≤ exp ( − 2πc/h) 1 − exp ( − 2πc/h)
Z
∞−∞
( | f (x + ic) | + | f (x − ic) | ) dx
= exp ( − 2πc/h)
1 − exp ( − 2πc/h) Λ(f, c).
c → d − 0
とすると、(46)
を得る。T
h,N の誤差については、次の定理を得る。
命題
6.2 d > 0. w
はD (d)
で正則かつ0
にならず、Λ(w, d − 0) < ∞
とする。また、f
はD (d)
で正則な関数で、補題6.1
の条件(a), (b)
を満たすとする。このとき、I=
Z
∞−∞
f(x) dx
とT
h,N:= h
X
∞ n=−∞f (nh)
に対して次式が成り立つ。(47) | I − T
h,N| ≤ ∥ f ∥
exp ( − 2πd/h)
1 − exp ( − 2πd/h) Λ(w, d − 0) + h X
|k|>N
w(kh)
.
証明 まず
| f(z) | ≤ ∥ f ∥ | w(z) |
に注意する。これからΛ(f, d − 0) ≤ ∥ f ∥ Λ(w, d − 0).
三角不等式から
(♯) | I − T
h,N| ≤ | I − T
h| + | T
h− T
h,N| . (♯)
の右辺第1
項については、補題6.1
を用いて| I − T
h| ≤ Λ(f , d − 0) exp( − 2πd/h)
1 − exp( − 2πd/h) ≤ ∥ f ∥ Λ(w, d − 0) exp( − 2πd/h) 1 − exp( − 2πd/h) . (♯)
の右辺第2
項については| T
h− T
h,N| = h X
|k|>N
f (kh)
≤ h X
|k|>N
| f(kh) | ≤ h ∥ f ∥ X
|k|>N
| w(kh) | .
ゆえに| I − T
h,N| ≤ ∥ f ∥
exp( − 2πd/h)
1 − exp( − 2πd/h) Λ(w, d − 0) + h X
|k|>N
| w(kh) |
.
6.2 DE 公式の誤差解析
(
工事中)
例
6.3 0 < A <
2dπ を満たすA
に対して、w(z) := 1 cosh(Az)
とおくとき、X
|k|>N
w(kh) ≤ 4 exp ( − Ah (N + 1)) 1 − exp ( − Ah) .
ゆえに2πd
h = AN h
となるようにh, N
を選ぶと、| I − T
n,N| ≤ C ∥ f ∥ exp − √
2πAd √ N
.
例6.4
w(z) := d dz tanh
π 2 sinh z
=
π 2
cosh z cosh
2 π2sinh z
とおくと、x → ±∞
のときw(x) ≃ π exp − π
2 exp | x | + | x | . h, N
を2πd h = π
2 exp (N h)
と選ぶと| I − T
h,N| ≤ C ∥ f ∥ exp ( − CN/ log N ) .
(
下書き)
すでに述べたようにw(z) := φ
′1(z) = d dz tanh
π 2 sinh z
=
π 2
cosh z cosh
2 π2sinh z
とおくと、これは遠方で二重指数関数的に減衰する。実際w(x) ≃ π exp − π
2 exp | x | + | x |
( R ∋ x → ±∞ ).
2πd h = π
2 exp(N h)
を満たすように
h, N
をとると、| I
h− I | ≒ | I
h− I
h,N|
となることが期待できて| I
h,N− I | ≤ C
′∥ f ∥ exp ( − CN/ log N )
が導ける。これは
N
が2
倍になると、誤差が2
乗になる、すなわち有効桁数が2
倍近くになる ことを意味している。高橋・森は色々な
w
を考えた末に、ここにあげたような(
二重指数関数的に減衰する) w
が最 良の結果を生じると論じた([5])
。
ドキュメント内
数値積分解説
(ページ 31-35)