1. はじめに

1
2009 年 08 月 27 日

漸近展開の計算について
新潟工科大学 情報電子工学科 竹野茂治

1

はじめにある工学系の論文で、誤差関数や変形ベッセル関数が現れていて、その漸近展開を利用した近似計算が行われているのを目にする機会があった。
そのような漸近展開式は、辞典や公式集を参照すれば探し出すことはできるだろうが、実際にそれらをどのようにして導くのか、という説明はあまり普通の解析の本には載っていないように思う。
ここでは、漸近展開の例として、これらの関数に対する計算を紹介したい。

2漸近展開とは[1] によれば、漸近展開の定義は以下のようになる。

定義 1
f (x) ∼ φ0 (x) + φ1 (x) + · · ·(1)(右辺は有限和、あるいは無限和) が、f (x) の 漸近展開 であるとは、各 n(≥ 0) に対し、x → ∞ に関して次の 2 つが成り立つことである。
1. φn+1 (x) = o(φn (x)), すなわち、
lim

x→∞

φn+1 (x)=0φn (x)

2. f (x) − (φ0 (x) + φ1 (x) + · · · + φn (x)) = O(φn+1 (x)), すなわち、
f (x) − (φ0 (x) + φ1 (x) + · · · + φn (x))φn+1 (x)が x → ∞ に関して有界(2)

2. 漸近展開とは2

この (2) の n = 0 の場合は f (x)/φ0 (x) が有界であることを意味するが、n = 1 の場合を考えると、(f (x) − φ0 (x))/φ1 (x) は有界で、φ1 (x)/φ0 (x) は 0 に収束するので、(limx→∞)f (x)f (x) − φ0 (x) φ1 (x)− 1 = lim=0x→∞
φ0 (x)
φ1 (x)
φ0 (x)となり、結局

lim

f (x)

x→∞ φ (x)0=1(3)となる。同様に、(1) の右辺が少なくとも φn+1 まで続いていれば、

lim

x→∞

f (x) − (φ0 (x) + φ1 (x) + · · · + φn−1 (x))=1φn (x)が成り立つ。
つまり、f (x) ∼ φ0 (x) は (3) の意味で x → ∞ における第 1 近似、f (x) ∼ φ0 (x)+φ1 (x)は、

f (x) − φ0 (x)=1x→∞φ1 (x)
limの意味で x → ∞ における第 2 近似、といったものを表していることになる。
しかし、特に f (x) が x → ∞ のときに無限大に発散してしまう場合は、テイラー展開などとは異なり、誤差、すなわち左辺と右辺の差が x → ∞ のときに小さくなる、というわけではないことに注意する必要がある。
例えば、µf1 (x) = ex

12+ 2x x¶の場合、第 1 近似は f (x) ∼ ex /x (= φ0 (x)) であるが、これは、2f1 (x)= 1 + → 1 (x → ∞)xe /xxを意味するのであって、f1 (x) −ex→ 0 (x → ∞)xを意味するのではない。実際、この場合は、

f1 (x) −ex
2ex= 2 → ∞ (x → ∞)xx

2. 漸近展開とは3となっているから差は小さくはない。
また、f (x) が x → ∞ のときに有限であっても、テイラー展開のように、f (x) ∼ a0 +a1 a2 a3+ 2 + 3 + ···xxxのようになる、すなわち x = 1/t として f (1/t) の t = +0 でのテイラー展開を考えればよい、というわけでもないことに注意する。例えば、

f2 (x) = e−x (x + 2x2 )の場合、x → ∞ のときに f2 (x) → 0 であるが、µ ¶g(t) = f2

µ112= e−1/t+ 2tt t¶とすると、容易にわかるように g(t) の n 階微分は、ある (2n + 2) 次の多項式 hn (T )を用いて、

g (n) (t) = e−1/t hnµ ¶1tと書けるから、

g (n) (+0) = lim e−1/t hnt→+0µ ¶1=0tとなり、よって g の t = +0 でのテイラー展開のすべての係数は 0 になってしまう。
また、漸近展開は一意的でないことにも注意する。例えば上の f2 (x) の場合、定義からすれば第 1 近似 (φ0 (x)) はf (x) ∼ 2x2 e−x
でもf (x) ∼ (2x2 + 1)e−xでも構わない。もちろん、より単純な式の方を取るのが普通である。
さらに、漸近展開 (1) の右辺が無限和である場合、それは収束する級数であるとは限らないことに注意する。これは、3 節の最後に例を紹介する。

3. 誤差関数の漸近展開

4誤差関数の漸近展開

3

漸近展開の対象となる関数は、それなりに厄介な関数である場合が多く、またテイラー展開のように決まった方法もあまりないので、個別に特別な方法で求めていくことが多いようである。本節ではまずそのような例の 1 つとして誤差関数 erf x の漸近展開を考えてみることにする。

erf x は、次の式で定義される関数である。
2 Z x −t2erf x = √e dt
π 0e−t の不定積分を簡単な関数で表すことはできないので、erf x を積分を使わずに書くことはできない。
2

しかし、erf x は微分が22(erf x)0 = √ e−xπと簡単な式で書けるので、erf x の場合はロピタルの定理を用いて漸近展開を得ることができる。
よく知られているように、√Z ∞π−t2e dt =20であるから、

2 Z ∞ −t2lim erf x = √e dt = 1x→∞π 0となる。これは、φ0 (x) = 1 が第 1 近似であることを示している。第 2 近似は

erf x − 1=1x→∞ φ (x)1lim(4)となる φ1 を見つければよいのであるが、(4) の分子を荒く評価すると、¯¯Z ∞¯2 ¯¯Z x −t222 Z ∞ −t22−t2 ¯| erf x − 1| = √ ¯ e dt −e dt ≤ √ e−xe dt¯ = √π 0π xπ0であるから、erf x − 1 = O(e−x ) であることがわかる。よって (erf x − 1)/e−x の極限を考えてみると、これは 0/0 の不定形なので、ロピタルの定理により、
22

erf x − 12
(erf x − 1)0e−x√
=
lim
=
lim
=0x→∞
e−x2
(e−x2 )0
π x→∞ −2xe−x22limx→∞

3. 誤差関数の漸近展開5となってしまうので、実際には erf x − 1 = o(e−x ) であり、この分母では少し大きい。
よって、
2a1 e−x√φ1 (x) =π x2としてみると、

a1φ01 (x) = √πx(−2xe−x2µa1a1122) − √ 2 e−x = √ e−x −2 − 2πxπx¶であるから、a1 = −1 とすれば (4) が成り立つことがロピタルの定理によりわかる。
すなわち第 2 近似は、

12erf x ∼ 1 − √ e−xπx(5)となる。同様に第 3 近似は√2erf x − 1 + e−x /( πx)→1φ2 (x)(6)となる φ2 (x) を見つければよいが、

e−x2e−x((6) の分子) = √ + √ππ220µ1−2 − 2x¶1 e−x= −√π x2なのでa2 e−xφ2 (x) = √π x32とすればe−xπ x2a2φ02 (x) = √2µ3−2 − 2x¶となるから a2 = 1/2 とすればよい。よって第 3 近似は、

e−xerf x ∼ 1 + √π2µ11− + 3x 2x¶となる。以下、同様に第 (N + 2) 近似は
Ne−x X
akerf x ∼ 1 + √2k+1
π k=0 x223. 誤差関数の漸近展開

6の形となる。この ak を求める。この場合は、−1e−x NXakerf x − 1 − √2k+1π k=0 x2e−x aN√π x2N +12→ 1 (x → ∞)(7)となるわけであるが、
Ã((7) の分母)e−x= √π((7) の分子)02e−xe−x= √ − √π
π202aN(2N + 1)aN− 2N −xx2N +22e−x= √π22ÃÃ−2xN−1X

N−1X!

,ak

k=0 xNX

2k+1−N−1X
k=0ak!

(2k + 1) 2k+2x2ak
ak−12++(2k − 1) 2k2kx
k=0 x
k=1!

(8)

であるから、(7) が成り立つには、(8) のかっこ内の 1/x0 から 1/x2N −2 までの項がすべて消える必要がある。よって、

a0 = −1,ak = −2k − 1ak−12が成り立つ必要があり、ここから
Ãak!Ã

!

2k − 12k − 32k − 1ak−1 = −−
ak−2 = · · ·= −
222
Ã!Ã
!
µ¶
2k − 12k − 31(2k − 1)!!
−· · · − a0 = (−1)k+1= −2222kとなることがわかる。ここで、m!! は、(m!! =(2k − 1)(2k − 3) · · · 3 · 1 (m = 2k − 1 のとき)(2k)(2k − 2) · · · 4 · 2(m = 2k のとき)を表す記号で、さらに 0!! = (−1)!! = 1 であるとする。なお、この m!! は、以下のように通常の階乗を用いて表すこともできる。

(2k)!! = (2k)(2k − 2) · · · 4 · 2 = 2k k!,(2k − 1)!! = (2k − 1)(2k − 3) · · · 3 · 1 =(2k)!
(2k)!
= k
2k(2k − 2) · · · 4 · 22 k!

4. 変形ベッセル関数の漸近展開

7

結局、erf x の漸近展開は∞(2k − 1)!! 1
e−x X(−1)k+1
erf x ∼ 1 + √π k=02kx2k+12e−x= 1+ √π2µ1
13·1 5·3·1− + 3− 5 +− ···x 2x4x8x7¶(9)となることがわかった。
なお、(9) の右辺は無限和の形で書いているが、¯¯¯ (2k − 1)!! ¯¯¯¯ k 2k+1 ¯ → ∞¯ 2 x¯(10)であるから、この級数は無限級数としては発散級数であり、よってこの右辺はあくまで定義 1 の意味での和であることに注意する。
この (10) が成り立つことは、次の項との絶対値の比を考えればわかる。その比は¯¯,¯ (2k + 1)!!
(2k − 1)!! ¯¯ 2k + 1¯¯ k+1 2k+3¯=
¯2x
2k x2k+1 ¯2x2であるが、これはどのような x に対しても、あるところからは 1 を越えて大きくなる。
(10) の左辺はそのような数を順にかけて作られる数列であるから、よって (10) が成り立つことになる。

4

変形ベッセル関数の漸近展開

次に、変形ベッセル関数 I0 (x) の漸近展開を考える。I0 (x) は、次のテイラー展開の形で定義される。
∞X(∞X
x2nxn
I0 (x) ==2n2n=0 2 (n!)
n=0 (2n)!!

)2(11)

これは、元々 0 次のベッセル関数

J0 (x) =∞X

x2n(−1)n 2n2 (n!)2n=0に対し、(−1)n を取ったもの、すなわち I0 (x) = J0 (ix) としたものであり、そのため「変形」ベッセル関数と呼ばれる。I0 (x) の漸近展開を求めるには (11) のテイラー展開のままでは難しいので、次のような公式を利用する。

I0 (x) =1Zπcosh(x sin t) dt
π 0(12)

4. 変形ベッセル関数の漸近展開

8

まず、この公式が成り立つことを示そう。cosh z のマクローリン展開は、

ez + e−z1
cosh z ==22(∞X znn=0 n!

+∞X(−1)n z nn=0n!

)=∞
Xz 2mm=0 (2m)!

であるから、(12) の右辺は、∞∞
X1ZπXx2m sin2m tx2m 1 Z π 2msin t dt
dt =π 0 m=0 (2m)!
m=0 (2m)! π 0(13)となる。ここで、
Z π

bm =

sin2m t dt0とすると、部分積分により、
Z π

bm =(− cos t)0 sin2m−1 t dt0

= [− cos t sin2m−1 t]π0 += (2m − 1)

Z π2Z πcos t sin00(cos t)(2m − 1) sin2m−2 t cos t dt2m−2t dt = (2m − 1)Z π0

(1 − sin2 t) sin2m−2 t dt

= (2m − 1)bm−1 − (2m − 1)bmとなるから、

bm =2m − 1bm−1 ,
2mb0 = πとなる。よって、

bm =2m − 12m − 1 2m − 3(2m − 1)!!
(2m)!
bm−1 =
bm−2 = · · · =b0 = 2m
π
2m
2m 2m − 2(2m)!!
2 (m!)2が得られる。これを (13) の右辺に代入すれば (11) になるので、(12) が示されたことになる。
さて、(12) は、

1 Z π ex sin t + e−x sin t
1 Z π/2 ex cos y + e−x cos ydt =dyπ 02π −π/221 Z π/2 −x cos y
1 Z π/2 x cos y=edy +edyπ 0π 0I0 (x) =4. 変形ベッセル関数の漸近展開9と書き直すこともできるので、よって、

1 Z π/2 ±x cos y
g± (x) =edyπ 0とし、この g+ , g− , それぞれの漸近展開を求めることにする。なお、明らかに g+ の方が g− より大きいので、I0 の主要な展開項は g+ の方であることが予想される。
まず、g− (x) を考えよう。0 < y < π/2 では 0 < cos y < 1 だから、x → ∞ のとき、

lim g− (x) =x→∞1 Z π/20 dy = 0π 0となることがわかる。よって、この 0 への収束の速さ (オーダー) をまず考えてみる。

e−x cos y の 1 への収束は、cos y が 0 に近い程遅くなる。つまりその近くが最も大きな項を与えると予想される。よって g− (x) をさらに 2 つに分け、1 Z π/3 −x cos y
g1 (x) =edy,π 0

1 Z π/2 −x cos y
g2 (x) =edy
π π/3とすると、この g2 (x) の方が主要部となる。なお、π/3 自体にはあまり意味はなく、0から π/2 のどこで分けても構わない。

g1 (x) では、1/2 < cos y < 1 であるから、
1 Z π/3 −x/2
10 ≤ g1 (x) ≤edy = e−x/2
π 03(14)となるので、g1 (x) = O(e−x/2 ) となる。
一方 g2 (x) の方は、cos y = t とすると、g2 (x) =1 Z 1/2 e−xt√dt
π 01 − t2√√となるが、0 < t < 1/2 では 1 < 1/ 1 − t2 < 2/ 3 であるので、
2 Z 1/2 −xt
2 1 − e−x/20 ≤ g2 (x) ≤ √e dt = √x
3π 03πとなるから、g2 (x) = O(1/x) であることがわかる。
つまり、g− (x) の最も大きい項は g2 (x) の O(1/x) の項だろうと予想される。実際、部
分積分により、

1 Z 1/2 xe−xt
1 Z 1/21√√xg2 (x) =dt =(−e−xt )t dt22π 0π 01−t1−t4. 変形ベッセル関数の漸近展開"10Ã

#1/2!0Z 1/2111−xt√√=(−e)+e−xt dt
2π01 − t21−tÃ! 0Z1/21t2=1 − √ e−x/2 +e−xt dt
π(1 − t2 )3/203(15)となり、よって xg2 (x) → 1/π となることがわかる。一方、(14) より xg1 (x) → 0 であるから、よって g− (x) の第 1 近似は、

g− (x) ∼1πxとなる。

√次に第 2 近似を考える。(15) で g4 (t) = 1/ 1 − t2 とすると、再び部分積分により、µx2¶Z 1/212−x/2√g2 (x) −=−xe+g40 (t)xe−xt dt
πx03πZ 1/2= o(1) +·0g40 (t)(−e−xt )t dt¸Z 1/21/211= o(1) + − g40 (t)e−xt+g400 (t)e−xt dt = o(1) + g40 (0)ππ00となるから、これと (14) よりµx2¶11g− (x) −→ g40 (0)πxπとなることがわかる。よって、

g− (x) ∼11+ 2 g40 (0)πx πxとなる。これを繰り返せば、結局∞1X
g4 (0)
π n=0 xn+1(n)g− (x) ∼(16)(n)であることがわかる。よって後は g4 (0) を求めればよいが、一般二項定理を用いれば、∞
X
12 −1/2=(1−t)=g4 (t) = √1 − t2m=0Ã−1/2m!

(−1)m t2mとなるので、
Ã(2m−1)
g4(0) = 0,(2m)g4 (0) = (2m)!

−1/2m!

(−1)m

4. 変形ベッセル関数の漸近展開

11がわかる。ここで、二項係数は
Ã−1/2m!

µ¶µ32m − 1
1− − ··· −22= 2m!

¶= (−1)m(2m − 1)!!
(2m − 1)!!
= (−1)mm
2 m!
(2m)!!となるので、(2m)

g4(0) = (2m)!

(2m − 1)!!
= {(2m − 1)!!}2m2 m!となり、(16) より結局 g− (x) の漸近展開は、g− (x) ∼∞1X{(2n − 1)!!}2π n=0x2n+1(17)であることがわかる。
次に、むしろ I0 (x) の主要項である g+ (x) の方を考える。g+ (x) は、x → ∞ のときに明らかに無限大に発散するが、e−x g+ (x) =1 Z π/2 −x(1−cos y)edyπ 0(18)は、0 < 1 − cos y < 1 より 0 に収束する。よって、g+ (x) = o(ex ) であるから、まずこの e−x g+ (x) の 0 への収束オーダーを考えてみる。
q

今、1 − cos y = t とすると、dy = dt/ sin y = dt/ t(2 − t) であるから、

e−x g+ (x) =1 Z 1 e−xtqdt
π 0t(2 − t)√√となるが、1/ 2 < 1/ 2 − t < 1 なので、xt = s とすれば、11 Z 1 1 −xt
1 Z x e−s√√ ds √e g+ (x) ≤e dt =π 0π 0sxt−xとなり、さらにZ x0√s = u とすると、√Z ∞Z x√e−s2−u2√ ds = 2e du → 2e−u du = πs00√√であるから、e−x g+ (x) = O(1/ x) となる。よって、 xe−x g+ (x) の極限を考えてみよう。

4. 変形ベッセル関数の漸近展開

12

今、上のように、1 − cos y = s/x = u2 /x とすると、

2u2u12duv
dy =
du =du = √=Ã!
u22x sin yx u2x−u2ut
1− 1−xs2dusxu21−2xとなるから、(18) は

√√ Z√
!−1/2
Ãx2u2−u2duxe g+ (x) =e1−π 02x−xとなる。0 < u <√√x のとき 1/2 < 1 − u2 /(2x) < 1 に注意すると、(19) より√ Z
2 ∞ −u21xe g+ (x) →e du = √π 02π−xが言えるので、g+ (x) の第 1 近似はg+ (x) ∼ √1ex2πxとなる。

√√
第 2 近似は、x( xe−x g+ (x) − 1/ 2π) の極限を考える。(19) より、
Ã√!

1xxe g+ (x) − √2π√ Ã!
√√ Z2 −1/2x2uπ
−u2= xe
1−du−π  02x2 √ Z√Ã!
Z ∞2 −1/2x2
u22− 1 du − √ e−u du= xe−u  1 −π2x0x−xと変形すると、
Ã


u2x1−
2x!−1/2q−1

1 − 1 − u2 /(2x)u2u2qno →= x q= q4
1 − u2 /(2x)2 1 − u2 /(2x) 1 + 1 − u2 /(2x)(19)

4. 変形ベッセル関数の漸近展開13となる。また erf x の漸近展開式 (5) より、
Z ∞(√−u2lim x √ e du = x→∞
lim xx√e−xπ=lim x √=02 x→∞πxx→∞)
√√
√
√
ππ
π−erf( x) =limx(1−erf(x))
222 x→∞であるから、
Ã√x

1xe g+ (x) − √2π!

−x

√ Z2 ∞ u2 −u2→e duπ 0 4となることがわかる。
これは、より形式的に次のようにしても得られる。一般二項定理
Ãu21−2x!−1/2=∞
Xm=0Ã−1/2m!

Ãm(−1)

u22x!m=∞X(2m − 1)!! u2mm=0(2m)!!

(2x)mより、(19) から√√ Z√ ∞x X (2m − 1)!! u2m
22xe g+ (x) =e−u dumπ 0(2m)!! (2x)√ Z √ m=0!
Ãx2
1 u2 3 · 1 u4−u2=++···edu1+π 02 2x 4 · 2 4x2−xであるから、
Ã√!

1xxe−x g+ (x) − √2π√ (Z √ Ã!
√ )x2
1 u2 3 · 1 u4π−u2= x++ · · · e du −1+2π2 2x 4 · 2 4x20
√ ()Z ∞Z √xZ √x Ã 2 !
21u−u22 −u2−u2=−x √ e du +u e du +Oe du
π4 0xx0√ ( Ã −x !
√µ ¶)1 Z x 2 −u22e1xO √+u e du + O=πx4 0x√ Z
2 ∞ 2 −u2→u e du
4π 0となる。

(20)

5. 最後に14Z √x

そしてこの計算を繰り返すことにより、実は (20) の右辺のを0Z ∞にしたものが0(20) の左辺の漸近展開であることがわかる。
√∞(2m − 1)!! 12 ex X
√g+ (x) ∼πx m=0 2m (2m)!! xmZ ∞u2m e−u du2(21)0後はこの最後の積分を求めればよい。今、

βm =

Z ∞

u2m e−u du20とすると、部分積分により、

βmZ ∞Ã

!

u2m−12−=(e−u )0 du
20"#∞
2m−1u1Z ∞2m − 12−u2= −eβm−1+(2m − 1)u2m−2 e−u du =22 020となるので、√(2m − 1)!!
(2m − 1)!! π
βm =
β0 =
2m2m2となり、結局 (21) は∞{(2m − 1)!!}2 1
ex X√
g+ (x) ∼2πx m=0 22m (2m)!! xm
Ã
!
ex
12 1
(3 · 1)2 1(5 · 3 · 1)2 1= √1++++ ···
4 · 2 x 42 · 4 · 2 x2 43 · 6 · 4 · 2 x32πx(22)のようになる。

g− (x) の漸近展開 (17) と g+ (x) の漸近展開 (22) を比較すると、明らかに (22) の各項は (17) のすべての項より大きいので、結局 (22) が I0 (x) の漸近展開であることがわかる。

5最後に

本稿では、誤差関数 erf x と変形ベッセル関数 I0 (x) の漸近展開の計算方法を紹介した。
いずれも、個々に特別な方法ではあるが、基本的には収束オーダーを予想して、その比の極限を求める、という計算をしていることがわかるだろう。

5. 最後に15

なお、漸近展開を求める方法は、[1] には他に、Laplace の方法、停留位相の方法、鞍部点法 (最速降下法) などが紹介されているが、いずれもそれほどやさしいわけでも一般性があるわけでもなく、本稿のように極限と部分積分などで地道に求める方法も有効であることが多い。
また、本稿では積分と極限、あるいは積分と級数の交換については厳密な議論、すなわちそれが可能であるかどうかの条件のチェックを省略したが、その辺りは、結果の漸近展開式 (発散級数) 以外は一応大丈夫だと思う。

参考文献[1] 「岩波数学辞典 第 3 版」208 漸近級数 (p563–565)、日本数学会編集、岩波書店