Comments
Description
Transcript
エラーマップを利用した シンプレクティック・レイト
エラーマップを利用した シンプレクティック・レイトレーシングの高速化 佐藤 哲(独立行政法人 情報通信研究機構) 1 はじめに ハミルトン系を可視化する手法の一つであるシンプレクティック・レイトレーシング [1] は,ユーザ が少ない手間で多様な現象のシミュレーションが実行できる反面,可視化技術としては計算コストが 高いことが問題となっていた.そこで本発表では,ハミルトン系の特性を利用して数値計算の大域誤 差を推測し,精度調整をすることで効率的に計算する手法を提案する. 2 系の流れの複雑さの推測 一般に,微分方程式を数値的に解く場合,微分を差分近似する際の差分の大きさである刻み幅によっ て局所誤差の精度が変わる.丸め誤差の影響を無視すると刻み幅は小さいほど近似精度は高くなるが, 計算速度は刻み幅が大きい方が速い.従って刻み幅を適応的に変化させることは数値計算をする場合 に効果的である.しかし本研究で採用しているシンプレクティック数値積分法では,ある流れの上で 刻み幅を変化させると保存量が保存されなくなる場合が多いことが知られており,自由に変化させる ことができない.ただし,ある流れの途中で刻み幅を変化させることはできなくても,複数の流れに 対して異なる刻み幅を使用することは可能である.本研究では非線形光線追跡法の考え方に基づき可 視化するので大量の流れを追跡する必要があり,単純な軌道の流れに対しては刻み幅を大きくとって 高速に計算し,複雑な軌道の流れに対しては刻み幅を小さくとって精密に計算するという戦略は効果 があると考えられる. 系の流れの複雑さは,次のようにハミルトニアンの値を調べることで推測することが可能である. 図 1 は,ブラックホール時空の周囲の 2 本の光線の軌道を示している.点線の光線 A は急激に曲がっ ており,実線の光線 B は緩やかに曲がっている.図 2 は,図 1 の軌道上でのハミルトニアンの値であ る.点線で示される光線 A が急激に曲がっている部分で,ハミルトニアンの値が大きく初期値からず れていることが分かる.光線の軌道が直線に近いほど,ハミルトニアンの変化は小さくなる.従って ハミルトニアンの初期値からの差を調べることで,流れの複雑さを推測することができる. 図 1: 光線 A と光線 B の軌道 図 2: ハミルトニアンの値 図 3: 8 点に対する流れの 図 4: 補間によるエラー 複雑さを推測した例 3 図 5: 計算時間測定例 マップ生成例 エラーマップ生成 エラーマップは次のように生成される.まず,可視化画像を生成する画面領域からある数だけ点を 選択し,十分に小さな刻み幅を用いて光線追跡をして流れの複雑さを推測する.そして選択された点 を用いて画面を三角形分割し,三角形の内部の点の複雑さを次のような線形補間を用いて求める: f (x, y) = ax + by + c ただし a= c= (y2 − y1 )f0 + (y0 − y2 )f1 + (y1 − y0 )f2 (x2 − x1 )f0 + (x0 − x2 )f1 + (x1 − x0 )f2 ,b = , d −d x0 (x2 y1 − x1 y2 )f0 + (x0 y2 − x2 y0 )f1 + (x1 y0 − x0 y1 )f2 , d = x1 d x2 y0 1 y1 y2 1 1 であり,(xi , yi ) は三角形の i 番目の頂点の座標,fi は頂点 i を通る流れの複雑さである.図 3 は 210 画素の中から 8 点を選び流れの複雑さを推測した結果である.完全に黒い部分を除き,複雑さが大き いほど濃い色で表されている.図 4 は,補間により全画素の複雑さを求めたエラーマップである. このようなエラーマップを利用し,流れの複雑さに反比例した大きさの刻み幅を用いてシンプレク ティック・レイトレーシングを実行し,50x50 画素の画像を作成した場合の,計算時間の測定例を図 5 に示す.この実験では,CPU は Itanium2(1.3GHz) × 4,メモリ 20GByte の計算機で,Intel C++7.1 コンパイラを用いて実行ファイルを作成し,OpenMP により並列計算をした.計算内容はブラック ホール時空での光線追跡で,手前の白いグラフが刻み幅を変化させた場合の計算時間,奥の灰色のグ ラフが固定された刻み幅を用いた場合の計算時間である.水平方向はブラックホールの質量に対応す るパラメータの違いを表しており,右に行くほど時空の歪みが大きく,力学系の流れは複雑な軌道に なる.グラフより,刻み幅が固定されていると 100 秒ほどの時間がかかっているが,刻み幅を調節す ることで 60 秒以下で処理できていることが分かる. 4 おわりに ハミルトン系の流れを計算して画像を生成する手法に対し,ハミルトニアンの値を利用して数値計 算の大域誤差を推測することで数値計算の刻み幅を調整し,効率よく計算する手法を提案した. 謝辞:本研究の一部は,文部科学省科学研究費補助金(若手研究 (B)16700231)の支援による. 参考文献 [1] 佐藤哲:非線形光線追跡法に基づく力学系の可視化, 日本応用数理学会 2003 年度年会講演予稿集, pp. 2—3 (2003).