Mathematica 9 is now available

Documentation / Mathematica / Mathematicaブック / Mathematicaを使った高等数学 / 方程式と不等式の操作 /

3.4.10 発展:解の集合の表示

方程式や不等式のいかなる組合せも何らかの空間における領域を暗示的に定義しているものと考えることができる.Reduceの基本的な機能はこの種の暗示的な表示を明示的にすることである.

変数の値によって指定された点が領域内にあるかどうかをテストするだけなら,方程式や不等式についての記述が暗示的であっても問題ない.しかし,領域の構造を理解するためには,あるいはその中で点を生成するためには,Reduceが提供するようなより明示的な説明が必要であろう.

これは半円の領域を暗示的に定義する不等式である.

In[1]:= semi = x > 0 && x^2 + y^2 < 1

Out[1]=

これは点がこの領域内にあることを示している.

In[2]:= semi /. { x -> 1/2, y -> 1/2 }

Out[2]=

Reduceはこの領域をより明示的に表す.

In[3]:= Reduce[semi, {x, y}]

Out[3]=

最初の不等式と矛盾しないxの値を選ぶと,yについての明示的な不等式が得られる.

In[4]:= % /. x -> 1/2

Out[4]=

Reduce[expr, , , ... ]は,まず最初にについての固定した条件を与え,次にに依存するについての条件を与え,次にに依存するについての条件を与え,というようにして領域を表現するようになっている.この構造には,Tableのような関数で反復子を使うのと同じように各の値を連続的に選ぶことで点が選べるという特徴がある.

これは最初にyの値を,次にxの値を選ぶ領域の表示を与える.

In[5]:= Reduce[semi, {y, x}]

Out[5]=

単純なケースでは,方程式あるいは不等式の系によって定義された領域に結局要素が1つしかないことがある.そのような場合はReduceの出力は && && ... の形式になる.ここで各は最高個までの変数を含む方程式か不等式である.

しかし,ほとんどの場合には複数の要素が || || ... のような形式を含む出力で表される.Reduceは領域を表すために使う要素数を最小にしようとする.しかし場合によっては単一の接続した要素をカバーするのに複数のパラメータ化が必要なこともある.その各々はReduceの出力中で別々の要素として現れる.

解の集合を表す際に,複数の要素が... && ( || ) && ... のような形式を使って一緒に表現できることがある.Reduceは結果をできるだけコンパクトにするためにデフォルトでこれを行う.LogicalExpandを使って各要素が別々に現れる展開された形を生成することもできる.

最もコンパクトな形を生成するために,Reduceは必要以上に後半の変数が前半の変数に依存する条件を課してしまうことがある.オプションBacksubstitution->Trueを与えることで,特定のがより前の変数に必要最低限しか依存しないような結果をReduceに生成させることができる.こうすると解釈しやすくなることがあるが,出力ははるかに大きくなることが多い.

デフォルトでReduceyの条件をxについて表現する.

In[6]:= Reduce[x^2 + y == 4 && x^3 - 4y == 8, {x, y}]

Out[6]=

後方に置換するとxに関係なくyの制約条件を付けることができる.

In[7]:= Reduce[x^2 + y == 4 && x^3 - 4y == 8, {x, y},
Backsubstitution -> True]

Out[7]=

円筒代数分解

実数領域の整方程式や不等式の場合,Reduceが返す結果の形式は通常「円筒代数分解」すなわち「CAD」である.Reduceはより単純な形を与えることもある.いずれにせよ,CylindricalDecompositionを使うことで完全なCADを得ることができる.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.