行列の正則性に関する考察

本計算では連立一次方程式を解いているので, 行列式の正則性が問題となる. 数値計算において行列を掃き出し法を用いて LU 分解するのだが, その際に対 角成分が相対的に零とみなせる行が現れると非正則となる. もう少し具体的な 例を挙げると, 以下のような場合に行列は非正則になるとみなせる.

  1. ある 2 つの行の要素が全て等しい場合. ある化学種が単独で 2 つの相を作る場合に生じる.
  2. 相の数が元素の数を上回る場合. 行列の大きさは(元素数 + 相の数)で, (相の数 x 相の数) の零行列が 含まれているため, 相の数が元素の数を上回る場合と非正則になる.
  3. ある行の全ての要素が零とみなせる場合. ある化学種の存在量がほぼ零とみなせるような場合に生じる.

当該温度圧力条件で系に存在できない化学種が多数ある場合に非正則になりやすい. そこで, 予め当該温度圧力条件で存在できない化学種を除去することで行列の正則性を高め, 計算を安定させる. 上記の 1) の場合であるが, 系に含まれるある 1 つの化学種が単独で 2 つ以上の相を作る場合には, 化学ポテンシャルの大きさからどちらの相が生成されるか予め判定する. 2), 3) の場合はたいてい当該温度圧力条件で生成できない化学種(相)が系に含まれていることが問題の原因であるので, これも化学ポテンシャルの大きさから最も生成しにくい化学種(相)を「推定」して, 系から取り除く.

具体的な操作は以下を参照.





2003-06-22 杉山耕一朗 (sugiyama(at)gfd-dennou.org)