前節までの方法によって電界に関する偏微分方程式(2-1-6)は次式の連立一次方程式になります。(2-9-1)ここで行列Aは複素数非対称行列であり、1行の非ゼロ要素が13個以下の疎行列です。以下では行列の大きさをNで表します。Bi-CGSTAB法のアルゴリズムは以下の通りです[6]-[10]。Bi-CGSTAB法ここでxcは複素共役を表します。(x,y)はベクトルの内積(Σxiyi)を表します。これをプログラムに即して書くと以下のようになります。Bi-CGSTAB法(実装版)作業ベクトルq,t,uを追加しています。ベクトルは毎回上書きされますので添え字kを省略しています。演算量の多い行列とベクトルの積は反復回数あたり2回((8)と(11))です。(例えばr0*)と共用することができます。Bi-CGSTAB法では計算精度の観点から倍精度を使用する必要があります。対角スケーリング共役勾配法では対角スケーリングを行うことによって収束を速め計算時間を短縮することができます。対角スケーリングは反復計算の前に行います。対角スケーリングによって使用メモリーが増えることはありません。対角スケーリング図2-9-4に対角スケーリングがないときとあるときの収束状況の一例を示します。対角スケーリングによって収束が速くなることがわかります。Level-1の関数で表現することができます。2乗ノルム||x||2。