Numerical Method & Algebla
Simultaneous Equations-6
■その3: 非対称Multi-Diagonal Matrix<■
連立方程式のマトリックスが非対称で、かつ複数の筋が対角要素の両側に存在する場合の、計算手順の取り扱いについて説明します。前回同様、このマトリックスを立てると次の様になります。
図の場合は、筋の数が対角要素を含めて5本です。下に示すSub Programは、筋の数を任意で指定できます。つまり、何本あってもOKということです。この筋の数のことをマトリックスのバンド幅(Bandwidth)といいます。上図の場合、Bandwidth=5です。
また、(Bandwidth-1)/2+1をハーフバンド幅(Half bandwidth)といいます。上図の場合、Half bandwidth=3です。プログラムでは、IPD=(Bandwidth-1)/2がバンド幅を決める値として使われています。
マトリックスの大きさは、Nで表わしています。上図の場合、N=10である。
Sub Programの名称 | SYSTEMA |
変数:MXNA | メモリー確保のためのマトリックスサイズの最大値 |
変数:MXWA | メモリー確保のためのマトリックスのバンド幅の最大値 |
変数:N | 計算に用いるマトリックのスサイズ(nxnのnのこと) |
変数:IPD | Half bandwidth-1 |
変数:A | マトリック [A]=[aij] |
変数:C | 連立方程式の右辺。説明の{B}と同じ。 |
Program名をクリックするとソースが表示されます。
マトリックのサイズが、A(MXNA,MXWA)であることに注意してください。