論理結合した方程式の解法

リスト形式で複数の方程式をSolveに与えると,方程式が連立したものとみなされすべてを同時に満足するような解法が試みられる.Solveは,さらに複雑な論理結合した方程式を解くことも可能である.

Solveは,方程式x+y==1x-y==2が連立しているものとして扱う.
In[1]:=
Click for copyable input
Out[1]=
論理関係記号&&を使った別の形で式を提示する.
In[2]:=
Click for copyable input
Out[2]=
この例では,x+y==1またはx-y==2が別々の条件下で満たされるように解を求めるよう指示している.このため,Solveで2つの関係に別々に対応した2組のxの解が返ってくる.
In[3]:=
Click for copyable input
Out[3]=
Solveにより3つの解が返される.
In[4]:=
Click for copyable input
Out[4]=
x!=0の条件を付加すると,上で得られた解が1つなくなる.
In[5]:=
Click for copyable input
Out[5]=
やや複雑な式を解いてみる.||の演算順位が &&より低いため,与えた関係式はx^3==x&&(x!=1||x^2==2)ではなく,(x^3==x&&x!=1)||x^2==2と解釈されることに注意.
In[6]:=
Click for copyable input
Out[6]=

Solveを使うと,解は変換規則の形で出力される.一方,ReduceEliminateを使うと,さらなる変換操作が可能な論理関係式の形で解が出力される.

方程式x^2==xの解を表す論理構文が得られる.
In[7]:=
Click for copyable input
Out[7]=
得られるxの値はx^5==xを満足するが,x^2==xの解(実際は論理関係式)は満足しない.
In[8]:=
Click for copyable input
Out[8]=

Reduceが生成する論理構文は方程式の解の集合と考えられる.そのとき,&&||等の論理関係記号は同集合に作用する演算子に相当する.

eqns1||eqns2解の集合の和集合
eqns1&&eqns2解の集合の交わり
!eqns解の集合の補集合
Implies[eqns1,eqns2]eqns2を含む eqns1の部分集合

解の集合に機能する演算

「演算子」で説明してあるように特別な論理結合記号を用いると便利なことがある.

この入力はImpliesOrに特別な記号を用いている.
In[9]:=
Click for copyable input
Out[9]=
Translate this page: