MATHEMATICAチュートリアル

ベキ級数の展開

Series[expr,{x,x0,n}]expr について 近傍で最高 次までベキ級数展開を行う
Series[expr,{x,x0,nx},{y,y0,ny}]
最初 y について,次に x についてベキ級数展開を行う

ベキ級数展開

近傍で までベキ級数展開する.
In[1]:=
Click for copyable input
Out[1]=
近傍で を級数展開する.
In[2]:=
Click for copyable input
Out[2]=
級数展開できない関数だと,導関数を使いシンボル的に展開形を表してくれる.
In[3]:=
Click for copyable input
Out[3]=

Seriesの機能は数学的にいって,関数についてテイラー(Taylor)級数を構成することにある.

近傍における関数 のテイラー級数展開は, 階の導関数 を使い,公式 に従って求められる.この公式が適用可能な式なら,Seriesを使い公式と同じ展開形が得られる(ただし,頻繁に使われる関数についてはSeriesの使うアルゴリズムの方が公式より効率よく展開処理ができる).

さらに,Seriesを使うと,標準的なテイラー級数の公式で直接カバーされない分数や負の指数部分を持つベキ級数も展開できる.

x に負のベキを持つベキ級数を展開する.
In[4]:=
Click for copyable input
Out[4]=
x に分数のベキを持つベキ級数を展開する.
In[5]:=
Click for copyable input
Out[5]=
Seriesを使えば,対数項を持つ級数でも展開できる.
In[6]:=
Click for copyable input
Out[6]=

もちろん,数学関数の中には,通常の意味のベキ級数の展開ができないものもある.Mathematica は,そのような場合を認識している.

においてが真性特異点を持つため,Seriesで級数展開は行われない.
In[7]:=
Click for copyable input
Out[7]=
しかし,においてはSeriesで展開可能である.
In[8]:=
Click for copyable input
Out[8]=

特に負のベキが現れるとき,Seriesが実際にいくつ項を生成するかで微妙な問題が生じる.

特定の次数まで取ったベキ級数と特定の精度で取った実数とを比較し類推してみると,このとき展開がどう進むか理解しやすくなる.すなわち,有限精度の実数を近似値とみなすようにベキ級数は「近似式」とみなされる.

ベキ級数を構築するためにSeriesで取られる手順は,ちょうどNにおいて実数の近似値を求めるために使われる手順によく似ている.つまり,これらの関数ではともに,展開する式が,最小な部分から有限の次数に(または,有限の桁精度に)置換され,そうすることで近似された式が評価される,という手順が取られる.例えば,項の相殺等が起ると,この手順だと指定した次数や桁精度に達しないところで展開が打ち切られる状況も起り得る.ただし,Nと異なりSeriesには,指定した次数の展開が得られるまでなるべく計算を繰り返す機能を持たせてあるので,仮に指定した次数まで展開し切れなくても,高い次数を指定しておけば十分に高い精度の展開が可能である.

Seriesで展開する.展開される式に打消し項が出るが,最終的には の項まで構築できる.
In[9]:=
Click for copyable input
Out[9]=

変数 x についてベキ級数展開をするとき,関数が具体的に x を含まないと,同オブジェクトは x から独立しているものとみなされる.このため,Seriesの構築するテイラー級数は,実はDの機能をもとに偏微分を取ることで展開が行われる.

およびは,ともにから独立しているとみなされる.
In[10]:=
Click for copyable input
Out[10]=
として,への依存を明示する.
In[11]:=
Click for copyable input
Out[11]=

Seriesを使い複数の変数に関してもベキ級数を展開することができる.IntegrateSumと同じように,Seriesでも,最後に指定した変数が展開操作の最初の対象になる.

Seriesの級数展開で変数が複数あると,1つの変数に関する展開が終ってから次の変数の展開が進められる.この例では,の級数を係数としたの級数が求まる.
In[12]:=
Click for copyable input
Out[12]=
New to Mathematica? Find your learning path »
Have a question? Ask support »