% 表題: 非正則にならないようにするために
%
% 履歴: 2002-08-04 杉山耕一朗
% 履歴: 2004-05-29 杉山耕一朗


\chapter{行列の非正則を防ぐには}

\Deqref{rand-2}, \Deqref{rand-3} 式から成る連立方程式を解く際, その行列
が非正則になる場合が多々ある. \Deqref{rand-2}, \Deqref{rand-3} 式から成
る行列式の係数行列は, 
%
\[
  \left[
   \begin{array}{ccccccccc}
    a_{i1}^{\phi} a_{i1}^{\phi} m_{i}^{\phi} 
     &  a_{i2}^{\phi} a_{i1}^{\phi} m_{i}^{\phi} 
     & \cdots 
     &  a_{iM}^{\phi} a_{i1}^{\phi} m_{i}^{\phi} 
     & a_{i1}^{1} m_{i}^{1} 
     & a_{i1}^{2} m_{i}^{2} 
     & \cdots 
     & a_{i1}^{1} m_{i}^{\Phi} 
     & \\

    a_{i1}^{\phi} a_{i2}^{\phi} m_{i}^{\phi} 
     &  a_{i2}^{\phi} a_{i2}^{\phi} m_{i}^{\phi} 
     & \cdots 
     &  a_{iM}^{\phi} a_{i2}^{\phi} m_{i}^{\phi} 
     & a_{i2}^{1} m_{i}^{1} 
     & a_{i2}^{2} m_{i}^{2} 
     & \cdots 
     & a_{i2}^{1} m_{i}^{\Phi} 
     & \\

    \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \ddots & \vdots \\

    a_{i1}^{\phi} a_{iM}^{\phi} m_{i}^{\phi} 
     &  a_{i2}^{\phi} a_{iM}^{\phi} m_{i}^{\phi} 
     & \cdots 
     &  a_{iM}^{\phi} a_{iM}^{\phi} m_{i}^{\phi} 
     & a_{iM}^{1} m_{i}^{1} 
     & a_{iM}^{2} m_{i}^{2} 
     & \cdots 
     & a_{iM}^{1} m_{i}^{\Phi} 
     & \\

    a_{i1}^{1} m_{i}^{1} 
    & a_{i2}^{1} m_{i}^{1} 
    & \cdots 
    & a_{iM}^{1} m_{i}^{\Phi} 
    & \\

    a_{i1}^{2} m_{i}^{2} 
    & a_{i2}^{2} m_{i}^{2} 
    & \cdots 
    & a_{iM}^{2} m_{i}^{2} 
    & & \emptyset & \\

    \vdots & \vdots & \ddots & \vdots  \\

    a_{i1}^{\Phi} m_{i}^{\Phi} 
    & a_{i2}^{\Phi} m_{i}^{\Phi} 
    & \cdots 
    & a_{iM}^{\Phi} m_{i}^{\Phi} 
    & 
   \end{array}
 \right]
\]
%
となる. ここで $0 < e \leq M$, $0 < \phi \leq \Phi$ とし, 添字 $i, \phi$
に関して和の規約を用いている. $a_{ie}^{\phi}$ は化学種 $i$ に含まれる元
素 $e$ の個数を示すものなので, かなりの割合でその値は 0 となり, また行列
中に $\phi \times \Phi$ の大きさの零行列が含まれていることから, この行列
の正則性は非常に悪いことがわかる. 実際, 化学平衡計算においてしばしば行列
の非正則のために計算がストップする. 

非正則を回避するためには, 系に存在し得る化学種を予め判断することが肝要で
ある. 例えば, 系に水素, 水蒸気, 水, 氷が含まれているならば, 標準化学ポテ
ンシャルの値から水と氷のどちらが存在しうるか予め判断する. 言い替えれば, 
系に含まれる化学種のうち, 当該温度圧力においてその存在量がゼロとなるよう
な化学種を予め判断し, それらの化学種を系から除外するということである. 
その意味で, 当該温度圧力において最適化問題の初期組成をどのように決めるか
が重要である.

これまでの最適化手法を用いてギブス自由エネルギーを最小化させる問題におい
て, 初期組成の選択は重要なテーマであった. いい加減な初期組成から出発する
と局所的なポテンシャルの谷に収束してしまい, 平衡組成が求まらないことが知
られている. これを回避するために, Michelsen (1982a,b) はギブス自由エネル
ギーの接平面関数(TPD 関数)を用いて, 安定に存在する相を予め見出す方法を開
発した. oboro では TPD 関数を直接利用していないが, Michelsen (1982a,b) 
のアイデアを利用して最適化問題の初期組成を作ることにした. そのように作成
した初期値を利用して作成した行列は, 実用面において非正則となることはほと
んどなかった.


本章では, まず必ず行列が非正則になる例を示し, 次に oboro で実際に用いて
いる初期値の作り方について述べたいと思う. 