Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-Maxima入門- 総和sum(exp,var,min,max)の応用編 - 調和数, or Harmonic Number

 

 

 

f:id:jurupapa:20140101090304j:plain

 

お雑煮

 

(%i1) load(simplify_sum)$

 

第n調和数の定義は普通は以下の通り。

(%i2) sum(1/k,k,1,n);

 

$$ \tag{%o2}  \sum_{k=1}^{n}{\frac{1}{k}} $$

 

オイラーはちょっと違う定義をしています。ガンマ関数の積分による定義と雰囲気が似ているような気がします。

(%i3) f1:integrate((1-x^n)/(1-x),x,0,1);

 

$$ \tag{%o3}  \int_{0}^{1}{\frac{1-x^{n}}{1-x}\;dx} $$

 

これは次の有限和を簡約すると(%o5)が成り立つので、

(%i4) a:sum(x^k,k,0,n-1);

 

$$ \tag{%o4}  \sum_{k=0}^{n-1}{x^{k}} $$

(%i5) a=simplify_sum(a);

 

$$ \tag{%o5}  \sum_{k=0}^{n-1}{x^{k}}=\frac{x^{n}-1}{x-1} $$

 

積分(%o3)に代入すると、

(%i6) substpart(a,f1,1);

 

$$ \tag{%o6}  \int_{0}^{1}{\sum_{k=0}^{n-1}{x^{k}}\;dx} $$

 

更に次のような指示を与えると和と積分を交換して

(%i7) %,nouns;

 

$$ \tag{%o7}  \sum_{k=0}^{n-1}{\frac{1}{k+1}} $$

を得ます。

 

見やすくするために変数を置換する関数changevar(exp,rel,new,old)を用います。

(%i8) changevar(%,j=k+1,j,k);

 

$$ \tag{%o8}  \sum_{j=1}^{n}{\frac{1}{j}} $$

確かに(%o3)の積分を計算すると第n調和数の定義と一致します。

 

この式をsimplify_sum()に処理させると、harmonic_number(n)と、調和数であることを認識します。

(%i9) simplify_sum(%);

 

$$ \tag{%o9}  harmonic\_number(n) $$