調和級数

24 April 2014   2002 July 13
Masahiro MIZUTANI

調和級数は発散する　(∑_(k=1)^∞)(1/k)= ∞             有限和 　(Subscript[H, n])=(∑_(k=1)^n)(1/k) 
級数に関するCauchyの収束判定条件：級数{(Subscript[s, n])}において、任意のϵ>0に対して、ある整数 (Subscript[n, 0]) が存在して、n>m≥ (Subscript[n, 0]) に対して
	|(Subscript[s, n]) - (Subscript[s, m])|<ϵ
を満たさない。実際
	(Subscript[H, 2n]) - (Subscript[H, n])=(1/(n+1))+(1/(n+2))+..+(1/(2n))≥n (1/(2n))=(1/2)

級数の計算

関数Forを使う

s = 0;

For [i = 1, i < 5,
	s = s + 1 / i;
i++];

s

Rプログラムとの比較

harmonicSeries <- function (n) {
    seq <-1/c (1 : n)
    sum (seq)
 }
 
> harmonicSeries(5000)
[1] 9.094509

演習：Rでこの計算を実行しなさい

関数にする

harmonicSeries0[n_Integer] := Module[ {h, i},
h = 0;
For[i = 1, i <= n,
h = h + 1 / i;i++];
 h
]

harmonicSeries0[5]

N[harmonicSeries0[5000], 20]

関数Sumを使う

Sum[1/n,{n, 1, 1}]

Sum[1/n,{n,1,  2}]

Sum[1/n,{n, 1, 3}]

関数にする

harmonicSeries[x_Integer] := Sum[1/n,{n, 1, x}]

harmonicSeries[5]

有限和のリスト

Table[harmonicSeries[n],{n,1, 9}]

演習：このリスト結果をLaTeXで数式として示しなさい

ListPlot[Table[harmonicSeries[n],{n,1,200}]]

演習：この描画結果をLaTeXに画像として貼り込みなさい

有限和の有理数と小数点表示

{harmonic[300],N[harmonic[300]]}

浮動小数合計関数 NSumをつかう

Sum[N[1/k], {k, 1, n}] よりもう〜んと高速に計算する

NharmonicSeries[n_] := NSum[1/k,{k, 1, n}]

{NharmonicSeries[10^6], NharmonicSeries[10^9],NharmonicSeries[10^12]}

NharmonicSeries[10^20]

Euler数 γ との関係

γ=(lim_(n->∞)) (Subscript[H, n]) -log n 
Mathematicaでは EulerGamma

eulerGamma[n_Integer]:=NharmonicSeries[n] - N[Log[n]]

eulerGamma[10^6]

{N[EulerGamma - eulerGamma[10^10],30], N[EulerGamma,30]}