|
他の例: Solve
変数が1つの整方程式
下は正規二次方程式と三次方程式を解くための標準的な公式である.
In[1]:= 
Out[1]= 
In[2]:= 
Out[2]= 
ベキについての解を持つ,より高次の単純な方程式である.これは時に自動的に無理式に還元される三角関数について書き直すことができる.
In[3]:= 
Out[3]= 
In[4]:= 
Out[4]= 
In[5]:= 
Out[5]= 
In[6]:= 
Out[6]= 
方程式によってはMathematicaがRootオブジェクト(または数字)で結果を出すものもある.Rootの第1引数は純粋関数の形で表された還元できない多項式で第2引数は根の選択をする.
In[7]:= 
Out[7]= 
Nを適用することで数値解が得られる.
In[8]:= 
Out[8]= 
これは結果からxのすべての規則を抽出する.
In[9]:= 
Out[9]= 
変数が2つ以上の多項式
xとyについて解く.
In[10]:= 
In[11]:= 
Out[11]= 
この場合,まずyを排除し,次にxについて解く.
In[12]:= 
Out[12]= 
In[13]:= 
ここで,2つの連立代数方程式を解く.擬似的なポテンシャル解 は拒絶される.
In[14]:= 
Out[14]= 
ここでは3つの連立代数方程式を解く.yとzはxと適切なペアになっていなければならない.
In[15]:= 
Out[15]= 
ここではSolveが解が存在しないことを示す空のリストを返す.一般解がなくなるように,あらゆるポテンシャル解がzというパラメータの方程式のみを強制する.
In[16]:= 
Out[16]= 
xとyについて解くのと同様,zについて解いても解が得られる.
In[17]:= 
Out[17]= 
残っている変数についてdを得るためにe,s,tを排除する.
In[18]:= 
Out[18]= 
多項式のシステムについてはデフォルトでは検証できない.このシステムについての明示的な解はまず正しくない.
In[19]:= 
Out[19]= 
数値的に不安定な場合,VerifySolutionsをTrueにセットすると時間はかかるが結果はより信憑性を持つ.
In[20]:= 
Out[20]= 
In[21]:= 
無理方程式
無理方程式ではSolveはパラサイトの解を廃棄する.
In[22]:= 
Out[22]= 
In[23]:= 
Out[23]= 
In[24]:= 
Out[24]= 
Solve はすべての解の候補の中からパラサイトの解を廃棄する.VerifySolutionsはFalseにセットする.
In[25]:= 
Out[25]= 
ゼロ分母が解のセットに影響を与えない
自信があれば,それをクリアすることでSolveは速くなる.
In[26]:= 
Out[26]= 
In[27]:= 
Out[27]= 
In[28]:= 
抑止メッセージ
このノートブックのこれ以降の方程式は色々な論文やユーザの質問から取ったものである.
Solveは多くの非整方程式に対して警告メッセージを出す.
In[29]:= 







Out[29]= 
読みやすさを増すためにこれからは逆関数の警告メッセージは出さずにおく.これらのメッセージはこの例題の最後に再び戻す.
In[30]:= 
三角関数あるいは双曲線関数を含む方程式,またそれらの逆方程式
In[31]:= 
Out[31]= 
In[32]:= 
Out[32]= 
In[33]:= 
Out[33]= 
In[34]:= 
Out[34]= 
指数・対数を含む方程式
In[35]:= 
Out[35]= 
In[36]:= 
Out[36]= 
In[37]:= 
Out[37]= 
In[38]:= 
Out[38]= 
In[39]:= 
Out[39]= 
In[40]:= 
Out[40]= 
In[41]:= 
Out[41]= 
In[42]:= 
Out[42]= 
In[43]:= 
Out[43]= 
In[44]:= 
Out[44]= 
In[45]:= 
Out[45]= 
In[46]:= 
Out[46]= 
ProductLogを含む方程式と解
In[47]:= 
Out[47]= 
In[48]:= 
Out[48]= 
In[49]:= 
Out[49]= 
In[50]:= 
Out[50]= 
この最後の例は2次方程式のタイプミスから来ている.
In[51]:= 
Out[51]= 
方程式の無限解セットを求める
三角・双曲線関数の逆関数にGeneralizeは対応する三角・双曲線関数の周期をn回加える.第2引数のnは整数を示す.
In[52]:= 
In[53]:= 
In[54]:= 
LogとProductLogは同じように扱われる.
In[55]:= 
In[56]:= 
これ以外はすべてそのまま残される.
In[57]:= 
GeneralizedSolveは変数varsの中の式あるいは式のセットに対しnによってインデックスされた無限界を与えようとする.
In[58]:= 
これは式に対し一般化された解を与える.
In[59]:= 
Out[59]= 
結果を検証する.
In[60]:= 
Out[60]= 
逆三角関数を評価するときにはGeneralizedSolveは使えない.
In[61]:= 
Out[61]= 
上とは対照的に逆三角関数が評価されない場合である.
In[62]:= 
Out[62]= 
GeneralizedSolveはスブリアス解を与えることもできる.
In[63]:= 
In[64]:= 
Out[64]= 
ここではnが のときにはxの解は成り立たない.
In[65]:= 
Out[65]= 
In[66]:= 
Solveの解が不正である
関数である.
In[67]:= 
つの意味ある解.
In[68]:= 
In[69]:= 
Out[69]= 
Solveがパラメータ化した解は常に不正であると決められなければ,それを削除することもしない.最初の解は一般に不正である.
In[70]:= 
Out[70]= 
TrigToExpを使うとffをこれに対応する指数の形に変換することによって正しい答えを与える.
In[71]:= 
Out[71]= 
In[72]:= 
つの正しい解である.
In[73]:= 
Out[73]= 
In[74]:= 
Out[74]= 
In[75]:= 
メッセージを戻す
ここで前に切ってあった逆関数の警告メッセージを戻す.
In[76]:= 
|