学会誌・論文集 トップへ

2/3

2.連立一次方程式の数値解法
 はじめに述べたとおり、建築環境工学における数値解析 では、連立一次方程式を解くことに帰着される場合が非常 に多い。例えば、熱仏導方程式、流れの方程式、熱・湿気 輸送方程式を離散化して解く場合などである。これから示 すように、連立一次方程式の数値解法は多くの種類があ り、それぞれに守備範囲が多少異なる。このため、解こう とする問題にあった連立一次方程式の数値解法を選択する ことは非常に重要なこととなる。
 連立一次方程式の数値解法には、係数行列を直接扱う直 接解法と、行列を分離して何らかの反復により収束解を求 める反復解法がある。係数行列の次元が小さくて、大部分 の要素が0でない小規模密行列を扱う場合には直接解法 を、逆に係数行列の次元が大きくて、大部分の要素が0で ある大規模疎行列を扱う場合には、反復解法を取ることが 多い。
 これから説明する解法においては、解くべきn元の連 立一次方程式Ax=bはすべて以下とする。

ここで、 A=aijは正則な*1係数行列、x=(x1、x2、 ・・・、xn) は解、b=(b1、b2・・・、bn)は定数項である。

 2.1 直接解法
 (1)ガウスの消去法
 連立ー次方程式(27)を、前進消去と後退代入の2段階の 過程を踏むことで、未知数を系統的に消去していく方法を ガウスの消去法という。ガウスの消去法は、n3オーダの 演算が必要とされるので、nが十分大きくなると実用にな らない。このため、この方法は次元がごく小さい問題に限 られる。
 (2) LU分解法
 係数行列Aが対角成分が1の下三角行列Lと上三角行 列Uの積で表せたとする。このとき、式(27)は以下のよ うに書ける。

上式は、中間解yを用いた以下の2式を解くことと同値 である。


各々の方程式は容易に解くことができるので、まず式(29) を解いてyを求め、それを用いて式(30)よりxを求め る。この手法の演算回数は、LU分解自体がn3のオー ダ、分解後のLUを用いた解の算出はn2のオーダとな る。このため、係数行列は同一で、定数項のみが変化する ような場合には、コストがかかるLU分解は1回だけ行 えばよいので有利な解法となる。例えば、形態係数から Gebhartの吸収係数を求める場合がこれにあたる。

 2.2 反復解法
 初期値x(0)から出発し、第k回の近似解x(k)=(x1(k)、 ・・・、xn(k))を用いて、より正解に近い第k+1回の近似解 x(k+1)を更新することを行い、これを方程式の残差が十分 小さくなるまで繰り返す方法を反復解法という。
 (1)古典的反復法
 古典的反復法には、多くの変種が存在する。ここでは、 ヤコビ法、ガウス-ザイデル法、SOR法について説明す る。
  a ヤコビ法
ヤコビ法では、以下のようにしてx(k+1)を求める。

これはつまり、前回の近似値に、式の残差に比例した値を 加えることによって、次の近似値を更新する方法である。
  b ガウス-ザイデル法
ヤコビ法でi番めの近似解xi(k+1)を求める際には、すで にi-1番めまでの近似解xi(k+1)、・・・、xi-1(k+1)が求められてい るので、それらについては最新の値を用いて計算するよう に修正したのがガウス-ザイデル法である。通常、ヤコビ 法よりも2倍程度収束が速い。

  c SOR法
ガウス-ザイデル法における修正量

をそのままxi(k+1)に加えずに、以下のように緩和係数αを かけてから加えることによって、収束の加速や安定性を図 れるようにした方法をSOR法という。

収束の加速を図るため、緩和係数は通常1≦α<2の範囲 を取るが、収束性の悪い問題を解く場合には、安定のため α<1とする場合もある。このように、修正量に対して1 以下の緩和係数を乗じる安定化手法は、さまざまな局面で 用いる。例えば、換気回路網といった非線形性でかつ振動 性の系をニュートン・ラプソン法で解く場合、修正量をそ のまま加えると、解が振動して収束しない場合があるの で、1/2といった1以下の緩和係数を乗じて安定化させる ことがある。
 (2)共役こう配法
 正定値*2対称行列では、Ax=bを解くことと、関数F (x)=(x、Ax)-2(x、b)を最小にすることが同値である ことに注目して、F(x)の最小点を逐次探索する方法が共 役こう配法(CG法)である。例えば、熱伝導問題を解く場 合、拡散方程式を離散化した連立一次方程式を解くことに なるが、この方程式の係数行列は通常、正定値対称行列で ある。移流拡散方程式のように、係数行列が対称行列でな い場合には、Aの行と列を入れ換えて転置させた行列AT とAとの積が正定値対称行列となることを利用する双共 役こう配法(BCG法)や、その変種である双共役こう配安 定法(Bi CGSTAB法)が用いられる。共役こう配法は、反 復法でありながら、原理的にはちょうどn回の反復で正 解に到達するという性質を持つ。しかし、三次元の問題を 解く場合には、要素数であるnは各方向の分割数の3乗 のオーダであり、非常に大きくなるため、nよりもはるか に少ない回数で収束しなければ実用に耐えない。一方、共 役こう配法は、行列Aの固有値分布が密集しているほ ど、収束が早くなることが知られている。そこで、固有値 分布を密集させるように、行列Aに前処理を行なってか ら解く前処理付き共役こう配法(PCG法)が通常用いられ る。


*1行列式が0でないことをいう。
*2 行列の固有値がすべて正であることをいう。

このページの先頭に戻る