Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica >

式の変形

複雑な代数式はいろいろな形で表すことができる.Mathematica には数式を1つの形から別の形に変形するための関数がいろいろ用意されている.
普通の計算では,ExpandFactorSimplifyの一般的な機能で十分事足りるが,有理式においては他の関数を使った方がより効果的に簡約できる場合がある.
Expand[expr]式の積とベキ乗の項を展開する
ExpandAll[expr]のすべての項にExpandを適用する
Factor[expr]式を因子の積の形に変換する
Together[expr]式を通分し単一分数にまとめる
Apart[expr]式を簡単な形の分母を持った複数の分数項に展開する
Cancel[expr]式において分母と分子の共通因子を約分する
Simplify[expr]expr に代数変形を試し,最も短い式の形を探す

代数式の変換関数

いろいろな形に書き換えることが可能な有理式を入力する.
In[1]:=
Click for copyable input
Out[1]=
Expandは,分子だけを展開する.分母は因数分解された形のまま残される.
In[2]:=
Click for copyable input
Out[2]=
ExpandAllは,分母を含むすべての項を展開する.
In[3]:=
Click for copyable input
Out[3]=
Togetherは,共通分母ですべての項をまとめる.
In[4]:=
Click for copyable input
Out[4]=
Apartは,式を簡単な分母を持つ部分分数にする.
In[5]:=
Click for copyable input
Out[5]=
Factorはすべての項を因数分解する.この場合,もとの形の式が得られる.
In[6]:=
Click for copyable input
Out[6]=
Simplifyでは,これが式の取り得る最も簡単な形である.
In[7]:=
Click for copyable input
Out[7]=
最終的にほしい形に式を持っていくのはある種,芸のようなものである.多くの場合,実験してみるというのが最良の方法である.ほしい形になるまでいろいろ変形を試してみることだ.これを行うのにパレットを利用すると便利である.
式の変数が1つだけならば,式を項の和や積の形やその他の形で表すことができる.式に変数が複数ある場合は,式を表せる形はさらに多くなる.そのようなときは,例えば,主要な変数を選んでおき,その変数を中心に式の項をグループ化することが可能である.
Collect[expr,x]x の同じ次数の項をまとめる
FactorTerms[expr,x]x に依存しない因子を取り出す

多変数の式の整理

2変数の代数式を入力する.
In[8]:=
Click for copyable input
Out[8]=
vの項を,同じxのベキ乗項のグループにまとめ直す.
In[9]:=
Click for copyable input
Out[9]=
yのベキ乗項を同様にしてまとめる.
In[10]:=
Click for copyable input
Out[10]=
yに依存しない部分を分離する.
In[11]:=
Click for copyable input
Out[11]=
以上の例から分かるように,多項式や有理式だけに限っても,非常に多くの形で1つの式を表すことができる.さらに複雑な式の場合,例えば,高等数学の関数を使う場合,可能な形はさらに広がる.しかし,すべての可能な式に対応できるように,限りなくMathematica の変換関数を増やすことは不可能である.そこで,Mathematica では,ユーザ自身で必要な特殊変換規則を定義できるようにしてある.多くのMathematica パッケージでは,この形式による変換規則が使われる.定義の手順に関しては「変換規則と定義」の説明を参照してほしい.
上記の組込み関数の他にも,式の変形のためにさらにいくつかの組込み関数が提供されている.
TrigExpand[expr]三角関数の式を項の和の形に展開する
TrigFactor[expr]三角関数の式を項の積の形に分解する
TrigReduce[expr]整数倍の角度を用いて三角関数を簡約する
TrigToExp[expr]三角関数を指数関数に変形する
ExpToTrig[expr]指数関数を三角関数に変形する
FunctionExpand[expr]特殊関数やその他の関数を展開する
ComplexExpand[expr]すべての変数が実数からなると前提した上で式を展開する
PowerExpand[expr]例えば (xy)pxpypに展開する

式の変形に使う特殊関数

三角関数は,すべての関数が引数xを持つように展開される.
In[12]:=
Click for copyable input
Out[12]=
三角関数の恒等式が使われ,因数分解された形の式が生成される.
In[13]:=
Click for copyable input
Out[13]=
整数倍の角度を使った式に変形される.
In[14]:=
Click for copyable input
Out[14]=
正弦関数は,xyがともに実数であるとの前提の上に展開される.
In[15]:=
Click for copyable input
Out[15]=
こうすると,xyが複素数であっても展開してくれる.
In[16]:=
Click for copyable input
Out[16]=
ExpandFactor等の関数が返してくる変形は,式中の変数がどんな値を取ろうが常に正しい.しかし,場合によっては,変数が特定の値を取るときだけに有効となるような式の変形が行えると便利である.このような変形を得るための関数のひとつにPowerExpandがある.
指数が整数でない積のベキ乗は,自動的には展開されない.
In[17]:=
Click for copyable input
Out[17]=
PowerExpandを使えば展開される.
In[18]:=
Click for copyable input
Out[18]=
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team