最適化、数値計算プログラム、並列計算
コンピュータ上で,画像処理や情報検索をする場合,特異値分解が用いられることがあります. 特異値分解は,NxM行列 A を A = U Σ V^T に式変形することによって得られます.この際,行列 U と V は直交行列で表現され, 行列 Σ は特異値を要素とする対角行列となります.
コンピュータ上で特異値分解する場合,一般的に,与えられた行列 A は,Householder 法等の手法を用いて上 2 重対角行列 B に 変換し,行列 B を用いて計算されます.
既存の上 2 重対角行列のための特異値分解法として,QRs 法や dqds 法とTwist分解を組み合わせた方法がありますが, どれも速度や精度,収束性に問題を持っています.そこで,新しい特異値分解法として I-SVD を提案し, それを実行するためのライブラリを開発しています.
例えば荷物を詰め込みたいとき、例えば旅行にいきたいとき、そんなときに考えなければならない組み合わせを現実的な時間で求めるための方法を提案しています。主には、遺伝的アルゴリズムを研究対象としています。
地球シミュレータに代表されるように,より高速な計算を行うためには,1台の計算機よりも複数台の計算機でプログラムを 実行させる方法が主流となってきています.
並列プログラムの開発では,プログラムの内容自体を分散させるだけでなく,コンピュータ間のやり取り(通信)のための時間や, コンピュータ内部の記憶(メモリ)容量を考慮する必要があります.