Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > 数学とアルゴリズム > 方程式の解法 > Solve >

Solve

Solve
方程式あるいは不等式の系 expr の解を変数 vars について求めようとする.
Solve
領域 dom 上で解く.領域 dom は一般にRealsIntegersComplexesのいずれかである.
  • expr は以下の任意の論理結合でよい.
lhs==rhs方程式
lhs!=rhs左辺と右辺は等しくない
または 不等式
exprdom領域指定
ForAll[x,cond,expr]全称記号
Exists[x,cond,expr]存在記号
  • 単一の変数または変数のリストを指定することができる.
  • Solveの形式の規則で解を与える.
  • 変数が複数のとき,解はという規則のリストで与えられる.
  • 複数の解があるとき,Solveはそれらのリストを与える.
  • 指定された変数が1つの場合,ある方程式で特定の根が1以上の重複性を示すときにはSolveは相当する解の複数のコピーを返す.
  • Solveは,デフォルトで,不等式に代数的に現れる数量は実数値であるが,その他の数量は複素数値であると仮定する.
  • Solveはすべての変数とパラメータが領域 dom に属すように制限する.
  • domRealsであるかIntegersRationalsのようにその部分集合である場合,すべての定数と関数の値もまた実数に限られる.
  • Solve[expr&&varsReals, vars, Complexes]は変数の実数値について解くが,関数の値は複素数値でもよい.
  • Solve[expr, vars, Integers]は整数領域でディオファントス(Diophantine)方程式を解く.
  • expr 中の代数的変数で および互いを含まないものは,独立パラメータとして扱われる.
  • Solveは主として線形方程式と整方程式を扱う.
  • expr が実数あるいは複素数領域で整方程式と整不等式のみを含むとき,Solveは理論的には常にすべての について直接解くことができる.
  • expr が超越条件や整数領域を含むとき,Solveはその結果に追加的なパラメータを導入する.
  • Solveは整数領域上のすべての線形方程式と不等式の解の明示的な表現を与えることができ,文献に見られるディオファントス方程式の大部分を解くことができる.
  • expr が実数と複素数の領域上で多項式条件のみを含むとき,Solveは常に限定子を除くことができる.
  • 使用可能なオプション:
CubicsFalseすべての三次方程式を解くために明示的な根基を使うかどうか
GeneratedParametersC生成されたパラメータにどのように命名するか
InverseFunctionsAutomatic記号的逆関数を使うかどうか
MaxExtraConditions0連続パラメータにいくつの追加的方程式条件を許すか
MethodAutomaticどのメソッドを使うべきか
Modulus0整数に対して取る法
QuarticsFalse四次方程式を解くために明示的な根基を使うかどうか
VerifySolutionsAutomatic不等価の変換を使って得られた解を検証するかどうか
WorkingPrecisionInfinity計算に使う精度
  • Solveは一般的な解のみを与える.連続的なパラメータが方程式を満足する場合にのみ有効な解は除かれる.条件付きで有効なその他の解はConditionalExpressionオブジェクトとして表される.
  • ConditionalExpressionの解に含まれる条件には,不等式,Element文,非連続的なパラメータについての方程式や不等式,完全次元の解を持つ方程式が含まれることがある.連続パラメータと変数についての不等式とNotElement条件は除かれる.
  • MaxExtraConditions->Automaticとすると,連続パラメータについて最少数の方程式条件を必要とする解のみが含まれる.
  • MaxExtraConditions->Allとすると,パラメータについての任意の条件を必要とする解がすべての条件とともにが与えられる.
  • MaxExtraConditions->k とすると,連続パラメータについての最高で k 個の方程式条件を必要とする解のみが含まれる.
  • Solveは不等価変換を使って超越方程式の解を求める.このため,求まらない解があるかもしれず,求まった解の有効性についても厳密な条件が求められない場合もある.
  • Method->Reduceとすると,Solveは等価変換のみを用い,すべての解を求める.
  • 方程式の可能な解がないとき,Solveを返す.
  • 解集合が完全次元のとき,Solveを返す.
  • Solvem を法とする整数上で方程式を解く.Modulus->Automaticとすると,Solveは方程式に解がある法で最大のものを求めようとする.
  • Solveは,近似数値係数を持つ線形方程式の疎な系の扱いに特別の効率的な技術を用いる.
二次方程式を解く:
連立方程式を について解く:
解は置換リストとして与えられる:
を解で置換する:
の組合せを解で置換し,結果を簡約する:
についての解の実部をパラメータの関数としてプロットする:
3番目の解を拾い出す:
実数領域上で方程式を解く:
を解で置換し結果を簡約する:
正の整数領域上で方程式を解く:
最初の10個の解をリストする:
二次方程式を解く:
In[1]:=
Click for copyable input
Out[1]=
 
連立方程式を について解く:
In[1]:=
Click for copyable input
Out[1]=
 
解は置換リストとして与えられる:
In[1]:=
Click for copyable input
Out[1]=
を解で置換する:
In[2]:=
Click for copyable input
Out[2]=
の組合せを解で置換し,結果を簡約する:
In[3]:=
Click for copyable input
Out[3]=
についての解の実部をパラメータの関数としてプロットする:
In[4]:=
Click for copyable input
Out[4]=
 
3番目の解を拾い出す:
In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
 
実数領域上で方程式を解く:
In[1]:=
Click for copyable input
Out[1]=
を解で置換し結果を簡約する:
In[2]:=
Click for copyable input
Out[2]=
 
正の整数領域上で方程式を解く:
In[1]:=
Click for copyable input
Out[1]=
最初の10個の解をリストする:
In[2]:=
Click for copyable input
Out[2]=
根基で可解な整方程式:
一般的な整方程式:
多重根を持つ整方程式:
記号係数を持つ整方程式:
代数方程式:
超越方程式:
有界領域上の一変量初等関数方程式:
有界領域上の一変量正則関数方程式:
次では,Solveはいくつかの解を求めることはできるがそれ以外の解がないことは証明できない:
複素平面の垂直線上の純虚数周期の方程式:
記号関数:
線形方程式系:
記号係数を持つ線形方程式:
線形方程式の劣決定系:
解のない線形方程式:
整方程式系:
記号係数を持つ整方程式:
代数方程式:
超越方程式:
整方程式:
多重根を持つ整方程式:
記号係数を持つ整方程式:
代数方程式:
区分方程式:
逆関数を使うと可解である超越方程式:
特殊関数の零点を使うと可解である超越方程式:
特殊関数の零点を使って可解の超越不等式:
指数対数方程式:
高次の疎な整方程式:
高次の根基を含む代数方程式:
非有理実数ベキを含む方程式:
重根を持つ方程式:
平凡な初等関数方程式:
有限区間内の初等関数方程式:
有限区間内の正則関数方程式:
実数領域上の周期初等関数方程式:
線形系:
多項式系:
量化された多項式系:
代数系:
区分系:
逆関数を使うと可解である超越系:
第1変数が指数対数でその他の変数が多項式である系:
量化された系:
第1変数が初等で有界,その他の変数が多項式である系:
量化された系:
第1変数が正則で有界,その他の変数が多項式である系:
量化された系:
方程式の線形系:
線形方程式および線形不等式:
一変量整方程式:
バイナリ二次方程式:
トゥエ(Thue)方程式:
二乗方程式の和:
ピタゴラス(Pythagoras)の方程式:
方程式と不等式の有界の系:
解のない高次の系:
超越ディオファントス系:
合同の多項式系:
線形系:
一変量整方程式:
整方程式と整不等式の系:
量化された多項式系:
実数変数と複素数変数の混合:
実数変数と整数変数の混合:
すべての変数について解く:
デフォルトで,Solveは三次方程式を根基で解く際に一般公式を使う:
Cubics->Falseとすると,Solveは公式を使わない:
Solveは解を表すために新たなパラメータを導入することがある:
GeneratedParametersを使ってパラメータが生成される方法を制御する:
デフォルトで,Solveは逆関数を使うが警告メッセージを出力する:
InverseFunctions->Trueとすると,Solveは逆関数の警告メッセージを出力しない:
InverseFunctions->Falseとすると,Solveは逆関数を使わない:
代数方程式を解くのには逆関数を使う必要はない:
次では,逆関数を使う必要がないため,Reduceに基づいたメソッドが使われている:
デフォルトで,追加の条件が必要な解は生成されない:
ただし,パラメータが離散的な場合は例外である:
デフォルト設定のMaxExtraConditionsでは,条件が必要な解は返されない:
MaxExtraConditionsとするとパラメータに関する方程式が1つ必要であるものまで返される:
MaxExtraConditionsとすると,パラメータに関する方程式が2つ必要であるものまで返される:
必要とするパラメータ方程式の数が最小の解を返す:
すべての解を返す:
デフォルトで,Solveは連続パラメータについての非同値条件は除去する:
MaxExtraConditions->Allとすると,Solveがすべての条件を含むようになる:
デフォルトで,Solveは多項式ではない複素方程式を解くのに逆関数を使う:
Method->Reduceとすると,SolveReduceを使って完全な解集合を求める:
9を法とする整数について方程式を解く:
方程式系が解を持つ法を求める:
デフォルトで,Solveは四次元方程式を根基で解くのに一般公式を用いる:
Quartics->Falseとすると,Solveは公式を使わない:
Solveは不等値変換を使って得た解を証明する:
Falseとすると,Solveは解を証明しない:
Falseによって返される解には正しくないものもある:
次は,正しい解を選ぶために高速の数値テストを使っている:
この場合,数値証明で正しい解集合が得られる:
デフォルトで,Solveは厳密ではない係数を持つ方程式の解は証明しない:
返された解のいくつかについては,polys はゼロからほど遠い:
Trueとすると,Solveは必要なときには計算精度を上げる:
解における polys の値はずっとゼロに近くなった:
デフォルトで,Solveは方程式の厳密解を求める:
百桁精度の数を使って解を計算する方が速い:
結果は最初の百桁分は厳密解と一致している:
機械数を使って解を計算する方がはるかに速い:
結果はそれでも厳密解にかなり近い:
二次方程式を解く:
円と放物線の交点を求める:
四次方程式のすべての根が等しくなる条件を求める:
Subresultantsを使った方法:
限定子の消去を使った方法:
陰的記述で与えられた空間曲線をプロットする:
平面への空間曲線の投影をプロットする:
ピタゴラスの三数を求める:
ピタゴラスの三数の数列を求める:
2ドル27セントの郵送料を,10セント,23セント,37セントの切手の組合せで払う方法を求める:
IntegerPartitionsを使っても同じタスクを行うことができる:
解は方程式を満足する:
解は置換規則として与えられ,代入に直接使える:
Solveは空の解すなわち解がないことを表すのにを使う:
Solveを使ってユニバーサル解すなわち方程式を満足するすべての点を表す:
一変量方程式については,Solveはその多重度に従って解を繰り返す:
代数方程式の解は,しばしばRootオブジェクトで与えられる:
Nを使ってRootオブジェクトの数値近似を計算する:
Rootオブジェクトはパラメータを含むことがある:
Seriesを使ってRootオブジェクトの級数展開を計算する:
級数は11階まで方程式を満足する:
指定の領域上で解を求める:
解はパラメータについての条件を含むことがある:
条件付きの解は,条件が満足されれば方程式を満足する:
Solveは置換規則によって解を表す:
Reduceは方程式と不等式のの組合せで解を表す:
Solveは高速のヒューリスティックを用いて超越方程式を解くが,解は不完全であるかもしれない:
Reduceは使うメソッドは遅いことが多いが,すべての解とすべての必要な条件を求める:
FindInstanceを使って解の例を求める:
Reduceのように,FindInstanceにも不等式と領域指定を与えることができる:
DSolveを使って微分方程式を解く:
RSolveを使って再帰方程式を解く:
SolveAlwaysは,複素方程式が常に真となるパラメータ値を与える:
ForAllを使って同じ問題を表し,SolveまたはReduceを使って解くこともできる:
Resolveは限定子を除去するが,結果の限定子を含まない系を解かないこともある:
Eliminateは複素方程式系から変数を除去する:
以下で,Resolveを使って同じ問題を解く:
ReduceSolveは加えて結果の方程式も解く:
Solveは一般的な解を与える.パラメータ上の方程式を含む解は与えられない:
Reduceは,パラメータ上の方程式を必要とする解も含め,すべての解を返す:
MaxExtraConditions->Allとすると,Solveもまた一般的ではない解を与える:
Solveは一般的に正しくも正しくなくもない解を除外しない:
この解はでは正しくでは正しくない:
超越方程式の場合,Solveはすべての解を与えない場合がある:
Reduceを使ってすべての解を得る:
SolveMethodと一緒に使うと,Reduceを使って解が求められるが,置換規則が返される:
逆関数を使うようにするとSolveがある種の解を求めるのが速くなる:
完全解を求めるのには,はるかに時間がかかり,解自体も大きくなることがある:
次は,x==2が解となるnの値を求める:
バージョン 1 の新機能 | バージョン 8 での修正機能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
フォーマット:   HTML  |  CDF