SlideShare a Scribd company logo
1 of 36
Download to read offline
はじめに タイムステッピングについて 数値例 まとめ
チェビシェフ級数を用いた
タイムステッピングによる
常微分方程式系の精度保証付き数値解法
舩越康太 (筑波大学 M1), 高安亮紀 (筑波大学)
日本応用数理学会 2019 年度 年会
2019/9/4
1 / 29
はじめに タイムステッピングについて 数値例 まとめ
目次
1 はじめに
問題設定
既存手法の紹介
提案手法の紹介
2 タイムステッピングについて
概要
端点評価
3 数値例
問題設定
計算結果
4 まとめ
本手法の特徴
今後の課題
2 / 29
はじめに タイムステッピングについて 数値例 まとめ
問題設定
常微分方程式系の初期値問題
dx
dt
= f(t, x), x(0) = x0, t ∈ (0, h). (1)
各文字の説明
x(t), x0 ∈ Rn
, h > 0,
f(t, x) =



f1(t, x)
...
fn(t, x)


 ,
fi(t, x) : R × Rn
→ R, i = 1, . . . , n.
3 / 29
はじめに タイムステッピングについて 数値例 まとめ
既存手法の紹介
テイラー展開ベース
代表例:
Lohner 法 [Lohner 1987] (AWA)
柏木らによる方法 [Kashiwagi 1994] (kv)
テイラーモデル [Berz-Makino 1998] (COSY)
C1 Lohner 法 [Zgliczynski 2002] (CAPD)
スペクトル法ベース
代表例:
占部によるガレルキン法 [Urabe 1965]
大石による方法 [Oishi 1995]
Radii polynomial approach [Lessard 2014]
4 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
提案手法の紹介
1. 近似解の生成
チェビシェフ多項式による展開の形で近似解を生成する.
5 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
提案手法の紹介
1. 近似解の生成
チェビシェフ多項式による展開の形で近似解を生成する.
↓
2. 解の精度保証
簡易ニュートン法とバナッハの不動点定理を用いて, 1 つの時間ス
テップで解の精度保証を行う.
5 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
提案手法の紹介
1. 近似解の生成
チェビシェフ多項式による展開の形で近似解を生成する.
↓
2. 解の精度保証
簡易ニュートン法とバナッハの不動点定理を用いて, 1 つの時間ス
テップで解の精度保証を行う.
↓
3. タイムステッピング
複数の時間ステップに渡って解を延長する.
5 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
近似解の生成
Chebfun 1 による (1) 式の近似解
˜xi(t) =
M−1∑
l=0
˜xl,iTl(t).
各文字の説明
M : チェビシェフ多項式の数,
Tl(t) : l 次第 1 種チェビシェフ多項式.
1
オックスフォード大学の数値解析グループによって開発されている
MATLAB 上で動く数値計算ソフトウェア (http://www.chebfun.org/)
6 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
バナッハ空間 X とその閉部分集合 Wγ
バナッハ空間 X
時間区間を J
def
= (0, h) として
X = C(J; Rn
)
def
= { x ∈ Rn
| xi(t) ∈ C(J) }.
˜x の近傍 Wγ(˜x)
Wγ(˜x)
def
= { x ∈ X | ∥xi − ˜xi∥ ≤ γi, γi > 0, x(0) = x0 },
∥x∥
def
= sup
t∈J
|x(t)|.
7 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
作用素 F と簡易ニュートン写像 T
作用素 F
(F(x))(t)
def
=
dx
dt
− f(t, x).
簡易ニュートン写像 T
(T (x))(t)
def
= x(t) − A(F(x))(t).
8 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
作用素 A†
作用素 A†
A† def
= DF(˜x) =
d
dt
− Df(˜x).
f の ˜x におけるヤコビ行列 Df(˜x)
Df(˜x)
def
=



∂f1
∂x1
(˜x) . . . ∂f1
∂xn
(˜x)
...
...
∂fn
∂x1
(˜x) . . . ∂fn
∂xn
(˜x)


 .
9 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
作用素 A
作用素 A
Ag
def
= Φ(t, s)c0 +
∫ t
s
Φ(t, r)g(r) dr.
ただし, Φ(t, s) ≡ Φ(t) ∈ Rn×n は以下の線形化方程式を満たす.
(1) 式の線形化方程式
dΦ
dt
= Df(˜x)Φ, Φ(s) = I.
この Φ(t) は精度保証付きで得ることができる. また, AA† = I.
10 / 29
はじめに タイムステッピングについて 数値例 まとめ
提案手法の紹介
主定理
Theorem 1.1 (Newton-Kantorovich type argument)
いま ˜x ∈ X, i = 1, . . . , n に対して
|[x(0) − ˜x(0)]i| ≤ εi,
∥[AF(˜x)]i∥X ≤ Yi,
∥[A(DF(b) − DF(˜x))ζ]i∥L(X) ≤ Zε
i (γ), ∀ b, ζ ∈ Wγ(˜x)
が成り立つとする. このとき
Pi(γ)
def
= Zε
i (γ) − γi + Yi
に対し, P(¯γ) ≤ 0 となる ¯γ > 0 が存在すれば, F(x∗) = 0 を満た
す解 x∗ が W¯γ(˜x) 内に ( 局所 ) 一意存在する.
11 / 29
はじめに タイムステッピングについて 数値例 まとめ
タイムステッピング
t
x
O
˜x(t)
t0 t1
1 つの時間ステップでの近似解を得る.
はじめに タイムステッピングについて 数値例 まとめ
タイムステッピング
t
x
O
˜x(t)
t0 t1
W¯γ(˜x)
定理 1.1 (J = (t0, t1)) により, 解の包含を得る.
はじめに タイムステッピングについて 数値例 まとめ
タイムステッピング
t
x
O
˜x(t)
t0 t1
W¯γ(˜x)
t1
} ε
} ε
t = t1 における誤差評価を行う.
12 / 29
はじめに タイムステッピングについて 数値例 まとめ
タイムステッピング
t
x
O
˜x(t)
t0 t1
W¯γ(˜x)
t2
次の時間ステップでの近似解を得る.
はじめに タイムステッピングについて 数値例 まとめ
タイムステッピング
t
x
O
˜x(t)
t0 t1
W¯γ(˜x)
t2
定理 1.1 (J = (t1, t2)) により, 再度解の包含を得て, これを繰り返す.
13 / 29
はじめに タイムステッピングについて 数値例 まとめ
端点評価
端点評価の方法
誤差を ϵ(t)
def
= x(t) − ˜x(t) (t ∈ (0, h)) とすると
ϵ(t) = Φ(t, 0)ϵ(0) +
∫ t
0
Φ(t, s)g(s) ds
と表され, 端点における絶対誤差を考えると
|ϵ(h)| ≤ |Φ(h, 0)|ε + h|Φ(h, 0)| ∥Φ(0, s)∥ ∥g(s)∥ = ε
(∥Φ(0, s)∥ = sup
s∈(0,h)
|Φ(0, s)|)
と評価される.
14 / 29
はじめに タイムステッピングについて 数値例 まとめ
端点評価 (g(s) について)
各文字の説明
g(s) =
∫ 1
0
D2
f((1 − θ)˜x + θb) dθ(b − ˜x)ζ −
(
d˜x
ds
− f(s, ˜x)
)
(θ ∈ (0, 1), b ∈ Wγ(˜x), ζ ∈ Sε
γ),
ここで
Sε
γ
def
= { s ∈ X | ∥si∥ ≤ γi, |si(0)| ≤ εi }.
15 / 29
はじめに タイムステッピングについて 数値例 まとめ
ϵ(t)
dt
=
dx
dt
−
d˜x
dt
= f(t, x) − f(t, ˜x) −
(
d˜x
dt
− f(t, ˜x)
)
= Df(˜x)ϵ(t) + Df(b)ϵ(t) − Df(˜x)ϵ(t) −
(
d˜x
dt
− f(t, ˜x)
)
= Df(˜x)ϵ(t) +
∫ 1
0
D2
f((1 − θ)˜x + θb) dθ(b − ˜x)ζ −
(
d˜x
dt
− f(t, ˜x)
)
= Df(˜x)ϵ(t) + g(s)
↓
ϵ(t) = Φ(t, 0)ϵ(0) +
∫ t
0
Φ(t, s)g(s) ds
16 / 29
はじめに タイムステッピングについて 数値例 まとめ
端点評価 (Φ(t, 0), Φ(0, s) について)
Φ(t, 0), Φ(0, s) の計算方法
Φ(t, 0) ≡ Φ(t), Φ(0, s) ≡ Ψ(s) として
dΦ
dt
= Df(˜x)Φ(t), Φ(0) = I,
dΨ
ds
= −Ψ(s)Df(˜x), Ψ(0) = I
のぞれぞれを数値計算により解いた後, Radii polynomial approach
[Lessard 2014] によって精度保証を行う.
17 / 29
はじめに タイムステッピングについて 数値例 まとめ
Ψ(s)Φ(s) = I
⇐⇒
dΨ(s)
ds
Φ(s) + Ψ(s)
dΦ(s)
ds
= 0
⇐⇒
dΨ(s)
ds
Φ(s) + Ψ(s)Df(˜x)Φ(s) = 0
⇐⇒
dΨ(s)
ds
Φ(s) = −Ψ(s)Df(˜x)Φ(s)
⇐⇒
dΨ(s)
ds
= −Ψ(s)Df(˜x)
18 / 29
はじめに タイムステッピングについて 数値例 まとめ
問題設定
Lorenz 方程式



d
dt x1(t) = 10(x2(t) − x1(t)),
d
dt x2(t) = (28 − x3(t))x1(t) − x2(t),
d
dt x3(t) = x1(t)x2(t) − 8
3x3(t).
19 / 29
はじめに タイムステッピングについて 数値例 まとめ
問題設定
Lorenz 方程式



d
dt x1(t) = 10(x2(t) − x1(t)),
d
dt x2(t) = (28 − x3(t))x1(t) − x2(t),
d
dt x3(t) = x1(t)x2(t) − 8
3x3(t).
↓
Lorenz 方程式
dx
dt
= f(t, x) , x(0) =


1
1
1

 , t ∈ (0, h).
19 / 29
はじめに タイムステッピングについて 数値例 まとめ
計算結果 (各 h に対する ¯γ と実行時間)
計算環境
macOS 10.13.4
CPU: 2.7GHz Intel Core i5
MATLAB 2016b
INTLAB version 11
Chebfun version 5.7.0
20 / 29
はじめに タイムステッピングについて 数値例 まとめ
計算結果 (各 h に対する ¯γ と実行時間)
計算環境
macOS 10.13.4
CPU: 2.7GHz Intel Core i5
MATLAB 2016b
INTLAB version 11
Chebfun version 5.7.0
h max(maxi ¯γi) 計算できたステップ数 到達時刻 実行時間
0.0625 3.6384 × 10−1 61 step 3.8125 sec. 136.03 sec.
0.125 9.3574 × 10−2 52 step 6.5 sec. 124.47 sec.
0.25 4.0847 × 10−3 28 step 7 sec. 66.21 sec.
20 / 29
はじめに タイムステッピングについて 数値例 まとめ
計算結果 (各 h に対する ¯γ と実行時間)
計算環境
macOS 10.13.4
CPU: 2.7GHz Intel Core i5
MATLAB 2016b
INTLAB version 11
Chebfun version 5.7.0
h max(maxi ¯γi) 計算できたステップ数 到達時刻 実行時間
0.0625 3.6384 × 10−1 61 step 3.8125 sec. 136.03 sec.
0.125 9.3574 × 10−2 52 step 6.5 sec. 124.47 sec.
0.25 4.0847 × 10−3 28 step 7 sec. 66.21 sec.
0.32 1.6273 × 10−3 16 step 5.12 sec. 40.83 sec.
21 / 29
はじめに タイムステッピングについて 数値例 まとめ
計算結果 (誤差半径の時間変化)
0 1 2 3 4 5 6 7
t
10 -12
10 -10
10 -8
10 -6
10 -4
10 -2
10 0
h=0.0625
h=0.125
h=0.25
h=0.32
Figure: 誤差半径 γ の時間変化
22 / 29
はじめに タイムステッピングについて 数値例 まとめ
計算結果 (誤差の時間変化)
0 1 2 3 4 5 6 7
t
10 -16
10 -14
10 -12
10 -10
10 -8
10 -6
10 -4
10 -2
10 0
h=0.0625
h=0.125
h=0.25
h=0.32
Figure: 誤差 ϵ の時間変化
23 / 29
はじめに タイムステッピングについて 数値例 まとめ
計算結果 (各 h に対する ¯γ と実行時間)
計算環境
macOS 10.13.4
CPU: 2.7GHz Intel Core i5
MATLAB 2016b
INTLAB version 11
Chebfun version 5.7.0
h max(maxi ¯γi) 計算できたステップ数 到達時刻 実行時間
0.0625 3.6384 × 10−1 61 step 3.8125 sec. 136.03 sec.
0.125 9.3574 × 10−2 52 step 6.5 sec. 124.47 sec.
0.25 4.0847 × 10−3 28 step 7 sec. 66.21 sec.
0.32 1.6273 × 10−3 16 step 5.12 sec. 40.83 sec.
24 / 29
はじめに タイムステッピングについて 数値例 まとめ
計算結果 (各 h に対する ¯γ と実行時間)
計算環境
macOS 10.13.4
CPU: 2.7GHz Intel Core i5
MATLAB 2016b
INTLAB version 11
Chebfun version 5.7.0
h max(maxi ¯γi) 計算できたステップ数 到達時刻 実行時間
0.0625 3.6384 × 10−1 61 step 3.8125 sec. 136.03 sec.
0.125 9.3574 × 10−2 52 step 6.5 sec. 124.47 sec.
0.25 4.0847 × 10−3 28 step 7 sec. 66.21 sec.
0.32 1.6273 × 10−3 16 step 5.12 sec. 40.83 sec.
25 / 29
はじめに タイムステッピングについて 数値例 まとめ
最も良かった計算結果のプロット
0
30
10
20
20
20
x3
30
10 10
x2
40
x1
0 0
50
-10 -10
-20 -20
Figure: ローレンツアトラクタ
26 / 29
はじめに タイムステッピングについて 数値例 まとめ
本手法の特徴
本手法の特徴
スペクトル法と簡易ニュートン写像を使った精度保証付き数
値解法である.
基本解を精度保証付き数値計算によって得た.
1 つの時間ステップを大きく取れる.
27 / 29
はじめに タイムステッピングについて 数値例 まとめ
今後の課題
今後の課題
より複数の時間ステップに渡って解を延長するために · · ·
解の挙動に応じて時間ステップの大きさを変化させる
端点評価において, KKT 方程式を用いて最適化
端点評価において, フローの評価を用いて g(s) の項の影響を
軽減
などを検討中.
28 / 29
はじめに タイムステッピングについて 数値例 まとめ
ご静聴ありがとうございました.
29 / 29

More Related Content

What's hot

ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版dsp_kyoto_2014
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムMiyoshi Yuya
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法nitoyon
 
Introduction to the particle filter
Introduction to the particle filterIntroduction to the particle filter
Introduction to the particle filterSatoshi Minakuchi
 
線形カルマンフィルタの導出
線形カルマンフィルタの導出線形カルマンフィルタの導出
線形カルマンフィルタの導出Fumiya Watanabe
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説noname409
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3noname409
 
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎ShoutoYonekura
 
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~Tatsuki SHIMIZU
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換AtCoder Inc.
 
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズムTasuku Soma
 
A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”Kota Matsui
 
ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4noname409
 
公開鍵暗号(5): NP困難性
公開鍵暗号(5): NP困難性公開鍵暗号(5): NP困難性
公開鍵暗号(5): NP困難性Joe Suzuki
 
topology of musical data
topology of musical datatopology of musical data
topology of musical dataTatsuki SHIMIZU
 
上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフトKeigo Nitadori
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来Hidekazu Oiwa
 

What's hot (20)

ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
 
Introduction to the particle filter
Introduction to the particle filterIntroduction to the particle filter
Introduction to the particle filter
 
線形カルマンフィルタの導出
線形カルマンフィルタの導出線形カルマンフィルタの導出
線形カルマンフィルタの導出
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
 
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 
PRML 10.4 - 10.6
PRML 10.4 - 10.6PRML 10.4 - 10.6
PRML 10.4 - 10.6
 
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
 
Prml 4.3.6
Prml 4.3.6Prml 4.3.6
Prml 4.3.6
 
A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”
 
ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4
 
公開鍵暗号(5): NP困難性
公開鍵暗号(5): NP困難性公開鍵暗号(5): NP困難性
公開鍵暗号(5): NP困難性
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト
 
分布 isseing333
分布 isseing333分布 isseing333
分布 isseing333
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
 

Similar to JSIAM_2019_9_4

パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化Miyoshi Yuya
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5shingo suzuki
 
打ち切りデータのヒストグラム
打ち切りデータのヒストグラム打ち切りデータのヒストグラム
打ち切りデータのヒストグラムKo Abe
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析Shu Tanaka
 
Four op
Four opFour op
Four opoupc
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料mdkcpp 1015
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介Deep Learning JP
 
2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27)
2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27) 2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27)
2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27) Akira Asano
 
How to study stat
How to study statHow to study stat
How to study statAk Ok
 
Sec15 dynamic programming
Sec15 dynamic programmingSec15 dynamic programming
Sec15 dynamic programmingKeisuke OTAKI
 
熱流体解析における離散スキームの評価
熱流体解析における離散スキームの評価熱流体解析における離散スキームの評価
熱流体解析における離散スキームの評価takuyayamamoto1800
 
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)Akira Asano
 
ラビットチャレンジレポート 深層学習Day3
ラビットチャレンジレポート 深層学習Day3ラビットチャレンジレポート 深層学習Day3
ラビットチャレンジレポート 深層学習Day3ssuserf4860b
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門Tatsuki SHIMIZU
 
クラシックな機械学習の入門 4. 学習データと予測性能
クラシックな機械学習の入門  4.   学習データと予測性能クラシックな機械学習の入門  4.   学習データと予測性能
クラシックな機械学習の入門 4. 学習データと予測性能Hiroshi Nakagawa
 

Similar to JSIAM_2019_9_4 (20)

パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5
 
打ち切りデータのヒストグラム
打ち切りデータのヒストグラム打ち切りデータのヒストグラム
打ち切りデータのヒストグラム
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
 
Four op
Four opFour op
Four op
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料
 
演習発表 Sari v.1.1
演習発表 Sari v.1.1演習発表 Sari v.1.1
演習発表 Sari v.1.1
 
Tokyo r27
Tokyo r27Tokyo r27
Tokyo r27
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
 
数理解析道場
数理解析道場数理解析道場
数理解析道場
 
2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27)
2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27) 2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27)
2022年度秋学期 応用数学(解析) 第6回 変数分離形の変形 (2022. 10. 27)
 
How to study stat
How to study statHow to study stat
How to study stat
 
Sec15 dynamic programming
Sec15 dynamic programmingSec15 dynamic programming
Sec15 dynamic programming
 
熱流体解析における離散スキームの評価
熱流体解析における離散スキームの評価熱流体解析における離散スキームの評価
熱流体解析における離散スキームの評価
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第6回 変数分離形の変形 (2018. 10. 30)
 
ラビットチャレンジレポート 深層学習Day3
ラビットチャレンジレポート 深層学習Day3ラビットチャレンジレポート 深層学習Day3
ラビットチャレンジレポート 深層学習Day3
 
汎化性能測定
汎化性能測定汎化性能測定
汎化性能測定
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
 
クラシックな機械学習の入門 4. 学習データと予測性能
クラシックな機械学習の入門  4.   学習データと予測性能クラシックな機械学習の入門  4.   学習データと予測性能
クラシックな機械学習の入門 4. 学習データと予測性能
 

JSIAM_2019_9_4

  • 1. はじめに タイムステッピングについて 数値例 まとめ チェビシェフ級数を用いた タイムステッピングによる 常微分方程式系の精度保証付き数値解法 舩越康太 (筑波大学 M1), 高安亮紀 (筑波大学) 日本応用数理学会 2019 年度 年会 2019/9/4 1 / 29
  • 2. はじめに タイムステッピングについて 数値例 まとめ 目次 1 はじめに 問題設定 既存手法の紹介 提案手法の紹介 2 タイムステッピングについて 概要 端点評価 3 数値例 問題設定 計算結果 4 まとめ 本手法の特徴 今後の課題 2 / 29
  • 3. はじめに タイムステッピングについて 数値例 まとめ 問題設定 常微分方程式系の初期値問題 dx dt = f(t, x), x(0) = x0, t ∈ (0, h). (1) 各文字の説明 x(t), x0 ∈ Rn , h > 0, f(t, x) =    f1(t, x) ... fn(t, x)    , fi(t, x) : R × Rn → R, i = 1, . . . , n. 3 / 29
  • 4. はじめに タイムステッピングについて 数値例 まとめ 既存手法の紹介 テイラー展開ベース 代表例: Lohner 法 [Lohner 1987] (AWA) 柏木らによる方法 [Kashiwagi 1994] (kv) テイラーモデル [Berz-Makino 1998] (COSY) C1 Lohner 法 [Zgliczynski 2002] (CAPD) スペクトル法ベース 代表例: 占部によるガレルキン法 [Urabe 1965] 大石による方法 [Oishi 1995] Radii polynomial approach [Lessard 2014] 4 / 29
  • 5. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 提案手法の紹介 1. 近似解の生成 チェビシェフ多項式による展開の形で近似解を生成する. 5 / 29
  • 6. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 提案手法の紹介 1. 近似解の生成 チェビシェフ多項式による展開の形で近似解を生成する. ↓ 2. 解の精度保証 簡易ニュートン法とバナッハの不動点定理を用いて, 1 つの時間ス テップで解の精度保証を行う. 5 / 29
  • 7. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 提案手法の紹介 1. 近似解の生成 チェビシェフ多項式による展開の形で近似解を生成する. ↓ 2. 解の精度保証 簡易ニュートン法とバナッハの不動点定理を用いて, 1 つの時間ス テップで解の精度保証を行う. ↓ 3. タイムステッピング 複数の時間ステップに渡って解を延長する. 5 / 29
  • 8. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 近似解の生成 Chebfun 1 による (1) 式の近似解 ˜xi(t) = M−1∑ l=0 ˜xl,iTl(t). 各文字の説明 M : チェビシェフ多項式の数, Tl(t) : l 次第 1 種チェビシェフ多項式. 1 オックスフォード大学の数値解析グループによって開発されている MATLAB 上で動く数値計算ソフトウェア (http://www.chebfun.org/) 6 / 29
  • 9. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 バナッハ空間 X とその閉部分集合 Wγ バナッハ空間 X 時間区間を J def = (0, h) として X = C(J; Rn ) def = { x ∈ Rn | xi(t) ∈ C(J) }. ˜x の近傍 Wγ(˜x) Wγ(˜x) def = { x ∈ X | ∥xi − ˜xi∥ ≤ γi, γi > 0, x(0) = x0 }, ∥x∥ def = sup t∈J |x(t)|. 7 / 29
  • 10. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 作用素 F と簡易ニュートン写像 T 作用素 F (F(x))(t) def = dx dt − f(t, x). 簡易ニュートン写像 T (T (x))(t) def = x(t) − A(F(x))(t). 8 / 29
  • 11. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 作用素 A† 作用素 A† A† def = DF(˜x) = d dt − Df(˜x). f の ˜x におけるヤコビ行列 Df(˜x) Df(˜x) def =    ∂f1 ∂x1 (˜x) . . . ∂f1 ∂xn (˜x) ... ... ∂fn ∂x1 (˜x) . . . ∂fn ∂xn (˜x)    . 9 / 29
  • 12. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 作用素 A 作用素 A Ag def = Φ(t, s)c0 + ∫ t s Φ(t, r)g(r) dr. ただし, Φ(t, s) ≡ Φ(t) ∈ Rn×n は以下の線形化方程式を満たす. (1) 式の線形化方程式 dΦ dt = Df(˜x)Φ, Φ(s) = I. この Φ(t) は精度保証付きで得ることができる. また, AA† = I. 10 / 29
  • 13. はじめに タイムステッピングについて 数値例 まとめ 提案手法の紹介 主定理 Theorem 1.1 (Newton-Kantorovich type argument) いま ˜x ∈ X, i = 1, . . . , n に対して |[x(0) − ˜x(0)]i| ≤ εi, ∥[AF(˜x)]i∥X ≤ Yi, ∥[A(DF(b) − DF(˜x))ζ]i∥L(X) ≤ Zε i (γ), ∀ b, ζ ∈ Wγ(˜x) が成り立つとする. このとき Pi(γ) def = Zε i (γ) − γi + Yi に対し, P(¯γ) ≤ 0 となる ¯γ > 0 が存在すれば, F(x∗) = 0 を満た す解 x∗ が W¯γ(˜x) 内に ( 局所 ) 一意存在する. 11 / 29
  • 14. はじめに タイムステッピングについて 数値例 まとめ タイムステッピング t x O ˜x(t) t0 t1 1 つの時間ステップでの近似解を得る.
  • 15. はじめに タイムステッピングについて 数値例 まとめ タイムステッピング t x O ˜x(t) t0 t1 W¯γ(˜x) 定理 1.1 (J = (t0, t1)) により, 解の包含を得る.
  • 16. はじめに タイムステッピングについて 数値例 まとめ タイムステッピング t x O ˜x(t) t0 t1 W¯γ(˜x) t1 } ε } ε t = t1 における誤差評価を行う. 12 / 29
  • 17. はじめに タイムステッピングについて 数値例 まとめ タイムステッピング t x O ˜x(t) t0 t1 W¯γ(˜x) t2 次の時間ステップでの近似解を得る.
  • 18. はじめに タイムステッピングについて 数値例 まとめ タイムステッピング t x O ˜x(t) t0 t1 W¯γ(˜x) t2 定理 1.1 (J = (t1, t2)) により, 再度解の包含を得て, これを繰り返す. 13 / 29
  • 19. はじめに タイムステッピングについて 数値例 まとめ 端点評価 端点評価の方法 誤差を ϵ(t) def = x(t) − ˜x(t) (t ∈ (0, h)) とすると ϵ(t) = Φ(t, 0)ϵ(0) + ∫ t 0 Φ(t, s)g(s) ds と表され, 端点における絶対誤差を考えると |ϵ(h)| ≤ |Φ(h, 0)|ε + h|Φ(h, 0)| ∥Φ(0, s)∥ ∥g(s)∥ = ε (∥Φ(0, s)∥ = sup s∈(0,h) |Φ(0, s)|) と評価される. 14 / 29
  • 20. はじめに タイムステッピングについて 数値例 まとめ 端点評価 (g(s) について) 各文字の説明 g(s) = ∫ 1 0 D2 f((1 − θ)˜x + θb) dθ(b − ˜x)ζ − ( d˜x ds − f(s, ˜x) ) (θ ∈ (0, 1), b ∈ Wγ(˜x), ζ ∈ Sε γ), ここで Sε γ def = { s ∈ X | ∥si∥ ≤ γi, |si(0)| ≤ εi }. 15 / 29
  • 21. はじめに タイムステッピングについて 数値例 まとめ ϵ(t) dt = dx dt − d˜x dt = f(t, x) − f(t, ˜x) − ( d˜x dt − f(t, ˜x) ) = Df(˜x)ϵ(t) + Df(b)ϵ(t) − Df(˜x)ϵ(t) − ( d˜x dt − f(t, ˜x) ) = Df(˜x)ϵ(t) + ∫ 1 0 D2 f((1 − θ)˜x + θb) dθ(b − ˜x)ζ − ( d˜x dt − f(t, ˜x) ) = Df(˜x)ϵ(t) + g(s) ↓ ϵ(t) = Φ(t, 0)ϵ(0) + ∫ t 0 Φ(t, s)g(s) ds 16 / 29
  • 22. はじめに タイムステッピングについて 数値例 まとめ 端点評価 (Φ(t, 0), Φ(0, s) について) Φ(t, 0), Φ(0, s) の計算方法 Φ(t, 0) ≡ Φ(t), Φ(0, s) ≡ Ψ(s) として dΦ dt = Df(˜x)Φ(t), Φ(0) = I, dΨ ds = −Ψ(s)Df(˜x), Ψ(0) = I のぞれぞれを数値計算により解いた後, Radii polynomial approach [Lessard 2014] によって精度保証を行う. 17 / 29
  • 23. はじめに タイムステッピングについて 数値例 まとめ Ψ(s)Φ(s) = I ⇐⇒ dΨ(s) ds Φ(s) + Ψ(s) dΦ(s) ds = 0 ⇐⇒ dΨ(s) ds Φ(s) + Ψ(s)Df(˜x)Φ(s) = 0 ⇐⇒ dΨ(s) ds Φ(s) = −Ψ(s)Df(˜x)Φ(s) ⇐⇒ dΨ(s) ds = −Ψ(s)Df(˜x) 18 / 29
  • 24. はじめに タイムステッピングについて 数値例 まとめ 問題設定 Lorenz 方程式    d dt x1(t) = 10(x2(t) − x1(t)), d dt x2(t) = (28 − x3(t))x1(t) − x2(t), d dt x3(t) = x1(t)x2(t) − 8 3x3(t). 19 / 29
  • 25. はじめに タイムステッピングについて 数値例 まとめ 問題設定 Lorenz 方程式    d dt x1(t) = 10(x2(t) − x1(t)), d dt x2(t) = (28 − x3(t))x1(t) − x2(t), d dt x3(t) = x1(t)x2(t) − 8 3x3(t). ↓ Lorenz 方程式 dx dt = f(t, x) , x(0) =   1 1 1   , t ∈ (0, h). 19 / 29
  • 26. はじめに タイムステッピングについて 数値例 まとめ 計算結果 (各 h に対する ¯γ と実行時間) 計算環境 macOS 10.13.4 CPU: 2.7GHz Intel Core i5 MATLAB 2016b INTLAB version 11 Chebfun version 5.7.0 20 / 29
  • 27. はじめに タイムステッピングについて 数値例 まとめ 計算結果 (各 h に対する ¯γ と実行時間) 計算環境 macOS 10.13.4 CPU: 2.7GHz Intel Core i5 MATLAB 2016b INTLAB version 11 Chebfun version 5.7.0 h max(maxi ¯γi) 計算できたステップ数 到達時刻 実行時間 0.0625 3.6384 × 10−1 61 step 3.8125 sec. 136.03 sec. 0.125 9.3574 × 10−2 52 step 6.5 sec. 124.47 sec. 0.25 4.0847 × 10−3 28 step 7 sec. 66.21 sec. 20 / 29
  • 28. はじめに タイムステッピングについて 数値例 まとめ 計算結果 (各 h に対する ¯γ と実行時間) 計算環境 macOS 10.13.4 CPU: 2.7GHz Intel Core i5 MATLAB 2016b INTLAB version 11 Chebfun version 5.7.0 h max(maxi ¯γi) 計算できたステップ数 到達時刻 実行時間 0.0625 3.6384 × 10−1 61 step 3.8125 sec. 136.03 sec. 0.125 9.3574 × 10−2 52 step 6.5 sec. 124.47 sec. 0.25 4.0847 × 10−3 28 step 7 sec. 66.21 sec. 0.32 1.6273 × 10−3 16 step 5.12 sec. 40.83 sec. 21 / 29
  • 29. はじめに タイムステッピングについて 数値例 まとめ 計算結果 (誤差半径の時間変化) 0 1 2 3 4 5 6 7 t 10 -12 10 -10 10 -8 10 -6 10 -4 10 -2 10 0 h=0.0625 h=0.125 h=0.25 h=0.32 Figure: 誤差半径 γ の時間変化 22 / 29
  • 30. はじめに タイムステッピングについて 数値例 まとめ 計算結果 (誤差の時間変化) 0 1 2 3 4 5 6 7 t 10 -16 10 -14 10 -12 10 -10 10 -8 10 -6 10 -4 10 -2 10 0 h=0.0625 h=0.125 h=0.25 h=0.32 Figure: 誤差 ϵ の時間変化 23 / 29
  • 31. はじめに タイムステッピングについて 数値例 まとめ 計算結果 (各 h に対する ¯γ と実行時間) 計算環境 macOS 10.13.4 CPU: 2.7GHz Intel Core i5 MATLAB 2016b INTLAB version 11 Chebfun version 5.7.0 h max(maxi ¯γi) 計算できたステップ数 到達時刻 実行時間 0.0625 3.6384 × 10−1 61 step 3.8125 sec. 136.03 sec. 0.125 9.3574 × 10−2 52 step 6.5 sec. 124.47 sec. 0.25 4.0847 × 10−3 28 step 7 sec. 66.21 sec. 0.32 1.6273 × 10−3 16 step 5.12 sec. 40.83 sec. 24 / 29
  • 32. はじめに タイムステッピングについて 数値例 まとめ 計算結果 (各 h に対する ¯γ と実行時間) 計算環境 macOS 10.13.4 CPU: 2.7GHz Intel Core i5 MATLAB 2016b INTLAB version 11 Chebfun version 5.7.0 h max(maxi ¯γi) 計算できたステップ数 到達時刻 実行時間 0.0625 3.6384 × 10−1 61 step 3.8125 sec. 136.03 sec. 0.125 9.3574 × 10−2 52 step 6.5 sec. 124.47 sec. 0.25 4.0847 × 10−3 28 step 7 sec. 66.21 sec. 0.32 1.6273 × 10−3 16 step 5.12 sec. 40.83 sec. 25 / 29
  • 33. はじめに タイムステッピングについて 数値例 まとめ 最も良かった計算結果のプロット 0 30 10 20 20 20 x3 30 10 10 x2 40 x1 0 0 50 -10 -10 -20 -20 Figure: ローレンツアトラクタ 26 / 29
  • 34. はじめに タイムステッピングについて 数値例 まとめ 本手法の特徴 本手法の特徴 スペクトル法と簡易ニュートン写像を使った精度保証付き数 値解法である. 基本解を精度保証付き数値計算によって得た. 1 つの時間ステップを大きく取れる. 27 / 29
  • 35. はじめに タイムステッピングについて 数値例 まとめ 今後の課題 今後の課題 より複数の時間ステップに渡って解を延長するために · · · 解の挙動に応じて時間ステップの大きさを変化させる 端点評価において, KKT 方程式を用いて最適化 端点評価において, フローの評価を用いて g(s) の項の影響を 軽減 などを検討中. 28 / 29
  • 36. はじめに タイムステッピングについて 数値例 まとめ ご静聴ありがとうございました. 29 / 29