|
DiscreteMath`RSolve`
漸化式や差分方程式は,未知の列の異なる値の間の関係を指定するものである.例えば,方程式a[n] == a[n-1] + a[n-2]は未知の数列a[n]において前の2つの項の合計が次の項となることを指定する.
Mathematica には組込み関数のRSolveが含まれており,この種の方程式の解を求める.RSolve.mパッケージには漸化式の解法を探究する上で便利なユーティリティ関数が集めてある.

数列の母関数
関数 は解 の母関数と呼ばれる.数列の指数型母関数は関数 である.例えば, は数列{1/n!}の母関数であり,定数列 の指数型母関数でもある.
パッケージをロードする.
In[1]:= <<DiscreteMath`RSolve`
単純な等比級数の を計算する.
In[2]:= PowerSum[1, {x, n}]
Out[2]= 
整数の2乗の数列の母関数を計算する.
In[3]:= PowerSum[n^2, {x, n}]
Out[3]= 
これで,関数の級数展開の係数が整数の2乗であることを確認する.
In[4]:= CoefficientList[Normal[ Series[%, {x, 0, 10}]], x]
Out[4]= 
以下の指数型母関数は,単に指数関数のテイラー級数である.
In[5]:= ExponentialPowerSum[1, {x, n}]
Out[5]= 
整数の2乗の数列の指数型母関数である.
In[6]:= ExponentialPowerSum[n^2, {x, n}]
Out[6]= 
以下では が奇数か偶数かで,異なる形式を持つ級数に対する指数型の累乗和を計算する.このパッケージには関数Evenが含まれている.これは組込み関数のEvenQと同等であるが,引数がシンボルのときには評価しないという点だけ異なる.
In[7]:= ExponentialPowerSum[ n^2 + 4 n If[Even[n], 2^n, 3^n] + 1, {x, n}]
Out[7]= 

漸化式の解の母関数
与えられた漸化式の解はフィボナッチ(Fibonacci)数列である.従って,以下はこの数列の母関数を与える.
In[8]:= GeneratingFunction[ {a[n] == a[n-1] + a[n-2], a[0] == a[1] == 1}, a[n], n, x]
Out[8]= 
この漸化式ではベルヌーイ(Bernoulli)数列を与える.
In[9]:= ExponentialGeneratingFunction[ Sum[Binomial[n, k] B[k], {k, 0, n}] == B[n] + If[n==1, 1, 0], B[n], n, x]
Out[9]= 
上で計算した母関数のベキ級数の係数のリストを計算して, 番目の項から の因数を削除する.
In[10]:= CoefficientList[ Normal[Series[%[[1,1]], {x, 0, 10}]], x] * Table[n!, {n, 0, 10}]
Out[10]= 
結果として得られたリストにはベルヌーイ数が含まれる.
In[11]:= Table[BernoulliB[n], {n, 0, 10}]
Out[11]= 

ベキ級数の係数
付近における のベキ級数展開の の係数を与える.
In[12]:= SeriesTerm[1/((x-2) x^2 ), {x, 0, -2}]
Out[12]= 
級数の係数は という一般値に対して計算することができる.デフォルトでは と仮定されている.
In[13]:= SeriesTerm[1/(1-x), {x, 0, n}]
Out[13]= 
ここでは について何も仮定されていない.
In[14]:= SeriesTerm[1/(1-x), {x, 0, n}, Assumptions -> {}]
Out[14]= 
別の一般係数である.ここでは と仮定されている.
In[15]:= SeriesTerm[1/(x - x^3), {x, 0, n}]
Out[15]= 
について何も仮定されていない場合は,結果に条件子Ifが含まれる.
In[16]:= SeriesTerm[1/(x - x^3), {x, 0, n}, Assumptions -> {}]
Out[16]= 
GeneratingFunctionConstantsおよびExponentialGeneratingFunctionConstantsの両オプションは,それぞれGeneratingFunctionとExponentialGeneratingFunctionの解の定数を指定するために使うことができる.

GeneratingFunctionとExponentialGeneratingFunctionのオプション
|