Surface Science and Solid State Theory Laboratory

@surface


Archive for 7月, 2012


数値計算2012/7/17 0

Posted on 7月 16, 2012 by kimi

7月17日分の講義資料をアップロードしておきました。最終回は乱数とそれを利用したモンテカルロ法について説明します。

乱数を使ったシミュレーションは、数学的に解くのが困難な問題に対する最終兵器です。同時に最終レポートの問題に詰まった時の最終兵器でもあります。健闘を祈ります。(祈ってどうにかなるもんなのだろうか?)

数値計算2012/7/10 0

Posted on 7月 06, 2012 by kimi

7月10日分の講義資料をアップロードしておきました。今回は行列の固有値、固有ベクトル、所謂行列の対角化です。

電気電子工学では固有方程式型の微分方程式に帰着する問題が数多くあります。量子力学で出てくる時間に依存しないシュレディンガー方程式もその一つです。固有方程式型の微分方程式は解を適当な正規直交関数系で展開することによって行列の固有値問題に焼き直して解くことがよく行われます。最もよく使われ、最も汎用的な正規直交関数展開が前回扱ったフーリエ展開です。そこで前回の高速フーリエ変換と同時に今回の行列の対角は非常によく使用されるツールになっています。実際にはフーリエ変換も、行列の対角化も自分でコーディングするよりも適当なライブラリを使用することの方が多いのですが、それらの原理についてちゃんと理解しておかないと、ライブラリを適切に使用することはできません。講義では最も頻繁に必要になる実対称行列の対角化に絞って話をします。

また、固有値・固有ベクトルを求める際、全ての固有値や固有ベクトルが必要なわけでなく、最大固有値もしくは最少固有値だけが必要な場合や、大きいほうからもしくは小さいほうから数個だけ固有値と固有ベクトルが必要な場合がよくあります。特に対象とする行列が非常に大きな次元を持つ時にはこのような場合がよく出てきます。そのような場合には「繰り返し法」と「シュミットの直交化」を用いていくつかの固有値と固有ベクトルの組だけを求めることも頻繁に行われます。

どちらにせよ実対称行列に限ってもの固有値と固有ベクトルを求める実用的なプログラムを書くのは結構大変な作業になります。意欲のある人は是非、トライしてみてください。いつでも相談に応じます。

数値計算2012/7/3 0

Posted on 7月 02, 2012 by kimi

7月3日分の講義資料をアップロードしておきました。今回はフーリエ変換です。

計算機でフーリエ変換・フーリエ展開を行うための技法を特別に離散フーリエ変換などと呼んだりもしますが、連続とか無限といった計算機を用いて計算する際には厄介な数学的概念を計算機に乗るように修正すると、フーリエ変換もフーリエ展開も区別がつかなくなってしまいます。計算自体は面倒くさいものですが所詮は三角関数の計算と積和の計算ですから定義通りに計算するためのプログラムはすぐにつくれるようになってください。問題はこのフーリエ計算というのは非常に有用な計算なのですが同時に非常に計算量の多い計算だという点です。これを改善するために高速フーリエ変換(FFT)と呼ばれる技法が知られています。講義ではこのFFTを中心に話します。

研究者の中には数値計算で役に立つのはFFTだけだと豪語する人までいます。まあ、私も数値計算で役に立つのはガウスザイデル法と各種対角化とFFTだけだと思っていますが。前回お見せしたように実用的なガウスザイデル法というのは余りにも簡単且つ単純なものですから問題ありませんが、今回のFFTと次回のヤコビ法(実対称行列の対角化)の実用的なプログラムを書くのは結構大変な作業になります。はっきり言って,この二つが書けるようになれば免許皆伝です。(逆に言えばこの講義を受けて単位をとるだけでは免許皆伝にはほど遠い。)是非、トライしていただきたいと思います。

先週締切のレポートについては只今誠意採点中です。まあ、間に合います。多分、間に合うと思います。間に合うんじゃないかなあ。ま、ちょっと覚悟はしておけ♪



↑ Top