大規模な三角 Toeplitz 線形方 程式の高速解法とその応用 ○ 安村 修一(法政大学 4 年) 李 磊(法政大学) 日本応用数理学会「行列・固有値の解法とその応用」研究部会 第6回研究会.

Slides:



Advertisements
Similar presentations
1 高速フーリエ変換 (fast Fourier transform). 2 高速フーリエ変換とは? – 簡単に言うとフーリエ変換を効率よく計算 する方法 – アルゴリズムの設計技法は分割統治法に基 づいている 今回の目的は? – 多項式の積を求める問題を取り上げ、高速 フーリエ変換のアルゴリズムを用いた解法.
Advertisements

Absolute Orientation. Absolute Orientation の問題 二つの座標系の間における剛体 (rigid body) 変換を復元す る問題である。 例えば: 2 台のステレオカメラから得られた3次元情報の間の関 係を推定する問題。 2 台のステレオカメラから得られた3次元情報の間の関.
1 線形代数学. 2 履修にあたって 電子情報システム学科 必修 2005 年度1セメスタ開講 担当 草苅良至 (電子情報システム学科) 教官室: G I 511 内線: 2095 質問等は上記のいずれかに行なうこと。 注意計算用のノートを準備すること。
到着時刻と燃料消費量を同時に最適化する船速・航路計画
データ解析
有限差分法による 時間発展問題の解法の基礎
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
Intel AVX命令を用いた並列FFTの実現と評価
Fill-in LevelつきIC分解による 前処理について
一般化Bi-CGSTAB(s, L) (=一般化IDR(s, L))
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
セキュアネットワーク符号化構成法に関する研究
XHTML構文検証手法における スクリプト要素の静的解析アルゴリズム
ラベル付き区間グラフを列挙するBDDとその応用
Problem J Tile Puzzle 原案:野田 担当:平野,吉田,泉,松本.
三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
4.3 連立1次方程式   Ax = b   (23) と書くことができる。
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
Extremal Combinatorics 14.1 ~ 14.2
原子動力工学特論 課題 3、4 交通電子機械工学専攻   齋藤 泰治.
AllReduce アルゴリズムによる QR 分解の精度について
重力3体問題の数値積分Integration of 3-body encounter.
IT入門B2 ー 連立一次方程式 ー.
第二回 連立1次方程式の解法 内容 目標 連立1次方程式の掃出し法 初期基底を求める 連立1次方程式を掃出し法を用いてExcelで解析する
PCクラスタ上での 連立一次方程式の解の精度保証
線形代数学 4.行列式 吉村 裕一.
4.2 連立非線形方程式 (1)繰返し法による方法
理学部情報科学科 金田研究室 指導教官 金田 康正 工藤 誠
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
サポートベクターマシン によるパターン認識
高次元データの解析 -平均ベクトルに関する検定統計量の 漸近分布に対する共分散構造の影響-
数学 ---> 抽象化、一般化 より複雑な関係ー>解析学 一次関数 y=ax+b より多くの要素ー>線形代数 x y f(x) y1 x1
応用数理工学特論 第6回 計算理工学専攻 張研究室 山本有作.
正規分布における ベーテ近似の解析解と数値解 東京工業大学総合理工学研究科 知能システム科学専攻 渡辺研究室    西山 悠, 渡辺澄夫.
スペクトル法の一部の基礎の初歩への はじめの一歩
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
Online Decoding of Markov Models under Latency Constraints
プログラミング演習I 行列計算と線形方程式の求解
LU分解を用いた連立一次方程式.
「R入門」  5.7 行列に対する諸機能  10月23日 (木) 発表者 大城亜里沙.
ルンゲクッタ法 となる微分方程式の解を数値的に解く方法.
知能システム論I(13) 行列の演算と応用(Matrix) 2008.7.8.
NMF と基底モデルを用いた多重楽音解析 2-P-10 中鹿亘 ・ 滝口哲也 ・ 有木康雄 (神戸大) 概要 従来手法の問題点 提案手法
導電性高分子材料の電子状態計算に現れる連立一次方程式に対する 並列直接解法の高性能化
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
パターン認識特論 担当:和田 俊和 部屋 A513 主成分分析
GPUを用いた疎行列の格納形式による行列ベクトル積の評価
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
資料 線型変換のイメージ 固有値、固有ベクトル 平賀譲(209研究室) 資料
4. システムの安定性.
補講:アルゴリズムと漸近的評価.
「ICAによる顔画像特徴量抽出とSVMを用いた表情認識」
行列式 方程式の解 Cramerの公式 余因数展開.
``Exponentiated Gradient Algorithms for Log-Linear Structured Prediction’’ A.Globerson, T.Y.Koo, X.Carreras, M.Collins を読んで 渡辺一帆(東大・新領域)
ガウス分布における ベーテ近似の理論解析 東京工業大学総合理工学研究科 知能システム科学専攻 渡辺研究室    西山 悠, 渡辺澄夫.
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰
密行列固有値解法の最近の発展 (I) - Multiple Relatively Robust Representation アルゴリズム - 2004年11月26日 名古屋大学 計算理工学専攻 山本有作 日立製作所の山本有作です。 「~」について発表いたします。
パターン認識特論 カーネル主成分分析 和田俊和.
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
3 一次関数 1章 一次関数とグラフ §4 方程式とグラフ         (3時間).
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
5.2 グレゴリー・ニュートン(Gregory-Newton)の補間式 (1)導入
8.数値微分・積分・微分方程式 工学的問題においては 解析的に微分値や積分値を求めたり, 微分方程式を解くことが難しいケースも多い。
Presentation transcript:

大規模な三角 Toeplitz 線形方 程式の高速解法とその応用 ○ 安村 修一(法政大学 4 年) 李 磊(法政大学) 日本応用数理学会「行列・固有値の解法とその応用」研究部会 第6回研究会

目次 研究背景 Toeplitz 行列 ・定義 ・連立一次方程式の解法 三角 Toeplitz 行列 ・定義 ・連立一次方程式の解法 性能評価 ・計算量 ・アルゴリズム ・数値実験 応用

研究背景 Toeplitz 行列は様々な分野, 例えば信号処理分野 の線形システムや自己相関行列などで現れる 工学上有用な行列である. Toeplitz 行列は特殊な構造をしているため, 一般 的な行列より計算しやすい性質がある 連立一次方程式や逆行列を高速に解くこと が出来れば応用解析の効率があがる

Toeplitz 行列 n×n の 行列 A が以下の形式であれば Toeplitz 行列 と呼ぶ A の i 行 j 列の要素を A i, j と表すとき以下が成り立つ

Toeplitz 連立一次方程式 A : n×n Toeplitz 行列 b, x : n 次ベクトル Ax = b 直接法 Levinson-Durbin アルゴリズム [2] : O(n 2 ) 最近の研究 ( superfast, asymptotically algorithms ) 高速フーリエ変換を利用した方法 : O(nlog 2 3 n) 三重対角化を利用した方法 [3] : O(nlog 2 2 n) 反復法 前処理付き共役勾配法 (PCG 法 ) 一般化共役残差法( GCR 法)

三角 Toeplitz 行列 行列 A が t  k =0 ( k =1,2, ・・・ n  1 )のとき 三角 Toeplitz 行列 と呼ぶ 行列 T は第 1 列の要素のみで表すことができる O

三角 Toeplitz 連立一次方程式 直接法 前進代入 : O(n 2 ) 多項式の除算から求める方法 : O(nlog 2 2 n) 今回紹介する手法 [1] 分割統治法+高速フーリエ変換 : O(nlog 2 n) 1987 年 Z. You, L. Li によって提案された T : n×n 三角 Toeplitz 行列 b, x : n 次ベクトル Tx = b

計算量(補題) T 1 (n) : 三角 Toeplitz 連立一次方程式を解くために必要な計算量 T 2 (n) : 三角 Toeplitz 行列の逆行列を求めるために必要な計算量 T 2 (n) ≦ T 1 (n) ≦ T 2 (n) + O(nlog 2 n) 三角 Toeplitz 行列 T の逆行列 T  1 は三角 Toeplitz 行列 T  1 の全要素は第 1 列によって決定 T  1 の第 1 列をベクトル x’ としたとき Tx’ = (1, 0, ・・・, 0) T を満たす方程式を解けば逆行列が求められる 三角 Toeplitz 連立一次方程式 Tx = b を解く 高速フーリエ変換を使って巡回畳み込みを計算 : O(nlog 2 n) x = T  1 b : 逆行列とベクトルの積 T 2 (n) ≦ T 1 (n) T 1 (n) ≦ T 2 (n)+O(nlog 2 n) (1)(1)

アルゴリズム(解) n × n の三角 Toeplitz 連立一次方程式: T, b を以下のように 2 k  1 次に分解 三角 Toeplitz 行列の逆行列 三角 Toeplitz 連立一次方程式の解 (2)(2) T 1 : 三角 Toeplitz 行列 T 2 : Toeplitz 行列

アルゴリズム(逆行列) 逆行列を求めるとき b = (1, 0, ・・・, 0) T b 1 = (1, 0, ・・・, 0) T b 2 = (0, ・・・, 0) T (2) 式に代入して整理すると : 逆行列の 1 列目 (3)(3) Toeplitz 行列とベクトルの積(畳み込み)の回数 解を求めるとき : 3 回 逆行列を求めるとき : 2 回

アルゴリズム procedure ttoeplitz(T[1..n], b[1..n], x[1..n]) begin T 1 [1..n/2] ← T[1..n/2]; T 2 [1..n/2] ← T[n/2+1..n]; if n > 2 then ttoeplitz(T 1, NULL, T 1  1 ); else T 1  1 [1] = 1 / T 1 [1]; if b == NULL then begin x[1..n/2] = T 1  1 ; x[n/2+1..n] =  T 1  1 * T 2 * T 1  1 ; else b 1 [1..n/2] ← b[1..n/2]; b 2 [1..n/2] ← b[n/2+1..n]; x 1 [1..n/2] = T 1  1 * b 1 ; x[1..n/2] = x 1 ; x[n/2+1..n] =  T 1  1 * (T 2 * x 1  b 2 ); end (3) 式 逆行列の計算 (2) 式 解の計算 再帰呼び出し

計算量 連立一次方程式・逆行列を求めるために必要な計算量は O(nlog 2 n) を超えない 補題 T 2 (n) ≦ T 1 (n) ≦ T 2 (n) + O(nlog 2 n) (2)式(2)式

性能評価 OS: Microsoft Windows XP Professional CPU: Intel Core2 Duo 2.60GHz RAM: 3.0GB Compiler: Microsoft Visual C ( C 言語) 計算機環境 ( 1 ) t k = exp(  k), k = 0,1, ・・・, n-1 のとき x = 1.0 となるように b を設定し連立一次方程式を解く 三角 Toeplitz 連立一次方程式 Tx = b ( 2 ) t k = cos(k), 0 ≦ k ≦ 2π のとき x = 1.0 となるように b を設定し連立一次方程式を解く 比較手法として前進代入を使い, (絶対値)平均誤差, 最大誤差, 計算時間 [ 秒 ] を測定する

性能評価(結果 1 ) サイズ 従来手法 O(n 2 ) 提案手法 O(nlog 2 n) 平均誤差最大誤差計算時間 [ 秒 ] 平均誤差最大誤差計算時間 [ 秒 ] E E E E E E E E E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E t k = exp(  k), x = 1.0 のときの結果

性能評価(結果 1 ) t k = exp(  k), x = 1.0

サイズ 従来手法 O(n 2 ) 提案手法 O(nlog 2 n) 平均誤差最大誤差計算時間平均誤差最大誤差計算時間 E E E E E E E E E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E , E E E E 性能評価(結果 2 ) t k = cos(k), x = 1.0 のときの結果

性能評価(結果 2 ) t k = cos(k), x = 1.0

考察 計算時間 ・提案手法は従来手法 O ( n 2 ) に比べて, 大規模な連立一次 方 程式でも高速に解を求めることができる. ・比較的規模の小さな問題に対しては、計算にかかる時 間は 従来手法とほとんど変わらない 誤差 ・従来手法とほとんど変わらないが, 問題によっては誤 差に ばらつきが出てしまう. これは畳み込みの丸め誤差の影響であると考えられる

応用 Gauss-Seidel 法に適用 Toeplitz 連立一次方程式 Ax = b A = L+U より よって反復式は procedure gauss_seidel(L[1..n], U[1..n], b[1..n], x[1..n]) begin ttoeplitz(L, NULL, L -1 ); for k ← 0 step 1 until convergence x k+1 = L -1 * (b – U * x k ); end SOR 法に適用 Gauss-Seidel 法の反復式より

応用(数値実験) 以下の式から生成された Toeplitz 行列とベクトルを係数とし Ax = b を解く 三角 Toeplitz 行列の高速解法を SOR 法に適用したもの, 通常の SOR 法 BiCG 法の計算時間と反復回数を測定する サイズ SOR 法( ω=1.1 )+高速解法 SOR 法( ω=1.2 ) BiCG 法 反復回数計算時間 [ 秒 ] 反復回数計算時間 [ 秒 ] 反復回数計算時間 [ 秒 ]

応用(考察) 高速解法を適用した SOR 法は他の 2 つに比べて反復回数 が多くなってしまったが, 計算時間は BiCG 法と同じくら いで通常の SOR 法よりはるかに早い結果になった SOR 法を単独で用いるのではなく PCG 法, BiCG 法, GCR 法などの前処理として今回の高速解法を適用した SOR 法 を用いれば更なる高速化が期待できる

まとめ 参考文献 [1] の手法を元に三角 Toeplitz 連立一次方程式を 分割統治法と高速フーリエ変換を使って O(nlog 2 n) で計算 できる高速解法の性能評価を行った 数値実験より提案手法が大規模な三角 Toeplitz 連立一次方 程式に対して高速, かつ, 精度良く計算できることを示し た 提案手法を Gauss-Seidel 法( SOR 法)に適用することに よって Toeplitz 連立一次方程式を高速に計算できることを 示した 他の手法の前処理として提案手法を使うことによって更 なる高速化が期待できる

参考論文 [1] Z. You, L. Li, The Time Complexity of Triangular Toeplitz Systems, Mathematica Numerica Sinica, 9:3, pp , 1987 [2] Levinson, N, The Wiener RMS error criterion in filter design and prediction. J. Math. Phys., v. 25, pp [3] G. Codevico, G. Heinig, and M. Van Barel, A superfast solver for real symmetric Toeplitz systems using real trigonometric transformations, Department of Computer Science, K.U.Leuven, Report TW 386, Leuven, Belgium, February, 2004