• Tidak ada hasil yang ditemukan

これは一般の区間 [a, b] の場合には

Dalam dokumen 数値積分ノート (Halaman 37-42)

I

3

= b a 3

(

f(a) + 4f

( a + b 2

)

+ f (b) )

に対応している

(Simpson

公式)。また

Λ(z) = 2

z + 2 3z

3

+ 2

3z

5

+ 2

3z

5

+ · · · (1 < | z | < ).

これから

Ψ(z) = Φ(z ) Λ(z) = 2 [( 1

5 1 3

) 1 z

5

+

( 1 7 1

3 ) 1

z

7

+ · · · ]

= 4

15z

5

8

21z

7

− · · ·

ゆえに

a

1

= a

2

= a

3

= a

4

= 0.

これは

4

位の公式であることを示す。

n = 4

の場合

(ここから先は、あまり実用にならない公式なので、理論を確かめる興味くら

いしかない。計算はかなり面倒になってくるが、

Mathematica

を使えるならば簡単である。

) F

4

(z) = (z + 1)

( z + 1

3 ) (

z 1 3

)

(z 1) = z

4

10 9 z

2

+ 1

9 . F

4

(z)Φ(z) = 2

( 1 z + 1

3z

3

+ 1 5z

5

+ 1

7z

7

+ · · · ) (

z

4

10 9 z

2

+ 1

9 )

= 2z

3

14

9 z + · · ·

であるから、

G

4

(z) = 2z

3

14

9 z.

Λ(z) = G

4

(z) F

4

(z) =

2z

3

14 9 z (z + 1) (

z +

13

) ( z

13

)

(z 1) = 1 4 · 1

z + 1 + 9 4 · 1

z + 1/3 + 9 4 · 1

z 1/3 + 1 4 · 1

z 1 .

ゆえに

x

1

= 1, w

1

= 1

4 , x

2

= 1/3, w

2

= 9

4 , x

3

= 1/3, w

3

= 9

4 , x

4

= 1, w

4

= 1 4 . I

4

= 1

4 (

f ( 1) + 9f (

1 3

) + 9f

( 1 3

)

+ f(1) )

.

これは一般の区間

[a, b]

の場合には

I

4

= b a 4

(

f(a) + 9f

( 2a + b 3

) + 9f

( a + 2b 3

)

+ f (b) )

に対応している。また

Λ(z) = 2 z + 2

3z

3

+ 14

27z

5

+ · · · Φ(z) Λ(z) = 16

135z

5

368

1701z

7

− · · ·

ゆえに

a

1

= a

2

= a

3

= a

4

= 0.

これは

4

位の公式であることを示す

(n = 3

の場合よりも複雑 になったのに、位数は改善されない

)

n = 5

の場合

G

5

(z) = 2z

4

11

6 z

2

+ 1 15 , Λ(z) = G

5

(z)

F

5

(z) = 1 90

( 14

z + 1 + 64

z + 1/2 + 24

z + 64

z 1/2 + 14 z 1

) .

Ψ(z) = Φ(z) Λ(z) = 1

21z

7

17

180z

9

23

176z

11

− · · ·

ゆえに位数は

6.

Mathematica

Series[

, {

変数

,

,

次数

} ]

で、

Taylor

展開や

Laurent

展開の最初 の有限項の計算が出来る。点として

Infinity

が指定できて、無限遠点の周りの

Laurent

展 開が計算出来る。有限項しか得られないが、それで一般項を推測出来れば、

Sum[ ]

を使って、

その推測が正しいかチェックすることが出来る。

「複素関数」でやった計算を

Mathematica

にさせてみる

f[z_]:=1/(3+z)

Series[f[z],{z,0,4}]

Series[f[z],{z,Infinity,4}]

これで

0

の周りの

Taylor

展開

1

3 + z = 1 3 z

9 + z

2

27 z

3

81 + z

4

243 + O(z

5

),

の周りの

Laurent

展開

1

3 + z = 1 z 3

z

2

+ 9 z

3

27

z

4

+ O ( 1

z

5

)

が得られる。

なお、

Apart[]

で部分分数分解が出来る。

6.5

Mathematica

でどう計算したか

Phi[z_]:=Log[(z+1)/(z-1)]

Series[Phi[z],{z,Infinity,10}]

F[n_,z_]:=Product[(z-(-1+2(j-1)/(n-1))),{j,1,n}]

Series[Phi[z]F[3,z],{z,Infinity,10}]

この結果を読み取る。

G3[z_]:=2z^2-4/3 Apart[G3[z]/F[3,z]]

Series[Phi[z]-G3[z]/F[3,z],{z,Infnitiy,10}]

もう少し自動化出来る。

G[n_,z_]:=Normal[Series[Phi[z] F[n,z],{z,Infinity,0}]]

G[3,z]

Apart[G[3,z]/F[3,z]]

Series[Phi[z]-G[3,z]/F[3,z],{z,Infnitiy,10}]

6.7 (26)

の右辺の最初の項

2/z

を取ると、つまり、

Λ(z) =

2z

(F (z) = z, G(z) = 2)

とす ると、

x

1

= 0, w

1

= 2.

これは

(27) I

1

= 2f(0) = (b a)f

( a + b 2

)

ということを意味している。これは中点公式である。

6.4 有理関数の積分への応用

数値積分公式の誤差を、誤差の特性関数の積分の形に表した。そこから先の誤差解析には、

一般には鞍点法と呼ばれる積分の近似計算法が有効であるが、その話をすることは諦め

(

これ については、森

[22], [1]

が参考になる

)

、ここでは簡単な

(

被積分関数が有理関数である

)

場合 だけを考える。この場合は留数定理だけで解決する。

[a, b]

は実軸上の有限区間

(a, b R , a < b), p(x) = 1

とする。このとき、

Φ

(28) Φ(z) =

b a

1

z x dx = Log z a

z b (z C \ [a, b]).

命題

6.8 [a, b]

R

内の閉区間

, P (z), Q(z) C [z], deg P (z) deg Q(z) + 1, ( x [a, b]) P (x) ̸ = 0, f (z) := Q(z)

P (z)

とするとき、

b

a

f (x) dx =

m j=1

Res (f Φ; c

j

) .

ただし、

Φ

(28)

で定義した関数であり、

c

1

, . . . , c

m

P (z)

のすべての零点とする。

(

一松

[4]

p. 118

の定理

5.3

には、

b

a

f(x) dx =

m j=1

Res (f · Φ; α

j

)

と書いてあるが、これは 誤植で、右辺は負号

が落ちていると考えられる。)

証明

(講義をするときは、大きな図を黒板に描くこと。 ) I :=

b

a

f (x) dx

とおく。c1

, · · · , c

m

[a, b]

上にはないので、

[a, b]

を正の向きに一周す区分的に滑らかな単純閉曲線

Γ

を、曲線

上と曲線の囲む範囲に

c

1

, · · · , c

m が存在しないように選べる。既に紹介した論法で次が得ら れる。

(29) I = 1

2πi

Γ

f (z)Φ(z) dz.

R

が十分大きな正数ならば、円

C

R

: | z | = R

は、その内部にすべての

c

j と、

Γ

を含む。この とき、留数定理から

1 2πi

CR

f (z)Φ(z) dz I = 1 2πi

CRΓ

f (z)Φ(z) dz =

m j=1

Res (; c

j

) .

z → ∞

のとき

Φ(z) 0

であるから、十分遠方では、

| f(z)Φ(z) | ≤ M

| z |

2 が成り立つので、

R → ∞

とするとき、

1 2πi

CR

f(z)Φ(z) dz 0.

ゆえに

I =

m j=1

Res (; c

j

) .

6.9 [a, b]

R

内の閉区間

, P (z), Q(z) C [z], deg P (z) deg Q(z) + 1, ( x [a, b]) p(x) ̸ = 0, f (z) := q(z)

P (z)

とするとき、

I =

b

a

f (x) dx

I

n

=

n k=1

w

k

f(x

k

)

で数値積分す ると

I I

n

=

m j=1

Res (f · Ψ ; c

j

) , Ψ (z) := Log z a z b

n k=1

w

k

z x

k

.

ただし

c

1

, . . . , c

m

P (z)

のすべての零点とする。

証明 命題

6.8

の証明と同様にして、

I

n

=

m j=1

Res (f Λ; c

j

) .

ゆえに

I I

n

=

m j=1

(Res (fΦ; c

j

) Res (f Λ; c

j

)) =

m j=1

Res (f Λ); c

j

)

=

m j=1

Res (fΨ; c

j

) .

(f · Ψ

の留数を計算出来るくらいならば、

f · Φ

の留数を計算して、

I

を求めることが出来 る場合が多いはずである。系

6.9

は、何のために使うのか、ちょっと変な感じがしないでもな い。しかし、誤差のメカニズムが見える式で、参考になる。実際に後の数値例

6.12

は面白い

(

初めて理解したとき少し震えました

)

)

余談

6.10 (29)

をこれまでは、

Cauchy

の積分公式と積分の順序交換を用いて証明したが、

ε

lim

+0

(

Log z a z b

z=x+

Log z a z b

z=x

)

= 2πi

を用いて、積分路の変形で証明することも出来る。というか、そういう解説をしてある文書が 割と多い。

2. c

f

1

位の極ならば、Res(f

Φ; c) = Res(f ; c)Φ(c)

であることを示せ。

6.11 (

命題

6.8

の直接的な応用

)

I =

1

1

dx

x

4

+ 1 .

この場合は

Φ(z) = Log z + 1

z 1 . c

z

4

+ 1 = 0

の根であるとき、

c

f (z) := 1

z

4

+ 1

1

位の 極であり、

Res (f Φ; c) = Φ(c) Res(f; c) = Φ(c) 1 (z

4

+ 1)

z=c

= Φ(c) 1

4c

3

= Φ(c) c

4c

4

= cΦ(c) 4

であるから

I =

c=1+i 2,1+i

2 ,1−i 2 ,1−i

2

Res (f Φ; c) = 1 4

c=1+i 2,1+i

2 ,1−i 2 ,1−i

2

cΦ(c)

= 1

2 Log (

1 + 2

)

+ π

2 2 .

最後のところの計算は実は少し面倒で、あまり試験向きではない。教師として残念だ

(笑)。

Mathematica

にやらせてみたら

π + arctanh(2 2/3) 2

2

となった。一応一致しているようだ

(

ち ょっと分かりにくい…

)

6.5 誤差の特性関数の例 (1) 有限区間の場合の古典的公式

[a, b] = [ 1, 1], p(x) = 1

の場合の

21

点複合シンプソン公式

S

20

a = 1, b = 1, m = 10, n = 2m + 1, h = b a 2m , Λ(z) = h

3 (

f(a) + 2

m1

j=1

f (a + 2jh) + 4

m j=1

f(a + (2j 1)h) )

+ f (b).

これは

x

k

= a + kh (k = 0, 1, . . . , 2m), w

k

=

 

 

h/3 (k = 0, 2m)

2h/3 (k = 2j , j = 1, 2, . . . , m 1) 4h/3 (k = 2j 1, j = 1, 2, . . . , m)

とおくと、

Λ(z) =

2m k=0

w

k

z x

k と書ける。

Φ(z) = Log z + 1

z 1 , Ψ(z) = Φ(z) Λ(z)

として、

| Ψ(z) | ( 4 Re z 4, 4 Im z 4)

の等高線を描いてみる。

(これは森 [1]

にある図と見比べるためである。)

プログラムは、付録

G

を見よ。

z

平面において、積分区間

[a, b]

から遠ざかると、

| Ψ(z) |

が急速に減少することが分かる。

このような挙動が多くの数値積分公式に共通して見られることは、6.3 で述べたことから理解 できる。

この図は実際的な誤差評価に使うことが出来る。

-4 -2 0 2 4 -4

-2 0 2 4

-8 -7 -6 -5 -4

12: 21

点複合シンプソン公式の誤差の

特性関数

(絶対値の常用対数)

13:

[21]

から

| Φ

n

(z) | for Simpson’s formula (h = 0.1)

6.12 (

[21]

から引用

) I =

1

1

1

x 2 dx = log 3 = 1.0986 12288 · · ·

被積分関数は有理関数で、

2

を唯一の極に持つ。留数は

Res ( 1

z 2 ; 2 )

= 1,

Dalam dokumen 数値積分ノート (Halaman 37-42)