Numerical Method & Algebla
Simultaneous Equations-5
■その2: 対称Tri-Diagonal Matrix■
有限要素法では、出来上がった連立方程式のマトリックスがBanded Matrixで、なお且つ対称になっていることが多い。つまり、マトリックスの対角要素を境に、マトリックスのアッパーの部分とロアーの部分が同じ値になるケースです。
下に典型的な対称Tri-Diagonal Matrixを持つ連立方程式を示します。
上図に示す様に、対角要素に沿って鏡を置いたときと同様な状態になっている。このマトリックスを、前回の様に立てると左下図になります。縦3列のマトリックスである。対称であることを考慮すると、1列目は、3列目で代用できるため、メモリーに保存しておく必要はなくなります。よって、右下図の様になる。
| ====> | |
マトリックスを、この様にコンパクトにすると、計算に必要なメモリーを前回に比較し、2/3に削減できます。
下に、上図のようにコンパクト化した対称Tri-Diagonal Matrixの連立方程式を、Gaussの消去法で解くSub Programを紹介します。Program名をクリックするとソースが表示されます。
Sub Programの名称 | TRISYMM |
変数:MXN | メモリー確保のためのマトリックスサイズの最大値 |
変数:NNODE | 計算に用いるマトリックのスサイズ |
変数:A | マトリック [A]=[aij] |
変数:B | 連立方程式の右辺。説明の{B}と同じ。 |
マトリックのサイズが、A(MXN,2)であることに注意して下さい。