2004年度後期 応用数学 第3回質問シート集計結果
第3回の質問シートへの回答をありがとうございました。参考になりました。
以下に頂いた質問・意見とそれへの回答を載せます。講義も残りあと2回となりましたが,頂い
た意見は今後の授業にできるだけ活かしていきたいと思います。
なお,このページの構成は以下の通りです。
I. 授業内容に関する質問・コメント
II. 授業方法に関する質問・コメント
I. 授業内容に関する質問・コメント
(1) ガウス=ザイデル法について
・ガウス=ザイデル法で修正する部分の符号の正負はどのように決まるのか,よくわからな
かった。
・ガウス=ザイデル法で修正量の符号が一致しないものにはどのような場合ですか。
・ガウス=ザイデル法で,何故,上と左の点については同じステップで計算した新しい値を
使えば,ヤコビ法より収束が速くなるのか分からない。
「修正量の符号」とは,u の上付き添字の (n) と (n+1) の使い分けのことでしょうか。ガウス=
ザイデル法ではヤコビ法と違い,第 n ステップでの u_ij の値を計算するために,そのステップ
で既に計算した格子点での u の値としては新しい値 u^(n+1) を使い,まだ計算していない格子
点については古い値 u^(n) を使います。したがって,左上から始めて右下に向かって1行ずつ
計算していく場合,上と左の点については新しい値,下と右の点については古い値を使うこと
になります。
上と左の点について新しい値を使うとなぜ収束が速くなるのかについては,講義では直感的な
説明(新しい値の方が収束値に近いので,部分的にでもそれを使った方が収束が速くなると考
えられる)しかしませんでした。しかし,ポアソン方程式に対しては,これを数学的に厳密に
証明することもできます。ヤコビ法でもガウス=ザイデル法でも,各ステップでの誤差ベクトル
e^(n) は 漸化式 e^(n+1) = C e^(n) (Cはある行列)に従って変化することが示せますが,行列
C のノルム(大きさ)がガウス=ザイデル法のほうが小さくなることが証明できます。したがって,
ガウス=ザイデル法の方が誤差の小さくなり方が速いわけです。詳しくは,たとえば森正武,
杉原正顕,室田一雄著 「線形計算」(岩波講座 応用数学,岩波書店,1994)を見てください。
(2) SOR法について
・SOR法の修正量とかの考え方がよく分からなかった。
・SOR法で,なぜ 0<ω<2 の範囲でとるのか?
・SOR法でもっとも速く収束するときのωの値は,理論的にはどう求めるのか?
SOR法では,まずガウス=ザイデル法における u^(n) を,u^(n+1) +(修正量)の形で表します
(これが修正量の定義)。その上で,修正量の符号が各ステップで変わらない(たとえば第 n
ステップで + だったら第 n+1 ステップでも +)場合が多いことに着目し,それなら,2回分をま
とめて修正するという意味で,修正量を過大に(ω倍に)してやればもっと速く収束するのでは
ないかと考えます。これがSOR法の基本的な考え方です。
それでは,なぜ 0<ω<2 の範囲で取るのかというと,まず,ω<0 の場合は,正しい方向と反対
方向に修正するので,真の解に近づかないことが予想されます。一方,ωをあまり大きく取る
と,修正量が大きすぎて真の解を超えてしまい,発散するか振動するかしてしまうことが予想
されます。実際,上のガウス=ザイデル法の項で述べたように誤差が e^(n+1) = C e^(n) と
書けることを用いて解析を行うと,係数行列 A が正定値ならば,SOR法は 0<ω<2 のとき収束
することを証明できます。また,ポアソン方程式に対しては,収束がもっとも速くなるωの値も
解析的に計算できます。これらについては,たとえば森正武著「数値解析」(共立出版)を見て
ください。
(3) 全般的に
・今,卒業研究で連立一次方程式を解く機会があるので,とてもためになりました。
・関数電卓でニュートン法が用いられていて,この間の実験で計算していたところ,同じ
計算式なのに答えが合わず,何故かと思っていたところ,初期値の違いだということが
分かり,どうやら違う値に収束していることが判明した。そのメカニズムなどを勉強し
ておいて良かったと思った。
最近では,Excel などの表計算ソフトや数値計算ライブラリが充実し,自分でプログラムを
組まなくてもいろいろな数値計算ができるようになっていますが,少し複雑な問題を解いたり,
解法のおかしな振る舞いの原因を調べたりするには,やはりアルゴリズムの知識が必要です。
皆さんがこの講義で得た知識を実際の研究に活用されることを願っています。
・同じ式の計算でも,異なるプログラミングで収束する速さが大きく異なる様子がよく
わかった。収束速度の遅い計算法は実際に使う機会があるのか?
同じ問題の解を求めるのでも,アルゴリズムによって効率が大きく違うことを理解してもらう
のは,この講義の目的の一つです。講義では効率的でないアルゴリズム(二分法,オイラー法,
ヤコビ法など)についても説明しますが,この理由としては (i) 遅いけれども安定性など別
の長所を持っている,(ii) 効率的なアルゴリズムの原型となっており,後者を理解するのに
不可欠である,の2つの場合があります。たとえば二分法は前者の例であって実際にも広く使
われていますが,オイラー法やヤコビ法は後者の例であり,使う機会は多くありません。講義
では,遅いけれども長所のあるアルゴリズムについてはその点を説明していますので,参考に
してください。
・最近むずかしい。
・よく分からない部分が増えてきた。ノートを取るのに追われてる感がある。
・適切な量とスピードで良いと思う。
・今のところ,特に問題はありません。
・問題ないです。いつも具体例が良いです。
・概ね良し。
・この調子でお願いします。
・この調子でお願いします。
・特にないです。
・ありません。すみません。
講義も後の方になるに従って,だんだん内容が高度になってきていますが,できるだけわかり
やすい説明を心がけたいと思っています。もしわからない点があったら,直接あるいはメール
などで遠慮なく質問してください。また,ノートを取るのが追いつかない場合は,少なくとも
解法の原理だけは授業中に理解し,あとはHPの講義ノートを参考にするといいと思います。
II. 授業方法に関する質問・コメント
(1) 版書について
・板書は字が大きくなって読み取りやすいです。ただ,板書を写すだけになってしまい,
一つの項目が長いと何をやっているのか(何を求めるべきなのか)わからなくなってし
まう時がある。
・黒板の字が大きめできれいなので,ノートがとりやすかった。授業のスピードもよいと
思った。
・黒板の板書のスピードがちょうどいいので,ノートがとりやすいです。
・板書が見やすくわかりやすい授業だと思います。また,実際に計算した結果も見れるの
は,理解するのに良いと思います。
・黒板の字が読みやすくてわかりやすかった。インターネットを利用して授業が復習でき
ていいと思う。
板書自体については,特に問題ないようですね。「一つの項目が長いと何をやっているのか
わからなくなってしまう」については,途中でできるだけ説明を入れるようにします。
(2) 講義ノートについて
・ホームページの講義ノートは,やっぱり講義前にアップされたりしないんですか?他の
授業みたいに毎回レジュメのように配布されると授業もわかりやすいんですけど。
・途中で,どういう順番でノートを取っていけばいいかわかりにくいところがありました。
・ネットでじっくり復習できて,助かります。
・インターネットを利用出来るのが便利。レポートでプログラムを作るのが大変。
講義ノートを事前にHPにアップするというのも一つの方法ですが,今回の授業では時間がなく
てそこまでできずにいます。その分,授業中に話の筋道を明確にするような説明をしていきた
いと思います。
プログラムは,初めての人には大変だと思いますが,基本的には講義で説明したアルゴリズム
をプログラムの形に書き直せばよいようになっています。レポートの「解答と講評」を参考に
して勉強してみてください。
(3) Java プログラムを使ったアルゴリズムの動作の実演について
・前回までの復習があって,とても授業に入りやすかった。プロジェクターなどでの図が
よくわかりやすかった。
・具体例を示してくれるので,わかりやすいです。
・授業が速いので,聞き流すだけになってしまうことが多い。計算例や,プログラムの実
行例を示してくれるのは,わかりやすくていい。
ありがとうございます。連立一次方程式の解法の部分は,Java プログラムで可視化してみせる
のが難しかったのでしませんでしたが,固有値の計算法では再び Java プログラムによる説明
を取り入れる予定です。
(4) レポートについて
・レポートが難しかったです。
・レポートをなかなか理解することができなかった。
・前回の演習問題は少し難しかったです。次回は出そうと思います。計算機は苦手ですね。
・第2回レポートの計算機を使って求める問題がわからなかった。講義中にもっとアルゴ
リズムについて教えて欲しいです。
・レポートで実際に数値実験をする機会があるので,今学んでいることがどんなことかが
わかりやすい。
第2回レポートは,講義で学んだことを少し発展させた問題が多かったので難しかったようで
すね。第3回レポートでは,もっと基礎的な問題も入れるようにしました。問題2は少し難し
そうに見えますが,講義ノートの陰的差分法,クランク=ニコルソン法の安定性解析の部分の
計算を自分で追ってみれば,できるようになっています。考えてみてください。
・演習のヒントなどいただけないでしょうか。
・レポートの詳しい解答が欲しいです。
・黒板の字も大きく見やすいので,このような感じでお願いします。HPでの授業ノートも
使えるので良いです。演習レポートの解答もHPに出して欲しいです。
演習のヒントについては,「この問題のここがわからないからヒントがほしい」ということを
メールで言ってもらえれば,ヒントをHPに掲載します(ただし来年1月6日以降になります)。
第2回レポートの解答と講評はHPに掲載しました。今後のレポートもそうする予定です。
・レポートを3回以上出した場合,何か特典のようなものはあるんですか?
・レポート課題を3回以上提出した場合はどうなるのでしょうか。点数の高いレポートか
ら優先されるのですか?
レポートを3回以上出しても,特典はありません。というのは,特典を与えるなら最初にそう
言っておかないと,第1回のレポートを出さなかった人に対して不公平になるからです。ただ
しレポートの点数については,提出されたもののうち,点数の高い2つを選んで点数を付ける
ことにします。
(5) 期末試験について
・定期試験ではレポート問題のようにプログラムを書かせる問題も含まれるのですか?
・期末試験でアルゴリズムを書く問題も出題されますか?
アルゴリズムを記述する力は重要なので,期末試験ではアルゴリズムを書く問題を出題する可
能性があります。ただし,その場合でも,講義で黒板に書いた程度の(計算の手順がわかる)
アルゴリズムが書ければ十分です。プログラミング言語の文法に沿っていないからといって,
減点することはありません。
(6) その他
・近似の名前が多くなり,一度名称などで整理すると頭の中がまとまると思う。
・教科書との関連付けをもう少しやって欲しい。例えば「△△はp. ○○です」など。
今まで勉強した数値解法の名称を整理するのはいい考えですね。現在,講義ノートに索引を
付けようと考えていますので,完成したらHPに掲載します。
教科書との関連付けについてですが,これから学ぶ固有値の計算法は残念ながら今まで使って
きた教科書には載っていません。たとえば 森正武著「数値解析」(共立出版)には詳しく書かれ
ていますので,より詳しく知りたい人は見てみてください。ただし,講義は,それだけでわかる
ように工夫するつもりです。
それでは皆さん,良いお年をお過ごしください。
講義のページに戻る
Topに戻る