■その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}と同じ。 |