そして固有値は、以下で得られます。
■[U]の再直交化■
前にもEigen&Lanczosで言いましたが
計算を行うとどうしても有限桁による誤差が発生してしまいます。固有値問題の計算では、
正規ベクトル群[V]の直交性が徐々に失われてしまい、計算精度を落とすことになります。
そこで考え出されたのが[U]の直交化です。前同様にここでは、Gram-Schmidt 直交化で話を進めま
す。
まず、Lanczos 法で{Rj}を計算します。このベクトルは、これまで計算してきた正規ベクトル {Uj}に対し直交していなければなりません。そのために、まず、{Rj}と{Uj}の 内積をとり非直交成分を以下で計算しておきます。
そして、Lanczos 法で得られた{Rj}から非直交成分を下式で差し引きます。
すると、新しく計算された{Rj}は、これまでに計算されたベクトル{Uj}に対し直交していること になります。
■プログラム■
ここでは、以下の表に示すプログラムを準備しました。作成されるファイルのファイル名をクリックしてみて下さい。
ファイルの詳細については後ほど紹介します。LANCZOS-SOUND09-JACOB-VT.FORを実行する前に
VECTORと言うフォルダーを作成しておく必要があります。この中には、固有ベクトルが入ります。
今回は固有ベクトルを図化するプログラムは準備できませんでしたが、時間をみて作成します。
プログラム名 | 機能 | 取り込まれる ファイル | 作成される ファイル |
---|---|---|---|
MAKING-TEST-DATA.FOR | 入力データを作成 | なし | EIGN3D8.DAT, DOMAIN.SUM, PARAM.DAT |
ELEMENTCHECK.FOR | 要素形状をチェック | EIGN3D8.DAT | ELCHECK.RST |
OPTIMIZER4.FOR | バンド幅の縮小 | EIGN3D8.DAT | EIGN3D8.DAT, BNDWDTH.FEM, OPTIMIZATION-STATUS.FEM |
LANCZOS-SOUND10-JACOB-VT.FOR | 固有値と固有ベクトルの計算 | EIGN3D8.DAT | EIGENVA-JCB08.LAZ, CONVERGE.JCB, VECTORに固有ベクトル |
BACK | NEXT |
---|
Menu | LU Decompo | Stiff | 3D Solid | 3D Fluid | Eigen&Lanczos | Sound Eigen | Solid Eigen | Solid Axisym |