Mathematica 9 is now available

Documentation / Mathematica / Mathematicaブック / Mathematicaを使った高等数学 / 代数式の操作  /

3.3.1 多項式の変形操作

多項式の変形操作

単一変数からなる多項式を入力する.

In[1]:= (2 + 4 x^2)^2 (x - 1)^3

Out[1]=

Expandを使い,積とベキを展開し,単純な和の形に書き直す.

In[2]:= t = Expand[ % ]

Out[2]=

Factorで多項式を完全に因数分解する.

In[3]:= Factor[ t ]

Out[3]=

FactorTermsを使い,多項式 tのすべての項に共通な因数をカッコの外に取り出す.

In[4]:= FactorTerms[ t ]

Out[4]=

同じ多項式でも,さまざまな形に書かれる.そのうちの3つの標準的な形が関数 Expand FactorTerms Factorで得られる. Expandは,多項式の持つすべての積を展開し,式を単純な項の和の形でまとめ直す. FactorTermsは,すべての項に共通な因子でまとめ直す.また, Factorは,なるべく小さい次数の因数に分解する.

複数の変数の多項式については,変数のどれか1つを主要な変数とし,その変数について式を書き直すことが考えられる. Collect[poly, x]は, xを主変数とみたてて,多変数の多項式を xのベキ乗項の和の形に書き直す.

2つの変数を持つ多項式を例に使う.

In[5]:= Expand[ (1 + 2x + y)^3 ]

Out[5]=

xを主変数とし多項式に Collectを作用させる.

In[6]:= Collect[ %, x ]

Out[6]=

主変数を複数指定した上で Collectを使う.すると,指定した変数について多項式をまとめ直してくれる.

In[7]:= Collect[ Expand[ (1 + x + 2y + 3z)^3 ], {x, y} ]

Out[7]=

制約付きの多項式の展開

xを含まない部分は展開しないようにする.

In[8]:= Expand[(x + 1)^2 (y + 1)^2, x]

Out[8]=

今度は,式の部分でパターン b[_]に合ったオブジェクトを持たないものを展開から外す.

In[9]:= Expand[(a[1] + a[2] + 1)^2 (1 + b[1])^2, b[_]]

Out[9]=

ベキの展開

Mathematicaは, cが整数である場合を除いて, (a b)^cのような形の項を自動的に展開しない.一般に,後者の展開は a bがともに正の実数であるときに限り正しい.それでも,関数 PowerExpandを使えば, a bが正の実数であると仮定され展開してくれる.

この式は自動的に展開してくれない.

In[10]:= (x y)^n

Out[10]=

それでも, PowerExpandを使うと, x yを正の実数と仮定し展開してくれる.

In[11]:= PowerExpand[%]

Out[11]=

Logもそのままでは展開してくれない.

In[12]:= Log[%]

Out[12]=

今度も, PowerExpandを使えば展開できるようになる.

In[13]:= PowerExpand[%]

Out[13]=

式のまとめ直し

各所で関数 fを使った式を入力する.

In[14]:= t = 3 + x f[1] + x^2 f[1] + y f[2]^2 + z f[2]^2

Out[14]=

パターン f[_]にマッチするオブジェクトを共通成分とする項でまとめ直す.

In[15]:= Collect[t, f[_]]

Out[15]=

求まった各項の係数部に Factorを適用 する.

In[16]:= Collect[t, f[_], Factor]

Out[16]=



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.