連続系アルゴリズム演習第3回 DE変換を用いた数値積分法.

Slides:



Advertisements
Similar presentations
計測工学 10 データの補間 スプライン補間 1. . 復習 階差 近似多項式の次数 の決定法 等間隔階差 – 関数 y=f(x) で、 x の値 が等間隔の場合 等間隔: x 0, x 0 +h, x 0 +2h ・・・ y の値: y 0, y 1, y 2 ・・・ これらの階差は – 第1階差:
Advertisements

平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
課題 1 課題提出時にはグラフを添付すること. この反応が1次であることを示すためには、 ln ([N 2 O 5 ] 0 / [N 2 O 5 ]) vs. t のプロットが原点を通る直線となることを示せばよい。 与えられたデータから、 t [s] ln ([N.
2. 数値微分法. 数値微分が必要になる場合として、次の 2 つが考えられる。 関数が与えられていて、その微分を近似的に計算する。 (数値微分の精度が十分で、かつ、計算速度が数値微分の方が 早い場合など。) 離散的な点の上で離散的なデータしかわかっていない関数の微 分を近似的に計算する。(偏微分方程式の数値解を求めたい時.
22 ・ 3 積分形速度式 ◎ 速度式: 微分方程式 ⇒ 濃度を時間の関数として得るためには積分が必要 # 複雑な速度式 数値積分 (コンピューターシミュ レーション) # 単純な場合 解析的な解(積分形速度式) (a)1 次反応 1次の速度式 の積分形 [A] 0 は A の初濃度 (t = 0 の濃度.
IT 入門 B2 ー 連立一次方程式( 2 ) ー. ガウスの消去法の問題点 – 浮動小数点数の特殊な値 – 数学関数 ピボット選択つきガウスの消去法 演習 授 業 内 容 授 業 内 容.
数値解析シラバス C言語環境と数値解析の概要(1 回) C言語環境と数値解析の概要(1 回) 方程式の根(1回) 方程式の根(1回) 連立一次方程式(2回) 連立一次方程式(2回) 補間と近似(2回) 補間と近似(2回) 数値積分(1回) 数値積分(1回) 中間試験(1回) 中間試験(1回) 常微分方程式(1回)
1. 補間多項式 n 次の多項式 とは、単項式 の 線形結合の事である。 Definitions: ( 区間, 連続関数, abscissas (データ点、格子点、差分点), 多項 式 ) Theorem. (補間多項式の存在と一意性) 各 i = 0, …, n について、 をみたす、次数が高々 n.
●母集団と標本 母集団 標本 母数 母平均、母分散 無作為抽出 標本データの分析(記述統計学) 母集団における状態の推測(推測統計学)
有限差分法による 時間発展問題の解法の基礎
プログラミング論 数値積分
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
重力3体問題の数値積分Integration of 3-body encounter.
「データ学習アルゴリズム」 第3章 複雑な学習モデル 3.1 関数近似モデル ….. … 3層パーセプトロン
4. 双曲型偏微分方程式の数値解法入門 双曲型の偏微分方程式(partial differential equation, PDE)の最も簡単なの例として1変数の線形PDE    を考える; この方程式の意味は大雑把に言って、Δx の セル内に流入流出する f の量がフラックス その結果セル内で f.
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
多変数関数の積分(6/3~24) 重積分(2重積分) 第6章(§5は除く) 重積分の定義 「連続関数は積分可能」
計測工学 -測定の誤差と精度2- 計測工学 2009年5月17日 Ⅰ限目.
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
デジタル信号処理④
数楽(微分方程式を使おう!) ~第4章 他分野への応用(上級編)~
プログラミング入門2 総合演習課題 2008年 1/7, 1/21 実施 これまでの講義内容についての腕試し
電気回路学Ⅱ エネルギーインテリジェンスコース 5セメ 山田 博仁.
(ラプラス変換の復習) 教科書には相当する章はない
10. 積分 積分・・確率モデルと動学モデルで使われる この章は計算方法の紹介 積分の定義から
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
計算アルゴリズム 計算理工学専攻 張研究室 山本有作.
計算アルゴリズム 計算理工学専攻 張研究室 山本有作.
情報科学 第6回 数値解析(1).
応用数学 計算理工学専攻 杉原研究室 山本有作.
3. 可制御性・可観測性.
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
スペクトル法の一部の基礎の初歩への はじめの一歩
数値積分.
プログラミング論 II 2008年吉日 主成分分析 数値積分
情報理工学系研究科 数理情報学専攻 数理第四研究室 博士三年 指導教員: 駒木 文保 准教授 鈴木 大慈 2008年8月14日
独立成分分析 5 アルゴリズムの安定性と効率 2007/10/24   名雪 勲.
6. ラプラス変換.
プログラミング演習I ―数値解析― 平成16年度 前期 上 村 佳 嗣.
12.数値微分と数値積分.
25. Randomized Algorithms
4章 開水路における不等流(2) 漸変流 4-1漸変流とは ① 断面形状や底面形状が緩やかに変わる流れ。
情報処理Ⅱ 第2回:2003年10月14日(火).
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年6月25日 3.1 関数近似モデル
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
第3章 線形回帰モデル 修士1年 山田 孝太郎.
22・3 積分形速度式 ◎ 速度式: 微分方程式 ⇒ 濃度を時間の関数として得るためには積分が必要
フーリエ級数.
22・3 積分形速度式 ◎ 速度式: 微分方程式 ⇒ 濃度を時間の関数として得るためには積分が必要
解析学 ー第9〜10回ー 2019/5/12.
情報科学 第6回 数値解析(1).
博士たちの愛する円周率 徳山 豪 東北大学 “PI” that professors love
ガウス分布における ベーテ近似の理論解析 東京工業大学総合理工学研究科 知能システム科学専攻 渡辺研究室    西山 悠, 渡辺澄夫.
確率と統計2007(最終回) 平成20年1月17日(木) 東京工科大学 亀田弘之.
7.8 Kim-Vu Polynomial Concentration
数値解析 第6章.
~sumii/class/proenb2009/ml6/
電気回路学Ⅱ 通信工学コース 5セメ 山田 博仁.
卒論中間発表 2001/12/21 赤道の波動力学の基礎 北海道大学理学部 地球科学科 4年 山田 由貴子.
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
Cプログラミング演習 ニュートン法による方程式の求解.
第3章 統計的推定 (その2) 統計学 2006年度 <修正・補足版>.
How shall we do “Numerical Simulation”?
プログラミング演習I 数値計算における計算精度と誤差
応用数学 計算理工学専攻 張研究室 山本有作.
コンピュータの高速化により, 即座に計算できるようになってきたが, 手法的にはコンピュータ出現以前に考え出された 方法が数多く使われている。
8.2 数値積分 (1)どんなときに数値積分を行うのか?
8.数値微分・積分・微分方程式 工学的問題においては 解析的に微分値や積分値を求めたり, 微分方程式を解くことが難しいケースも多い。
Presentation transcript:

連続系アルゴリズム演習第3回 DE変換を用いた数値積分法

数値積分 積分を数値的に行う いくつかの点から元の関数を推察 サンプル点の値に対して、線形な変換 ニュートン・コーツ型 ガウス型 等間隔サンプル点 台形公式やシンプソン公式等 ガウス型 直行多項式の和で近似 サンプル点の値に対して、線形な変換

元の関数を等間隔点で数値積分する うまくいかない場合がある (当然だけれども)精度が悪い! 格子点数 値 10 2.76098424523760455074 100 3.02067393649180804260 1000 3.10333743010756357705 10000 3.12949474161108387449 100000 3.13776694058186977898 1000000 3.14038285636361580444 10000000 3.14121008209783481036 中心部分(良い性質を持ってる部分)でも 差分化を細かくしているのが勿体ない 誤差は大体点の数に対して 1/sqrt(n)くらいで減る

変数変換 φ(t)をうまく選ぶことで、数値積分をやりやすくする! 今回扱うDE変換はその一手法 無限区間積分に変換する

DE変換 元の関数 この部分がうまくいかなかった 変換後の関数 無限区間の積分がいるけど こっちはうまくいきそう!

DE変換の良さ 原点から遠ざかると、二重指数的に減少 程よく精度が出る 実質有限区間の積分でOK 差分の細かさによって、指数的に誤差減少 台形公式を使う 無限区間積分では、格子幅hに対してO(exp(1/h))の誤差 最適公式

双曲線関数 参考:

双曲線関数 指数的に 増加 指数的に ±1に漸近 指数的に 増加

有限区間から無限区間へのDE変換 有限区間[-1,1]の積分を、無限区間積分にする 変数変換をx=φ(t)として、 [-1,1]に収まらない場合は、収まるように事前に変数変換をす る 変数変換をx=φ(t)として、 tが-∞の時には、xは-1に近づき、tが+∞の時にはxは+1 に近づく

実際にやってみる 関数 を積分する 変数変換として、 変換後の関数は 指数で増大 exp(-exp(t))で1に近づく 関数 を積分する 変数変換として、 変換後の関数は 指数で増大 exp(-exp(t))で1に近づく exp(exp(t))^2で増大

そのまま計算する この例ではInfが出る(こともある) この例は既知の事実としてf(1)=Inf ある程度のtに対して 端点に特異点を持つ場合、特殊な処理が必要となる 特異点とは、Taylor展開不可能な点 この場合だと無限大に発散する点

解決案その1 tanh(π/2 sinh(t)) t=3あたりで丸め誤差の問題 1 1.0 - Δ t 1 t 1 t=3あたりでの丸め誤差の問題はない underflowはある(大体t=6あたり) t

解決案その1 問題はtanhの引数が1に近すぎるとき 関数もそれ用に変形して解いてみる tanhではなくて(1-tanh)という関数を求める この関数を積分すると、ましになる

解決案その2 もっと式変形をがんばる うまく項と項を削除する 具体的には、   を変形して解いていく

式変形続き

解決案1の結果 Δx = 0.1で、(-4.0, 4.0)を計算してみる 結果: 3.141592653589793116 ほとんど誤差がない 4*atan(1.0)=3.141592653589793116 場合によって丸め誤差程度は出る可能性がある これは避けられない

解決案2の結果 0.1刻みで[-4, 4]の範囲を計算 2.000000000000000000000000

DE変換の二つのポイント 刻み幅 打ち切り誤差 刻み幅をhとすると、誤差はO(e(-1/h))となる 二重指数的に減少する曲線を数値積分する 区間を固定して、点の数を増やすと、点の数に対して誤差が指数的 に減少する 打ち切り誤差 二重指数的に減少する曲線を数値積分する ものすごい速度で減るので、大体の大きさは見積もれる

刻み幅 台形公式の誤差 Δx→0で真の解に近づくとする 無限区間(-∞,∞)での積分誤差はO(exp(1/Δx)) 誤差 ブレがεよりも十分小さくなったら 誤差が十分小さいとみなす。 例えば、精度として1E-12程度の 誤差を許容するのであれば、 Δx=hの時の解と、Δx=h/2の時の 解の差が、1E-6よりも十分小さい ならば良い h 解の差が1E-6より十分小さい→Δx=hの時の誤差が1E-6より十分小さい →Δx=h/2の時の解が1E-12より小さいとみなせる

区間を固定した場合の誤差の推移 ちなみに、課題でも このグラフを提出すること 誤差 このあたりは丸め誤差レベル なので、これ以上は無理 点の数

打ち切り誤差 打ち切り誤差 無限区間積分を有限区間で切ることの問題 二重指数的に減少することを利用して見積もる 境界 拡大 Δに対して ほぼ0 Δ 境界での値Δがεより小さいならば、 誤差はhεより小さいと考えられる h

積分区間の決定 広くもなく狭くもない範囲で 大雑把に区間を広げていって、打ち切り誤差がなさそう な区間で止める 狭い場合 広い場合 打ち切り誤差が出る 台形公式の精度も出ない 広い場合 Infやら0やらNaNやらを扱う可能性 誤差減少の傾きが緩くなるかも 大雑把に区間を広げていって、打ち切り誤差がなさそう な区間で止める その区間で点を増やしていけばいい

ということで課題 以下の問題から2題以上選択する 問題1 問題2 必ず刻み幅と誤差の関係を示したグラフも出すこと このスライド中でも行った積分 二つの方法を両方実装すること 問題2 積分 問題1とまったく同じ方法で出来る 但し、式変形は自分でやること そんなに難しくはないはず 真の解はわからないので、ある程度細かく差分化したものを 真の解として、その差を使うことでグラフを作る

課題続き 問題3 問題4 積分 区間[0,∞)におけるDE変換は φ'(t)は自分で計算すること 区間[0,∞)において、元の関数が指数的に減少する場合は変 換として

課題続き 課題5 締切は、11月19日(月)とします 積分 区間(-∞,∞)におけるDE変換は φ'(t)は自分で(ry 本来の出題は11/5なので、そこから2週間

References [1]数値解析 第2版, 森正武, 共立出版株式会社, 2002年 [2]数値計算法の数理, 杉原正顯 室田一雄, 岩波書店, 1994 年 [3]FORTRAN 77 数値計算プログラミング 増補版, 森正武, 岩 波書店, 1987年 [4]Quadrature formulas obtained by variable transformation and the DE-rule, Masatake MORI, Journal of Computational and Applied Mathematics 12&13(1985) 119-130 [5]The double-exponential transformation in numerical analysis, Masatake Mori Masaaki Sugihara, Journal of Computational and Applied Mathematics 127(2001) 287-296 [6]Wikipedia 双曲線関数