佐藤超函数論

佐藤超函数論と数値解析への応用
電気通信大学オープンキャンパス

緒方秀教
電気通信大学大学院

情報理工学研究科

情報・ネットワーク工学専攻

2020 年 11 月

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

序：佐藤超函数とは…

Dirac のデルタ関数(∞ (x =0)
δ(x) =0( x 6= 0 ),Z ∞ϕ(x)δ(x)dx = ϕ(0).

−∞

数学的な正当化…佐藤超函数の理論（，Schwartz 超函数）
佐藤超函数論は実は数値解析にも応用できる．

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

序：佐藤超函数とは…
佐藤超函数：一般化関数を複素解析関数で表現したもの

−1,2πiz
Z bI−1ϕ(z)dz
δ(x)ϕ(x)dx ≡ −C 2πiz
a= ϕ(0).
δ(x) ≡CabO

複素解析関数：遠くの 2 点における値が密接に結びついている．
佐藤超函数の言葉を使って，この複素解析関数の性質を数値計算に利用したい．
佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

1. 佐藤超函数論

佐藤超函数論（佐藤幹夫，1958 年）
複素関数論に基く一般化関数の理論
超函数 · · · ある解析関数 F (z) の境界値の差f (x) = [F (z)] ≡ F (x + i0) − F (x − i0).

解析関数 F (z) · · · 超函数 f (x) の定義関数

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

1. 佐藤超函数論：超函数の例

Dirac のデルタ関数
1δ(x) = −2πi

11−x + i0 x − i0

.

Heaviside のステップ関数(1 x >01Y (x) ==−{log(−(x + i0)) − log(−(x − i0))} .
2πi0 x <0log z は主値をとる（x > 0 に対し log x ∈ R なる分枝）．

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ佐藤超函数論

1. 佐藤超函数論

Re F(z)

0.5
0.4
0.3
0.20.1
Re F(z) 0-0.1-0.2-0.3-0.4-0.5

6420-2-4-6-1-0.5

0Re z

0.5

1 -10-0.5

10.5
Im z

δ(x) の定義関数−1F (z) =2πiz

超函数-2 -1.50-0.5-1 -0.5-10 0.5
1 1.5 -2-1.5
Re z
20.5

11.5

2Im zY (x) の定義関数
F (z) =−1log(−z)
2πif (x) = F (x + i0) − F (x − i0),F (z) : 定義関数.
佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

1. 佐藤超函数論：超函数の演算
超関数の計算は定義関数を使って行う．
線形演算（和とスカラー倍）：超函数 f (x) = [F (z)], g (x) = [G (z)] と定数 a, b に対して，

af (x) + bg (x) ≡ [aF (z) + bG (z)]= (aF + bG )(x + i0) − (aF + bG )(x − i0).
微分（導関数）：超関数 f (x) = [F (z)] に対して，

f ′ (x) ≡ [F ′ (z)] = F ′ (x + i0) − F ′ (x − i0).
超函数は何回でも微分可能である．

超函数 f (x) = [F (z)] と実解析関数 ϕ(x) との掛け算：

ϕ(x)f (x) ≡ [ϕ(z)F (z)] = (ϕF )(x + i0) − (ϕF )(x − i0).
佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

1. 佐藤超函数論：超函数の積分
超函数 f (x) = F (x + i0) − F (x − i0) の積分Z baf (x)dx =Z b

F (x + i0) − F (x − i0)dx = −IF (z)dz,

Ca

C : 区間 [a, b] を正の向きに囲む閉積分路．

abC

以下，複素積分路は被積分関数が解析的である領域を通るものとする．

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

1. 佐藤超函数論：Dirac のデルタ関数を含む積分
11
δ(x − x0 ) = −,2πi z − x0I
Z bϕ(z)1dz = ϕ(x0 ).
ϕ(x)δ(x − x0 )dx =2πi C z − x0
adelta 関数の定義を再現している．

ax0bC
佐藤超函数論と数値解析への応用

緒方秀教

電気通信大学オープ

佐藤超函数論

2. 佐藤超函数論の数値積分への応用
次の形の積分を数値計算することを考える：

Z bϕ(x)w (x)dx,aϕ(x) : [a, b] 上の解析関数
w (x) : 重み関数
Z baϕ(x)w (x)dx =Z

χ(a,b) (x) =ϕ(x)χ(a,b) (x)w (x)dx,{z}超函数とみなす

R|(1 x ∈ (a, b)
0 x∈
6 [a, b].

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ佐藤超函数論

2. 佐藤超函数論の数値積分への応用
超函数 χ(a,b) (x)w (x) の標準定義関数

1W0 (z) ≡=2πiZ

χ(a,b) (x)w (x)1dx =x −z2πiR⇓Z baw (x)dx.
x −zϕ(x)χ(a,b) (x)w (x) = [ϕ(z)W0 (z)]考えている積分は超関数積分の定義より，つぎのように複素積分表示できる．

Z bϕ(x)w (x)dx = −aI

ϕ(z)W0 (z)dz,C

C : [a, b] を正の向きに囲む閉積分路．

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 佐藤超函数論の数値積分への応用
超函数を用いて，求める積分を複素積分に変換する：

Z baIϕ(z)W0 (z)dz,ϕ(x)w (x)dx = −C
Z b1w (x)W0 (z) =dx.
2πi a x − zabC

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 佐藤超函数論の数値積分への応用
超函数を用いて，求める積分を複素積分に変換する：

Z baIϕ(z)W0 (z)dz,ϕ(x)w (x)dx = −C
Z b1w (x)W0 (z) =dx.
2πi a x − zabC

超函数法（数値積分） · · · 右辺の複素積分を台形則で近似．
佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 佐藤超函数論の数値積分への応用
数値積分に対する超函数法
Z baϕ(x)w (x)dx = −Z uperiod≃ −h0N−1
Xϕ(ζ(u))W0 (ζ(u))ζ ′ (u)duϕ(ζ(kh))W0 (ζ(kh))ζ ′ (kh),h=k=0uperiod,NC : z = ζ(u), 0 ≦ u ≦ uperiod （周期関数）.

Dab
C : z = ζ(u), 0 ≦ u ≦ uperiod

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 佐藤超函数論の数値積分への応用
主な重み関数 w (x) と W0 (z)．
区間 (a, b)重み関数 w (x)(−1, 1)1(0, 1)x α−1 (1 − x)β−11z +1log
2πiz −11B(α, β)z −1 F (α, 1; α + β; z −1 ) ∗−2πi（連分数を用いて計算できる）−( α, β > 0 )∗W0 (z)F (a, b; c; x) は超幾何関数：
aba(a + 1)b(b + 1) 2
x+x
1!c2!c(c + 1)
a(a + 1)(a + 2)b(b + 1)(b + 2) 3
x + ···+3!c(c + 1)(c + 2)

F (a, b; c; x) = 1 +佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 佐藤超函数論の数値積分への応用
理論誤差評価
被積分関数 ϕ(z) が [a, b] 上実解析的で,曲線（積分路）C が解析的ならば,誤差 ≦ const. × exp(−cN)

指数関数的収束

本方法が最初に提案されたのは次の文献である：
平山弘：周回積分変換法による数値積分法，第 44 回数値解析シンポジウム講演予稿集，2015，pp.21–24．
緒方は上記文献に対し佐藤超函数論との関連を指摘した．
H. Ogata and H. Hirayama: Numerical integration method based on
hyperfunction theory, J. Comput. Appl. Math., 327(2018), 243-259.
https://doi.org/10.1016/j.cam.2017.06.018 .

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 数値積分への応用：数値例
端点特異性をもつ次の積分を超函数法， DE 公式，
Gauss-Jacobi 法で計算，誤差の標本点数 N に対する振る舞いを調べた．
Z 1 α−1x(1 − x)β−1dx = B(α, β) Re F (α, 1; α + β; i)1 + x20( α, β > 0 ).

超函数法の複素積分路（楕円）1 1z = ζ(u) = +2 41i
1ρ+
cos u +
ρ−sin u,ρ4
ρ0 ≦ u ≦ uperiod = 2π ( ρ = 2 ).

多倍長演算（10 進 100 桁，exflib），C++プログラム．
佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

00-10-10-20log10(error)log10(error)

2. 数値積分への応用：数値例（数値積分誤差）

hyperfunction
Gauss-Jacobi
DE-30-40-50-20
hyperfunction
Gauss-Jacobi
DE-30-40-50-60-60
020406080

1000200N

4006008001000

N(a) α = β = 10−4(b) α = β = 10−50
端点特異性が極めて強い

誤差の減衰率(a)(b)

超函数法

DE 公式

Gauss-Jacobi 公式

O(0.25N )O(0.80N )O(0.25N )—O(0.047N )—佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 数値積分への応用：数値例

超函数法は標本点数 N → ∞ で指数関数的収束する．
超函数法は端点特異性を強くしても収束速度はほぼ不変（DE 公式は働かなくなる． Gauss-Jacobi 公式は不安定）．
超函数法は端点特異性に強い数値積分則である．

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 数値積分への応用：なぜ超函数を使うといいのか？
被積分関数
端点特異点

端点特異点

複素積分路
（超函数論による数値積分）

従来の数値積分法：端点特異点近くで関数値を計算する．
超函数法：端点特異点を避けて，関数値が穏やかに変化する複素平面上で関数値を計算する．
佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

2. 数値積分への応用：なぜ超函数を使うといいのか？
複素解析関数は，遠く離れた 2 点における値が密接に結びついている．
ICauchy の積分定理
留数定理

f (z)dz = 0.

C

超函数（実関数）= [定義関数（複素解析関数）] .
計算の易しい複素数の世界（定義関数）で実質的な計算を行って，それを実数の世界（超函数）に戻して欲しい数値を得ている．
佐藤超函数：実数の世界と複素数の世界の間のインターフェイス．

∗ 佐藤超函数論は Fourier 変換の計算にも応用できる（動画「Fourier 変換の数値計算」 https://youtu.be/REhQ3x1nXG4 ）．
佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ

佐藤超函数論

まとめ

佐藤超函数論：複素関数論に基づく一般化関数の理論．
佐藤超函数論による数値積分：
求める実積分を複素積分に書き直して近似計算．
端点特異性の強い積分に対して有効である．

佐藤超函数論の数値解析への応用．
複素解析関数は，遠く離れた 2 点における値が密接に結びついている．
計算の易しい複素数の世界で実質的な計算を行って，それを実数の世界に戻して欲しい数値を得ている．
佐藤超函数：実数の世界と複素数の世界の間のインターフェイス．

佐藤超函数論と数値解析への応用
緒方秀教

電気通信大学オープ