Next:
2.4 方法の説明
Up:
2 本日すべきこと
Previous:
2.2 解説
2.3 課題2 (努力目標部分)
以下の中から出来ることを二つ三つやってみよう。 「難易度」は大まかな目安である (MATLAB を使うか、C を使うかでも異なる)。
プログラムを C で書いた場合: 付録で説明した高橋版アルゴリズムを 用いるようにプログラムを書き直してみよ。
誤差、残差がそれぞれどのように減少するか観察せよ。単調減少するか? (難易度小)
(未知数の個数
が小さい場合で良いから) 残差ベクトル
の 直交性、
の共役直交性を数値計算で確かめよ (難易度中)。
係数行列の固有値について調べよ。厳密に求めることも可能であるし、 もちろん MATLAB を使ってもよい (C, C++ で書いた場合もここだけは MATLAB を使って構わない)。
CG 法の収束の速さについて
が成り立つと言われているが、検証せよ (難易度中〜大)。
係数行列は三重対角行列なので、行列とベクトルの掛け算の計算量はかなり節 約できるはずである。これを遂行せよ (難易度中)。
講義で説明した
SD 法
(steepest descent method -- 探索方向
として
を用いる) のプログラムを作り、CG 法と比較せよ。
Next:
2.4 方法の説明
Up:
2 本日すべきこと
Previous:
2.2 解説
Masashi Katsurada
平成17年5月24日