「化学」の方でレスポンスがないのでクロスポストです。両方見てる方、すみません。
酵素反応のシミュレーションをしていて、シミュレータには数値積分の計算エンジンを使っています。
一部の反応は酵素の関与しない化学平衡反応で、
A x B = k1 x C
B x D = k2 x A
.
.
.
A + C + D + F + G = c1
A + B + 2E = c2
.
.
.
(A,B,C....は変数、k1,k2...,c1,...は定数)
といった式で表現されます(実際には連立16元方程式)。
この連立方程式を近似的に解きたいのですが、こうした形式の連立方程式を、連立微分方程式に近似するような数値計算的方法やアルゴリズムがあればご教授ください。他の数値計算法でも構いません。
Newton-Raphson法で正面からぶつかるのはやってみましたが、それだと計算量が大きすぎるのです。ひとつひとつの平衡式は単純なので、そのへんを活かして、うまく計算量を減らす工夫がないものかと思案しています。
参考書や論文、キーワード等糸口になりそうなものでも構いませんので、ご教授ください。
お礼
回答ありがとうございます。すでに「NUMERICAL RECIPES in C」を参考に、Newton-Raphson法→LU分解で試行しておりました。 シミュレータの件は、最終的に、他の微分方程式と一緒に積分計算エンジンに放り込むということです(一応代数式も解いてくれますが、負荷になる)。時系列でのダイナミクスを観察したいので、積分のタイムステップごとにこの連立式の解を求めなければならないのです。ですから、微分式に近似できると都合がよいのです。 この質問をしたのは、大昔(30年前)のプログラムに、連立の化学平衡式を連立微分方程式に近似するものがあったからです(論文中で見かけただけで、具体的にどういうプログラムかは不明)。 非線形連立方程式とはいえ、式の形はかなりシンプルなので、何か工夫があるのかなあ、と(現在図書館に、数値計算の大きめの教科書を発注しております)。 重ねて、ご回答ありがとうございました。