|
3.4.6 変数の消去
Mathematicaで連立方程式を設定するということは,変数と変数の間に制約条件を設ける,ということになる.一般的に言って,Solveを使うということは,与えられた方程式の制約条件に従いながら,変数のうちのいくつかを用いて残りの変数を表現することである.

変数の消去
変数として xと yを持ち,パラメータにaとbを持つ方程式を2つ入力する.
In[1]:= eqn = {x + y == 6a + 3b, y == 9a + 2 x}
Out[1]= 
xと yについて同時に解く.aとbに依存した形で解が得られる.
In[2]:= Solve[eqn, {x, y}]
Out[2]= 
xと aについて解いても,同じように,yとbに依存した形で解が得られる.
In[3]:= Solve[eqn, {x, a}]
Out[3]= 
xについてだけ解法を得たいときは, yかaかbのどれかを消去しておく.この例では yを消去するので,aとbに依存した形で xの解が得られる.
In[4]:= Solve[eqn, x, y]
Out[4]= 
また, aを消去すると,今度は, yとbによる解が得られる.
In[5]:= Solve[eqn, x, a]
Out[5]= 
特定の変数を消去した明示的な方程式がほしい場合もある.そのときには Eliminateを使う.
リスト eqnにある2つの方程式の持つ変数 aを消去することで1つの式にまとめる.
In[6]:= Eliminate[eqn, a]
Out[6]= 
aの代りに yを消去してみる.
In[7]:= Eliminate[eqn, y]
Out[7]= 
Eliminateのもっと高等な応用として, を「基本対称式」 および で書き換えるという問題を考えてみる.
この問題を解くためには,もとの変数xとyを消去しておき, fを aと bでまとめ直しさえすればよい.
In[8]:= Eliminate[ {f == x^5 + y^5, a == x + y, b == x y}, {x, y} ]
Out[8]= 
方程式の集合を取り扱う際,よく,特定の文字を真の「変数」としてとらえ,他は「助変数(パラメータ)」とみなすようにする.そのとき,変数間の特定の関係が常に満たされるのは,パラメータがどのような値を取るときであるかということを知る必要が生ずることもある.

関係を満足させるパラメータの取得
これでこの式がすべてのxを満足するようなパラメータ値を求める.
In[9]:= SolveAlways[a + b x + c x^2 == (1 + x)^2, x]
Out[9]= 
これは2つの級数を同等とみなす.
In[10]:= Series[a Cos[x] + b Cos[2x] + Cos[3x], {x, 0, 3}] == Series[Cosh[x], {x, 0, 3}]
Out[10]= 
これで未定係数の値を求める.
In[11]:= SolveAlways[%, x]
Out[11]= 
|