Mathematicaによる固有値計算の高速化 ~ Eigenvalue calculation speed by Mathematica ~ 情報工学科 06A2055 平塚 翔太.

Slides:



Advertisements
Similar presentations
Mathematica による固有値計算の高速化 Eigenvalue calculation speed by Mathematica 情報工学部 06A2055 平塚翔太.
Advertisements

HBSP モデル上での 行列積を求めるアルゴリ ム 情報論理工学 吉岡健太.
コンピュータプラクティ スⅠ 比較実験 水野嘉明. 本日の予定 計算量について 「比較実験」  パラメータを変化させての比較 ⇒ 実験1  二つのプログラムの比較 ⇒ 実験2  実験レポート R3として提出 2.
大規模な三角 Toeplitz 線形方 程式の高速解法とその応用 ○ 安村 修一(法政大学 4 年) 李 磊(法政大学) 日本応用数理学会「行列・固有値の解法とその応用」研究部会 第6回研究会.
学事予算の支出状況表作成に 係る業務の効率化 教学部 高輪教学課 加藤美博. 目 次 ①背景 ②財務情報システムの現状 ③これまでの取り組み ④新たな改善事項 ⑤効果.
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
連続系アルゴリズム演習 第2回 OpenMPによる課題.
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
Fill-in LevelつきIC分解による 前処理について
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
TCPコネクションの分割 によるスループットの向上
情報工学科 06A2055 平塚 翔太 Hiratsuka Shota
三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔.
~補助記憶装置~  主記憶装置に記憶されるデータは,パソコンの電源を切ると記憶内容が消えてしまう。また,容量にも限界があるので,補助記憶装置にデータを記憶させる。補助記憶装置はパソコンの電源を切っても記憶内容は消えない。補助記憶装置の内容は主記憶装置上で利用することができる。 電源OFF 電源OFF.
稲葉 一浩 (k.inaba) Python と プログラミングコンテスト 稲葉 一浩 (k.inaba)
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
確率論・数値解析及び演習 ─ 数値解析 ─ 第三章 (補足資料) 名古屋大学工学部電気電子・情報工学科 電気電子工学コース.
プライバシ協調フィルタリングにおける 利用者評価行列の次元削減
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
AllReduce アルゴリズムによる QR 分解の精度について
第4回 個人の動画配信補足のためのWeb構築
プロセス制御工学 6.PID制御 京都大学  加納 学.
情報処理Ⅱ 2005年12月9日(金).
アルゴリズムとデータ構造 2011年6月13日
動的ハフマン符号化の例 入力:ABCDEからなる文字列 出力:動的に作ったハフマン木.
データ構造と アルゴリズム 知能情報学部 新田直也.
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
情報処理Ⅱ 第9回 2004年12月7日(火).
円 周 率 物 語.
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
Mathematicaによる固有値計算の高速化 Eigenvalue calculation speed by Mathematica
高次元データの解析 -平均ベクトルに関する検定統計量の 漸近分布に対する共分散構造の影響-
東京大学大学院情報理工学系研究科 Y.Sawa
プロセス間データ通信  齋藤グループ 小林 直樹
1. 集合 五島 正裕.
「R入門」  5.7 行列に対する諸機能  10月23日 (木) 発表者 大城亜里沙.
ネットワークの性能 牧野ゼミ3年 足立龍哉.
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発
UDPマルチキャストチャット      空川幸司.
個人の動画配信のためのWebサーバ構築 06A1058 古江 和栄.
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
パターン認識特論 担当:和田 俊和 部屋 A513 主成分分析
サポートベクターマシンを用いた タンパク質スレッディングの ためのスコア関数の学習 情報科学科4年 81025G 蓬来祐一郎.
モバイルP2Pを用いた携帯電話 動画配信手法の提案 第2回 FM10019 種田研究室 古江和栄
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
短い部分文字列の ミスマッチトレランスを 高速計算するアルゴリズム
C9 石橋を叩いて渡るか? ~システムに対する信頼度評価~
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
藤本翔太1, 狩野裕1, Muni.S.Srivastava2 1大阪大学基礎工学研究科
停止ストリームの検知 情報工学部 情報工学科 06a2072 山下 雄
停止ストリームの検知(2).
Max Cut and the Smallest Eigenvalue 論文紹介
原子核物理学 第7講 殻模型.
プログラミング言語論 第10回 情報工学科 篠埜 功.
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
実験計画法 Design of Experiments (DoE)
密行列固有値解法の最近の発展 (I) - Multiple Relatively Robust Representation アルゴリズム - 2004年11月26日 名古屋大学 計算理工学専攻 山本有作 日立製作所の山本有作です。 「~」について発表いたします。
C10:秘匿共通集合計算プロトコルを用いた 就職活動支援システム“JHT”
モデルの微分による非線形モデルの解釈 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
Mathematicaによる固有値計算の高速化 Eigenvalue calculation speed by Mathematica
キャッシュマシン向け三重対角化 アルゴリズムの性能予測方式
割り当て問題(assignment problem)
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
外れ値検出 Outlier Detection 外れサンプル検出 Outlier Sample Detection
Presentation transcript:

Mathematicaによる固有値計算の高速化 ~ Eigenvalue calculation speed by Mathematica ~ 情報工学科 06A2055 平塚 翔太

スライド一覧 前回のあらすじ プログラムの高速化(9) プログラムの高速化(10) プログラムの高速化(11) 今後の課題 参考文献

前回のあらすじ 10進数 4^2 4^1 4^0 16 1 17 ・ 63 3 リスト化

三重対角行列の作成 固有値計算 緩和時間がわかる 非平衡から平衡へ変化するとき,変化に要する時間 -1 / λ

プログラムの高速化(9) 行列作成にDiagonalMatrix関数を用いる 一列ごとリストを作り,くっつける

上段 中段 -α -α-β/w-h[1] -α-2β/w-2h[2] -α-3β/w-3h[3] ・・・ -β/w-nh[n] -α -nβ/w -nh[n]

中段 下段

結果

このプログラムは1つしか行列を作成せず,かつhリスト2重リストなので関数化させる. 引数に設定する

速度結果 前回のようにelやwを大きくすると速くなるが,行列を大きくすると遅くなる・・・ n(行列の大きさ) (n×n行列) 作成プログラム (行列プログラムのみ) オリジナルプログラム (プログラム全体) 50 0.312秒 1.684秒 100 0.702秒 2.0436秒 500 9.4224秒 5.4132秒 700 16.2084秒 6.9888秒 1000 Error 9.9216秒

プログラムの高速化(10) Diagonal関数では遅いので SparseArray関数を用いて 三重対角行列を作成する.  三重対角行列を作成する. DiagonalとSparseArrayの構造を調べる

Diagonalのときと同じく,一列ずつ作成する 上段 中段

結果

さらに、 ①リストの作成部分と行列の作成を分ける. SparseArray内にリスト処理プログラムを置くと時間がかかると考えられる

②関数化せず, Table関数を用いてSparseArrayを処理させる. 一回一回呼び出して計算させると処理時間がかかると考えられる

速度結果② 前回より速くなったが,オリジナルとさほど変わらない・・・ n(行列の大きさ)(n×n行列) SparseArray(s) 50 0.327 0.843 1.576 100 0.483 1.342 2.043 250 0.904 2.980 3.338 500 1.826 5.600 5.631 750 2.761 8.377 8.389 1000 3.791 11.247 10.702

プログラムの高速化(11) 固有値計算 Eigenvalues関数 関数化し,行列のリストすべてを計算させる.

計算結果をリスト化 Max,Min関数で最小値と最大値を出力する. ・

今後の課題 さらに高速化させるよう現プログラムのボトルネックを中心に改良する.

参考文献 Mathematica Document Center カーネル内またはホームページ http://reference.wolfram.com/mathematica/guide/Mathematica.html

ご清聴ありがとうございました