02 級数
黒木玄2018-04-18～2019-04-03, 2020-04-25, 2023-06-22
Copyright 2018,2019,2020,2023 Gen Kuroki
License: MIT https://opensource.org/licenses/MIT (https://opensource.org/licenses/MIT)
Repository: https://github.com/genkuroki/Calculus (https://github.com/genkuroki/Calculus)
このファイルは次の場所できれいに閲覧できる:
http://nbviewer.jupyter.org/github/genkuroki/Calculus/blob/master/02%20series.ipynb(http://nbviewer.jupyter.org/github/genkuroki/Calculus/blob/master/02%20series.ipynb)
https://genkuroki.github.io/documents/Calculus/02%20series.pdf(https://genkuroki.github.io/documents/Calculus/02%20series.pdf)
このファイルは Julia Box (https://juliabox.com) で利用できる.
自分のパソコンにJulia言語 (https://julialang.org/)をインストールしたい場合にはWindowsへのJulia言語のインストール (http://nbviewer.jupyter.org/gist/genkuroki/81de23edcae631a995e19a2ecf946a4f)
Julia v1.1.0 の Windows 8.1 へのインストール(https://nbviewer.jupyter.org/github/genkuroki/msfd28/blob/master/install.ipynb)
を参照せよ. 前者は古く, 後者の方が新しい.
論理的に完璧な説明をするつもりはない. 細部のいい加減な部分は自分で訂正・修正せよ.

目次
 1 級数 1.1 絶対収束と条件収束
1.1.1 絶対収束と条件収束の定義
1.1.2 絶対収束級数の収束先は和を取る順番によらないこと
 1.2 絶対収束級数の例
1.2.1 絶対収束級数の例1 (Riemannのゼータ函数)
1.2.2 絶対収束級数の例2
 1.3 条件収束級数の例 (交代級数)
1.3.1 条件収束交代級数の例1 (log 2)
1.3.2 Euler変換による交代級数の数値計算
1.3.3 無限和と積分の交換に関する注意
1.3.4 条件収束交代級数の例2 (arctan 1 = π/4)
 2 複素数の級数
2.1 複素数の絶対収束級数
2.2 条件収束する複素級数の例
2.3 多重対数函数
2.4 二重対数函数のζ(2)の近似計算への応用
2.5 二重対数函数のζ(2)の正確な計算への応用
2.6 二重対数函数の高木貞治『解析概論』§35の例2(p.113)への応用
2.7 二重対数函数の五項関係式
 3 無限積
3.1 無限積の絶対収束
3.2 絶対収束する無限積の収束先が積の順序によらないこと
 3.3 量子二重対数函数
3.3.1 量子二重対数函数と量子指数函数との関係
3.3.2 q二項定理
3.3.3 q指数函数の加法公式
3.3.4 量子二重対数函数の五角形恒等式

In [1]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

using Base.MathConstants
using Base64
using Printf
using Statistics
const e = ℯ
endof(a) = lastindex(a)linspace(start, stop, length) = range(start, stop, length=length)​
using Plots#gr(); ENV["PLOTS_TEST"] = "true"#pyplot(fmt=:svg)
pyplot()#clibrary(:colorcet)#clibrary(:misc)
default(fmt=:png)​function pngplot(P...; kwargs...)sleep(0.1)
pngfile = tempname() * ".png"
savefig(plot(P...; kwargs...), pngfile)showimg("image/png", pngfile)end
pngplot(; kwargs...) = pngplot(plot!(; kwargs...))​
showimg(mime, fn) = open(fn) do fbase64 = base64encode(f)display("text/html", """<img src="data:$mime;base64,$base64">""")
end​
using SymPy#sympy.init_printing(order="lex") # default#sympy.init_printing(order="rev-lex")​
using SpecialFunctions
lgamma(x::Real) = logabsgamma(x)[1]​
using QuadGK
using PyPlot: PyPlot, plt

In [2]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# Override the Base.show definition of SymPy.jl:# https://github.com/JuliaPy/SymPy.jl/blob/29c5bfd1d10ac53014fa7fef468bc8deccadc2fc/src/​@eval SymPy function Base.show(io::IO, ::MIME"text/latex", x::SymbolicObject)
print(io, as_markdown("\\displaystyle " * sympy.latex(x, mode="plain", fold_short_fra
end@eval SymPy function Base.show(io::IO, ::MIME"text/latex", x::AbstractArray{Sym})
function toeqnarray(x::Vector{Sym})a = join(["\\displaystyle " * sympy.latex(x[i]) for i in 1:length(x)], "\\\\")"""\\left[ \\begin{array}{r}$a\\end{array} \\right]"""end
function toeqnarray(x::AbstractArray{Sym,2})sz = size(x)a = join([join("\\displaystyle " .* map(sympy.latex, x[i,:]), "&") for i in 1:sz"\\left[ \\begin{array}{" * repeat("r",sz[2]) * "}" * a * "\\end{array}\\right]"
end
print(io, as_markdown(toeqnarray(x)))
end

1 級数
1.1 絶対収束と条件収束
1.1.1 絶対収束と条件収束の定義

𝑛𝑎𝑛 ≧ 0 であると仮定する. そのとき, ある正の定数 𝑀 が存在して, すべての番号 𝑛 について ∑ 𝑎𝑘 ≦ 𝑀 が成立してい𝑘=1∞
るならば, 無限級数
∑ 𝑎𝑛 は有限の値に収束する.
定理:

証明:

𝑛

𝑛=1

𝑠𝑛 = ∑ 𝑎𝑛 とおくと, 𝑠𝑛 は上に有界な単調増加実数列になる. ゆえに実数の連続性より, 𝑠𝑛 は有限の値に収束する. □
𝑘=1

∞

∞

∞

𝑛=1

𝑛=1

𝑛=1

定理:

∑ |𝑎𝑛 | < ∞ ならば級数 ∑ 𝑎𝑛 は収束する. そのとき, 級数 ∑ 𝑎𝑛 は絶対収束するという.

証明:

𝑠𝑛 = ∑ 𝑎𝑘 とおく. 任意に 𝜀 > 0 を取る. ∑ |𝑎𝑛 | < ∞ より, ある番号 𝑁 が存在して, 𝑛 ≧ 𝑁 ならば

𝑛

∞

𝑘=1

𝑛=1

∞

∑
𝑘=𝑛+1

|𝑎𝑘 | < 𝜀𝑚 ≧ 𝑛 ≧ 𝑁 のとき,∞
|𝑚 | 𝑚|𝑠𝑚 − 𝑠𝑛 | = ||| ∑ 𝑎𝑘 ||| ≦ ∑ |𝑎𝑘 | ≦ ∑ |𝑎𝑘 | < 𝜀.
𝑘=𝑛+1
|𝑘=𝑛+1 | 𝑘=𝑛+1
ゆえに 𝑠𝑛 はCauchy列になる. ゆえに実数の完備性より, 𝑠𝑛 は収束する. □となる. ゆえに

注意: 上の定理の逆は成立しないことに注意に注意せよ. 級数

∞

∞

∞

𝑛=1

𝑛=1

∑ 𝑎𝑛 が収束していても ∑ |𝑎𝑛 | = ∞ となる場合がある. その𝑎𝑛 は条件収束するという. □∑𝑛=1
注意: 上の定理は 𝑎𝑛 が実数列でも複素数列でも成立している. さらに 𝑎𝑛 が ℝ 𝑛 や ℂ𝑛 の点列でかつ絶対値をノルムで置き換え
とき, 級数た場合にも成立している. 直観的には「長さが有限の紐の先端に対応する点が収束先として存在する」というような発想で考えればよい.

より一般にはノルム空間においては上の定理が成立することと完備性の条件は同値になっている. 実数列の場合には実数の連続性と同値になっている.
実数の連続性について理解していなくても, 絶対収束の概念を理解していれば足りることは多い.

1.1.2 絶対収束級数の収束先は和を取る順番によらないこと
定理: 絶対収束する無限級数の収束先は足し上げる順序をどのように変えても同じになる.
このノートでは, 絶対収束する無限級数

∞

□

□

𝑎𝑛 に関する以下の2つの結果を証明しておくことにしよう.
∑
𝑛=1∞

𝑘 ↦ 𝑛𝑘 は正の整数全体と正の整数全体を一対一に対応させる写像であるならば, ∑ 𝑎𝑛𝑘 も絶対収束して,
𝑘=1∞∞∑ 𝑎𝑛𝑘 = ∑ 𝑎𝑛 が成立する.
(1)

𝑘=1

𝑛=1

∞

(𝑘,𝑙) ↦ 𝑛𝑘,𝑙 が正の整数の対の全体と正の整数全体を一対一に対応させる写像であるならば, すべての 𝑘 について ∑ 𝑎𝑛𝑘,𝑙
𝑙=1
∞ ∞
∞ ∞
∞
は絶対収束し, さらに∑ ∑ 𝑎𝑛𝑘,𝑙 も絶対収束して, ∑ ∑ 𝑎𝑛𝑘,𝑙 = ∑ 𝑎𝑛 が成立する.
(2)

証明:
(1)

∞

𝑘=1 𝑙=1

𝑘=1 𝑙=1

𝑛=1

𝑀 = ∑ |𝑎𝑛 | とおく.
𝑛=1

𝑛1 , 𝑛2 ,…, 𝑛𝐾 の最大値を 𝑁 と書くと,

𝐾

𝑁

𝑘=1

𝑛=1

∑ |𝑎𝑛𝑘 | ≦ ∑ |𝑎𝑛 | ≦ 𝑀 < ∞∞∞|𝑎𝑛𝑘 | は収束する. つまり ∑ 𝑎𝑛𝑘 は絶対収束する.
∑
𝑘=1
𝑘=1
𝑛𝑘 = 1,2,…,𝑁 となる 𝑘 の最大値を 𝐾𝑁 書くと, 𝑛1 , 𝑛2 ,…, 𝑛𝐾𝑁 は 1,2,…,𝑁 をすべて含み, 𝑁 → ∞ のとき 𝐾𝑁 → ∞
なので

となり,

𝑁 | ∞
𝑁
|| 𝐾𝑁
||∑ 𝑎𝑛𝑘 − ∑ 𝑎𝑛 ||| ≦ ∑ |𝑎𝑛 | = 𝑀 − ∑ |𝑎𝑛 | → 0 (𝑁 → ∞)𝑛=1
|𝑘=1 𝑛=1 | 𝑛=𝑁+1

となるので,∞∞∑ 𝑎𝑛𝑘 = ∑ 𝑎𝑛 となることがわかる.

𝑘=1
𝑛=1(2) 各 𝑛𝑘,1 , 𝑛𝑘,2 ,…, 𝑛𝑘,𝐿 の最大値を 𝑁 と書くと,
𝐿

𝑁

𝑙=1

𝑛=1

∑ |𝑎𝑛𝑘,𝑙| ≦ ∑ |𝑎𝑛 | ≦ 𝑀 < ∞

なので,

∞

𝑎𝑛𝑘,𝑙 は絶対収束する.
∑
𝑙=1

∞

𝐿𝑘

𝜀 > 0 を取る. 𝑘 = 1,2,…,𝐾 ごとに 𝐿𝑘 を十分に大きくすると, ∑ |𝑎𝑘,𝑙 | ≦ ∑ |𝑎𝑘,𝑙 | + 𝜀 となるので, 𝑛𝑘,𝑙 (𝑙=1
𝑙=1
𝑘 = 1,2,…,𝐾 , 𝑙 = 1,2,…,𝐿𝑘 ) の最大値を 𝑁 と書くと,
𝐾 || ∞ || 𝐾 ∞
𝐾 𝐿𝑘
𝑁
≦
|
|
≦
|
|
+
𝐾𝜀
≦
|𝑎𝑛 | + 𝐾𝜀 ≦ 𝑀 + 𝐾𝜀.
𝑎
𝑎
𝑎
|
|
𝑘,𝑙
𝑛𝑘,𝑙 ∑ ∑ 𝑛𝑘,𝑙∑∑
𝑘=1 ||∑
𝑙=1 || ∑𝑘=1 ∑𝑙=1
𝑘=1 𝑙=1𝑛=1
𝜀 > 0 はいくらでも小さくできるので,
𝐾 || ∞ || 𝐾 ∞| 𝑎𝑘,𝑙 || ≦ ∑ ∑ |𝑎𝑛𝑘,𝑙| ≦ 𝑀 < ∞.
∑𝑘=1 ||∑
𝑙=1 | 𝑘=1 𝑙=1∞ ∞ゆえに∑ ∑ 𝑎𝑛𝑘,𝑙 も絶対収束する.
任意に

𝑘=1 𝑙=1

𝜀>0{ 𝑛𝑘,𝑙 ∣ 𝑘 = 1,2,…,𝐾, 𝑙 = 1,2,3,…} ⊃ {1,2,…,𝑁} となるような最小の 𝐾 を 𝐾𝑁 と書くこと
𝑁 → ∞ ならば 𝐾𝑁 → ∞ となる. 各 𝑘 = 1,2,…,𝐾𝑁 に対して, ある 𝐿𝑘 が存在して,{ 𝑛𝑘,𝑙 ∣ 𝑘 = 1,2,…,𝐾, 𝑙 = 1,2,…, 𝐿𝑘 } ⊃ {1,2,…,𝑁}

任意に
を取る.
にする. このとき,

かつ

|| ∞
𝐿𝑘 |
||∑ 𝑎𝑛𝑘,𝑙 − ∑ 𝑎𝑛𝑘,𝑙||| < 𝐾𝜀𝑁
𝑙=1 |
| 𝑙=1

となる. ゆえに,

𝑁 || || 𝐾𝑁 ∞𝐾𝑁 𝐿𝑘 || || 𝐾𝑁 𝐿𝑘
𝑁 |||| 𝐾𝑁 ∞
−
≦
−
+
−
𝑎
𝑎
𝑎
𝑎
𝑎
||∑ ∑ 𝑛𝑘,𝑙 ∑ 𝑛 || ||∑ ∑ 𝑛𝑘,𝑙 ∑ ∑ 𝑛𝑘,𝑙|| ||∑ ∑ 𝑛𝑘,𝑙 ∑ 𝑎𝑛 ||𝑛=1 | | 𝑘=1 𝑙=1
𝑘=1 𝑙=1 | | 𝑘=1 𝑙=1
𝑛=1 ||𝑘=1 𝑙=1
𝐾𝑁 || ∞
𝐿𝑘 || ∞
≦ ∑ ||∑ 𝑎𝑛𝑘,𝑙 − ∑ 𝑎𝑛𝑘,𝑙|| + ∑ |𝑎𝑛 |𝑘=1 | 𝑙=1
𝑙=1 | 𝑛=𝑁+1∞< 𝜀 + ∑ |𝑎𝑛 |.
𝑛=𝑁+1

𝜀 > 0 はいくらでも小さくできるので,

𝑁 || ∞|| 𝐾𝑁 ∞−𝑎||∑ ∑ 𝑛𝑘,𝑙 ∑ 𝑎𝑛 || ≦ ∑ |𝑎𝑛 |.
𝑛=1 | 𝑛=𝑁+1|𝑘=1 𝑙=1∞ ∞∞右辺は 𝑁 → ∞ のとき 0 に収束するので,=
𝑎𝑛∑ ∑ 𝑘,𝑙 ∑ 𝑎𝑛 が成立することがわかる. □𝑘=1 𝑙=1𝑛=1

上の定理から次の系(corollary, 当然の結果)がただちに導かれる.

𝑎𝑛 ≧ 0 のとき 𝑎1 , 𝑎2 ,… の無限和は足し上げる順序をどのように変えても同じになる. □注意: 𝑎𝑛 ≧ 0 のとき 𝑎1 , 𝑎2 ,… の無限和の値として ∞ も許せば, その無限和は常に値を持っているとみなせる. 非負の実数の無限和を扱うときには収束先として ∞ も許したくなる場合が多いので, その場合には収束先が有限の値になるか否かを明瞭に述べておいた方が誤解が少なくなる. □
系:

問題:

∞

∞

𝑚=1

𝑛=1

∑ 𝑎𝑚 と ∑ 𝑏𝑛 が絶対収束しているならば,

𝑚,𝑛≧1, ∑𝑚+𝑛≦𝑁+1|𝑎𝑚 𝑏𝑛 | も 𝑁 → ∞ で収束しており,

lim
𝑁→∞
が成立していることを示せ.
解答例:

∞

∞

𝑚=1

𝑛=1

𝑚,𝑛≧1, ∑𝑚+𝑛≦𝑁+1

∞

∞

𝑚=1

𝑛=1

𝑎𝑚 𝑏𝑛 = ∑ 𝑎𝑚 ∑ 𝑏𝑛(∗)

𝐿 = ∑ |𝑎𝑚 |, 𝑀 = ∑ |𝑏𝑛 | とおく. このとき,𝑚,𝑛≧1, ∑𝑚+𝑛≦𝑁+1

𝑁

𝑁

𝑚=1

𝑛=1

|𝑎𝑚 𝑏𝑛 | ≦ ∑ |𝑎𝑚 | ∑ |𝑏𝑛 | ≦ 𝐿𝑀 < ∞.

|𝑎𝑚 𝑏𝑛 | も 𝑁 → ∞ で収束することがわかる. これは 𝑁→∞lim ∑ 𝑎𝑚 𝑏𝑛 が絶対収束すること
𝑚,𝑛≧1, 𝑚+𝑛≦𝑁+1を意味している. したがって, 上の方の定理の(2)より(∗ )が成立することもわかる. □注意: 条件収束級数の収束先は足し上げる順序によって変わるので扱いには注意が必要になる. □これより,𝑚,𝑛≧1, ∑𝑚+𝑛≦𝑁+1∞

𝑎𝑛 の級数 ∑ 𝑎𝑛 は条件収束していると仮定する. このとき, 任意の実数 𝛼 に対して, その級数の足し上げる順序をう𝑛=1
まく変えることによって, 収束先を 𝛼 にできることを示せ.
解答例: 𝑎𝑛 うち非負のもの全体を 𝑏1 ≧ 𝑏2 ≧ … と書き, 負のもの全体を 𝑐1 ≧ 𝑐2 ≧ … と書く. このとき, 𝑏𝑛 → 0, 𝑐𝑛 → 0,∞
𝑏𝑛 = ∞ かつ ∑∞𝑛=1 𝑐𝑛 = −∞ が成立している. まず, 𝑏1 + ⋯ + 𝑏𝑘 が最初に 𝛼 以上になる 𝑘 を 𝑘1 と定める. 次に∑
𝑛=1∞
𝑏1 + ⋯ + 𝑏𝑘1 + 𝑐1 + ⋯ + 𝑐𝑙 が最初に 𝛼 以下になる 𝑙 を 𝑙1 と定める. これを同様に繰り返すと, 級数 ∑ 𝑎𝑛 の項の順序を並𝑛=1
問題: 実数

び換えた級数𝑏1 + ⋯ + 𝑏𝑘1 + 𝑐1 + ⋯ + 𝑐𝑙1 + 𝑏𝑘1+1 + ⋯ + 𝑏𝑘2 + 𝑐𝑙1+1 + ⋯ + 𝑐𝑙2 + ⋯ができ上がる. 𝑏𝑘𝑖 までの和は和の途中段階も含めてすべて 𝛼 + 𝑏𝑘𝑖 未満であり, 𝑐𝑙𝑗 までの和は和の途中段階も含めてすべて
𝛼 + 𝑐𝑙𝑗 より大きくなる(𝑐𝑙 < 0 に注意せよ). したがって, 𝑏𝑛 → 0 と 𝑐𝑛 → 0 より, 上のように並び換えた級数が 𝛼 に収束する
ことがわかる. □∞注意: 上の解答例の最後の部分の議論は 𝑎𝑛 ≧ 0 , 𝑎𝑛 ≧ 𝑎𝑛+1 , 𝑎𝑛 → 0 のとき, 交代級数(−1)𝑛−1 𝑎𝑛 が常に収束することを示∑
𝑛=1
すためにも使える. □1.2 絶対収束級数の例
1.2.1 絶対収束級数の例1 (Riemannのゼータ函数)∞
𝑠 > 1 と仮定する. このとき ∑ 𝑛1𝑠 < ∞ である. なぜならば 𝑛 → ∞ のとき
𝑛=1

これより

𝑠 > 1 のときとなることがわかった.

1 ≦ 1 + 𝑛 𝑑𝑥 = 1 + 1 − 𝑛1−𝑠 → 1 + 1 .
𝑠
∑
∫1 𝑥𝑠
𝑠−1
𝑠−1
𝑘=1 𝑘
𝑛

𝑠 > 1 の函数 𝜁(𝑠) を

∞ 1
1
≦
1
+
𝑠
∑
𝑠−1
𝑛=1 𝑛
∞
𝜁(𝑠) = ∑ 𝑛1𝑠𝑛=1𝑠 ≠ 1 の複素数全体に自然に拡張される(解析と定める. これをRiemannのゼータ函数と呼ぶ. Riemannのゼータ函数の定義域は接続される). Riemannのゼータ函数は整数論における最も基本的で重要な函数である.

問題:∞ ( 1)𝑛−1

𝑠 > 1 と仮定する. この仮定のもとで次の公式を証明せよ:∞
𝑛−1(1 − 21−𝑠 )𝜁(𝑠) = ∑ (−1)𝑛𝑠 .
𝑛=1

証明: 絶対収束級数を扱っているので, 以下のように形式的に計算した結果がそのまま証明になる.

∞∞∞(1 − 21−𝑠 )𝜁(𝑠) = (1 − 22𝑠 ) ∑ 𝑛1𝑠 = ∑ 𝑛1𝑠 − ∑ (2𝑛)2 𝑠
𝑛=1
𝑛=1
𝑛=1
1
1
1
1
= ( 1𝑠 + 2𝑠 + 3𝑠 + 4𝑠 + ⋯) − ( 22𝑠 + 42𝑠 + ⋯)∞𝑛−1
= 11𝑠 − 21𝑠 + 31𝑠 − 41𝑠 + ⋯ = ∑ (−1)𝑛𝑠 . □𝑛=1

問題:
In [3]:

𝜁(2) を数値計算して, 𝜋2 /6 に近いことを確認せよ.
1
2
3
4
5
6



N = 10^8
SimpleSum = sum(n->1/n^2, 1:N)
TrueValue = π^2/6@show SimpleSum@show TrueValue@show SimpleSum - TrueValue;

SimpleSum = 1.6449340568482282
TrueValue = 1.6449340668482264
SimpleSum - TrueValue = -9.999998162868451e-9
問題:

𝜁(2) = 𝜋2 /6 の証明について調べよ.

□
正の偶数 2𝑚 について 𝜁(2𝑚) はすべて計算されている. しかし, 3以上の奇数 2𝑚 + 1 に対する 𝜁(2𝑚 + 1) の数学的な素性はま
ヒント: この問題はBasel問題などと呼ばれているようである. インターネットで検索してみよ.
だよくわかっていない.

1.2.2 絶対収束級数の例2∞問題:(𝜁(𝑛) − 1) = 1 を示せ.
∑
𝑛=2

証明:

𝑘 ≧ 2 のとき

∞ 1
1/𝑘2 = 1 = 1 − 1 .
=𝑛∑𝑛=2 𝑘 1 − 1/𝑘 𝑘(𝑘 − 1) 𝑘 − 1 𝑘そして∞𝜁(𝑛) − 1 = 21𝑛 + 31𝑛 + 41𝑛 + ⋯ = ∑ 𝑘1𝑛
𝑘=2

なので,

∞ ∞ 1 ∞ ∞ 1 ∞
1 1
(𝜁(𝑛)
−
1)
=
𝑛 = ∑ ∑ 𝑘𝑛 = ∑ ( 𝑘 − 1 − 𝑘 )
∑
∑
∑
𝑘
𝑛=2
𝑛=2 𝑘=2𝑘=2 𝑛=2
𝑘=2= ( 11 − 12 ) + ( 12 − 13 ) + ( 13 − 13 ) + ⋯ = 1.
2つ目の等号で 1/𝑘𝑛 ≧ 0 なので足し上げる順序を変えても総和は等しいことを使った. □∞以下はコンピューターによる計算.

In [4]:

1 N = 50
2 sum(n->zeta(n)-1, 2:N)

Out[4]: 1.0000000000000044
In [5]:

Out[5]:

1

1 l, n = symbols("l n", integer=true, positive=true) # l = k-1
2 s = sympy.Sum(1/(l+1)^n, (n,2,oo)).doit().simplify()
3 S = sympy.Sum(s, (l,1,oo)).doit()

問題: 上の問題の結果より,

証明:∞(−1)𝑛 (𝜁(𝑛) − 1) は絶対収束する. その収束先を求めよ.
∑
𝑛=2

𝑘 ≧ 2 のとき

∞ (−1)𝑛1/𝑘2 = 1 = 1 − 1 .
=𝑛∑
1 + 1/𝑘 𝑘(𝑘 + 1) 𝑘 𝑘 + 1
𝑛=2 𝑘

そして

∞ (−1)𝑛𝑛 (−1)𝑛 (−1)𝑛(−1)𝑛 (𝜁(𝑛) − 1) = (−1)
+
+
+
⋯
=
∑ 𝑘𝑛
2𝑛 3𝑛 4𝑛𝑘=2なので,

∞ ∞ (−1)𝑛 ∞ ∞ (−1)𝑛 ∞ 1
1𝑛 (𝜁(𝑛) − 1) =(−1)
𝑛 = ∑ ∑ 𝑘𝑛 = ∑ ( 𝑘 − 𝑘 + 1 )
∑
∑
∑
𝑘
𝑛=2
𝑛=2 𝑘=2𝑘=2 𝑛=2
𝑘=2
1
1
1
1
1
= ( 2 − 3 ) + ( 3 − 4 ) + ( 4 − 15 ) + ⋯ = 12 .
2つ目の等号で絶対収束級数なので足し上げる順序を変えても総和は等しいことを使った. □∞以下はコンピューターによる計算.
In [6]:

1 N = 50
2 sum(n->(-1)^n*(zeta(n)-1), 2:N)

Out[6]: 0.5000000000000018
In [7]:

Out[7]:

12

1 l, n = symbols("l n", integer=true, positive=true) # l = k-1
2 s = sympy.Sum((-1)^n/(l+1)^n, (n,2,oo)).doit().simplify()
3 S = sympy.Sum(s, (l,1,oo)).doit()

1 = ∞ を示せ.
∑
𝑛=2 𝑛log𝑛
解答例: 𝑁 → ∞ のとき,
𝑁 1
𝑁 𝑛+1 𝑑𝑥
𝑁+1 𝑑𝑥≧=2 ≧ loglog(𝑁 + 1) → ∞.
∑ 𝑛log𝑛 ∑ ∫𝑛 𝑥log𝑥 ∫2 𝑥log𝑥 = [loglog𝑥]𝑁+1
問題:

問題:

∞

𝑛=2

𝑛=2

1 < ∞ を示せ.
∑
𝑛=3 𝑛(log𝑛)2∞

解答例: 左辺の部分和が有界であることが次のようにして確認できる:1 ≦ 𝑁 𝑛 𝑑𝑥 = 𝑁 𝑑𝑥 = −1 𝑁 ≦ 1 .
∑𝑛=3 𝑛(log𝑛)2 ∑𝑛=3 ∫𝑛−1 𝑥(log𝑥)2 ∫2 𝑥(log𝑥)2 [ log𝑥 ]2 log2∞
1 < ∞ となることを示せ.
問題: 𝑎 > 1 のとき
𝑎∑𝑛(log𝑛)𝑛=3
𝑁

解答例: 左辺の部分和が有界であることが次のようにして確認できる:□□1 ≦ 𝑁 𝑛 𝑑𝑥 = 𝑁 𝑑𝑥 = log(𝑥)1−𝑎 𝑁 ≦ (log2)1−𝑎 . □
𝑎
𝑎
𝑎
∑
𝑎−1
𝑛=3 𝑛(log𝑛) ∑𝑛=3 ∫𝑛−1 𝑥(log𝑥) ∫2 𝑥(log𝑥) [ 1 − 𝑎 ]2
𝑑𝑥 = 𝑑𝑦 なので, 0 < 𝑟 < 𝑅 について,
注意: 𝑥 = 𝑒𝑦 と置換すると, log𝑥 = 𝑦 ,𝑥
log 𝑅 𝑑𝑦𝑅 𝑑𝑥=∫𝑟 𝑥(log𝑥)𝑎 ∫log 𝑟 𝑦𝑎 .
これは, 𝑎 ≦ 1 ならば 𝑅 → ∞ で無限大に発散し, 𝑎 > 1 ならば有限の値に収束する. □問題: 正の整数 𝑛 について 𝑛 が十進表示で 9 を含まないときに 𝑎𝑛 = 1/𝑛 と定め, 含むとき 𝑎𝑛 = 0 と定める. このとき∞
𝑎𝑛 < 30 となることを示せ.
∑
𝑛=1
解答例: 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8 = 2.717857⋯ < 3 である. そして, 各々の 𝑚 = 1,2,…,8 について,
𝑘−1 である. ゆえに, ちょうど十進表示で9を含まないちょうど 𝑘 桁の正の整数で左端の数字が 𝑚 であるものの全体の個数は 9
𝑘
10 −1
𝑘−1
𝑘 桁の 𝑛 に関する和は ∑ 𝑎𝑛 < 3 × 109 𝑘−1 となる. これより,
𝑛=10𝑘−1∞∞ 9𝑘−13<
3
𝑎∑ 𝑛 ∑ 10𝑘−1 = 1 − 9/10 = 30.
𝑁

これで

∞

𝑛=1

𝑘=1

𝑎𝑛 < 30 が示された. □∑𝑛=1

s[k] = (ちょうど k 桁の数で9を含まないものの逆数の和) を８桁まで計算してみよう.
In [8]:



1 @time s = [sum(1/n for n in 10^(k-1):10^k-1 if !in('9', string(n))) for k in 1:8]
6.723354 seconds (200.11 M allocations: 8.873 GiB, 15.06% gc time, 1.25% compilation time)

Out[8]: 8-element Vector{Float64}:
2.7178571428571425
2.0539916222249173
1.817871425200977
1.633364212583175
1.4697833892399725
1.322783057766752
1.1905027726933806
1.0714523172875223
k が大きなとき, k が1つ増えるごとに s[k] は約In [9]:



0.9 倍になって行く.

1 s[2:end] ./ s[1:end-1]

Out[9]: 7-element Vector{Float64}:
0.755739361659628
0.8850432521393778
0.8985037060047283
0.8998503688993538
0.8999850368772813
0.8999985036875966
0.8999998503686641
S[k] = (桁数が k 以下の数で9を含まないものの逆数の和) を計算してみよう.
In [10]:

1 S = cumsum(s)Out[10]: 8-element Vector{Float64}:
2.7178571428571425
4.77184876508206
6.589720190283037
8.223084402866213
9.692867792106185
11.015650849872937
12.206153622566315
13.277605939853839

以上の数値計算の結果を認めて次の問題を解いてみよ.
問題: 正の整数∞

𝑛 について 𝑛 が十進表示で 9 を含まないときに 𝑎𝑛 = 1/𝑛 と定め, 含むとき 𝑎𝑛 = 0 と定める. このとき

𝑎𝑛 < 23 となることを示せ.
∑
𝑛=1
解答例:

9999

9999

10𝑘−1

𝑛=1000𝑛=10𝑘−1

9𝑘−4 となる. さらに,=
1.633⋯
<
1.64
<
1.64
×
𝑎
𝑎
であるから, 𝑘 ≧ 5 のとき
𝑛
𝑛
∑
∑
10𝑘−4

𝑎𝑛 = 8.223⋯ < 8.23 なので,∑
𝑛=1

∞ 9𝑘−4
9/10
<
8.23
+
1.64
𝑎
𝑛
∑
∑ 10𝑘−4 = 8.23 + 1.64 1 − 9/10 = 22.99 < 23.
∞

これで

𝑛=1

∞

𝑘=5

𝑎𝑛 < 23 が示された. □∑𝑛=1∞

𝑎𝑛 の真の値は 22.9206766192⋯ なので, 上の問題の結論は上からの悪くない評価を与えている.
∑
𝑛=1
この級数は Kempner series (https://en.wikipedia.org/wiki/Kempner_series) と呼ばれることがあるらしい. □注意: 上の問題におけるIn [11]:

1 8 + 23//100 + (1 + 64//100)*(9//10)/(1 - 9//10)

Out[11]: 2299//100
問題: 以上の例以外の絶対収束級数の例について調べ, ノートにまとめよ.

1.3 条件収束級数の例 (交代級数)
定理: 一般に𝑎1 ≧ 𝑎2 ≧ 𝑎3 ≧ ⋯ かつ 𝑎𝑛 ≧ 0 かつ 𝑎𝑛 → 0 のとき, 交代級数∞∑(−1)𝑛−1 𝑎𝑛 = 𝑎1 − 𝑎2 + 𝑎3 − 𝑎4 + ⋯𝑛=1

は常に収束する.
注意: この定理中の

証明:

𝑛

∞

𝑎𝑛 について ∑ 𝑎𝑛 = ∞ が成立しているとき, 交代級数は条件収束級数になる.
𝑛=1

𝑐𝑛 = ∑(−1)𝑘−1 とおくと, 𝑛 が奇数のとき 𝑐𝑛 = 1 となり, 𝑛 が偶数のとき 𝑐𝑛 = 0 となる. 𝑐𝑛 − 𝑐𝑛−1 = (−1)𝑛−1 なので,
𝑘=1
𝑛

𝑛

𝑘=1

𝑘=1

𝑛

𝑛−1

𝑛−1

∑(−1)𝑘−1𝑎𝑘 = ∑(𝑐𝑘 − 𝑐𝑘−1 )𝑎𝑘 = ∑ 𝑐𝑘 𝑎𝑘 − ∑ 𝑐𝑘 𝑎𝑘+1 = 𝑐𝑛 𝑎𝑛 − 𝑐0 𝑎1 + ∑ 𝑐𝑘 (𝑎𝑘 − 𝑎𝑘+1 )

𝑘=1
𝑘=0
𝑘=1
であり, |𝑐𝑘 | ≦ 1 かつ 𝑎𝑛 が単調減少することより 𝑎𝑘 − 𝑎𝑘+1 ≧ 0 であり, 𝑎𝑛 → 0 より 𝑎𝑛 ≧ 0 なので,
𝑛−1
𝑛−1
|
||
−
|
≦
𝑐
𝑎
𝑎
𝑘 𝑘 𝑘+1 ∑(𝑎𝑘 − 𝑎𝑘+1 ) = 𝑎1 − 𝑎𝑛 ≦ 𝑎1 .
∑
𝑘=1
𝑘=1
∞
𝑛
(
−
)
(−1)𝑘−1𝑎𝑘 が
𝑐
𝑎
𝑎
ゆえに
は絶対収束する. そして, 𝑎𝑛 → 0 かつ |𝑐𝑛 | ≦ 1 より 𝑐𝑛 𝑎𝑛 → 0 となるので,
𝑘+1
𝑘
𝑘
∑
∑
𝑘=1
𝑘=1

𝑛 → ∞ で収束することがわかる. □注意: 上の証明は部分積分と類似の計算を和の場合に行っている. 部分積分やそれと同様の和の変形は収束し難い積分や無限和を収束し易くするために役に立つ.

□
注意: 上の証明の議論は 𝑐𝑛 が有界で 𝑎𝑛 が単調減少しながら 0 に収束する場合に一般化される. □別証明: 𝑎𝑛 が0以上で単調減少であることより, 𝑠𝑛 = 𝑎1 − 𝑎2 + 𝑎3 − 𝑎4 + ⋯ + (−1) 𝑛−1 𝑎𝑛 は
0 ≦ 𝑠2 ≦ 𝑠4 ≦ 𝑠6 ≦ ⋯ ≦ 𝑠5 ≦ 𝑠3 ≦ 𝑠1

𝑠1 , 𝑠3 , 𝑠5 ,… は下に有界な単調減少数列なので収束し, 𝑠2 , 𝑠4 , 𝑠6 ,… は上に有界な単調増加数列
𝑠𝑛 − 𝑠𝑛−1 = 𝑎𝑛 0 に収束することからそれらの収束先は一致し, 𝑠𝑛 も収束することがわかる. □注意: 交代級数の部分和の誤差の評価にはこの別証明の議論が有用であり, よく使われる. 上の議論より, 𝑠𝑛 の収束先を 𝛼 と書く
を満たしていることがわかる.
なので収束し,がとき,が成立していることがわかる.

𝑛 is odd ⟹ −𝑎𝑛+1 ≦ 𝛼 − 𝑠𝑛 ≦ 0,
𝑛 is even ⟹ 0 ≦ 𝛼 − 𝑠𝑛 ≦ 𝑎𝑛+1□

1.3.1 条件収束交代級数の例1 (log 2)∞ (−1)𝑛−1∞ 1= ∞ となる.
∑
𝑛=1 𝑛
𝑛 1
𝑛+1 𝑑𝑥≧
なぜならば,∑
𝑥 = log(𝑛 + 1) → ∞ (𝑛 → ∞) が成立するからである.
𝑘=1 𝑘 ∫1∑𝑛=1 𝑛は収束するが,∞ (−1)𝑛−1∑
𝑛=1 𝑛
解答: log2 .
問題:

を求めよ.

証明: 一般に𝑥 𝑑𝑡∫1 𝑡 = log𝑥.
ゆえに,

一方,

𝑑𝑥 = 2 𝑑𝑦 = log2.
∫0 1 + 𝑥 ∫1 𝑦
1|𝑥| < 1 のとき

なので

1
2 3
1+𝑥 =1−𝑥+𝑥 −𝑥 +⋯𝑑𝑥 = 1 (1 − 𝑥 + 𝑥2 − 𝑥3 + ⋯) = 1 − 1 + 1 − 1 + ⋯ = ∞ (−1)𝑛−1 .
∑∫0 1 + 𝑥 ∫0
2 3 4
𝑛=1 𝑛
1

したがって,

𝑑𝑥 = log2 = ∞ (−1)𝑛−1 .
∑∫0 1 + 𝑥𝑛=1 𝑛1

以下はコンピューターによる計算.
In [12]:

Out[12]:
In [13]:

1 n = symbols("n", integer=true)
2 S = sympy.Sum((-1)^(n-1)/n, (n, 1, oo)).doit()log(2)
123456

N = 1000
SimpleSum = sum(n->(-1)^(n-1)/n, 1:N)
TrueValue = log(2)@show SimpleSum@show TrueValue@show SimpleSum - TrueValue;

SimpleSum = 0.6926474305598223
TrueValue = 0.6931471805599453
SimpleSum - TrueValue = -0.0004997500001230337

1.3.2 Euler変換による交代級数の数値計算□

𝑁 (−1)𝑛−1

∑
𝑛=1 𝑛

で

𝑁 = 1000 としても収束先の値を小数点以下第2桁までしか再現してくれない. 一般に条件収束する交代級数を定義通り足し上げると収束は遅い.
収束を加速するための様々な方法が知られているが, 交代級数の場合にはEuler変換が有名である. 詳しくは交代ゼータ函数のオイラー変換 (http://nbviewer.jupyter.org/gist/genkuroki/4a8fea5e2ed1b4e3b737c99acf237042)
を参照せよ. 交代級数∞(−1)𝑘𝑎𝑘 のEuler変換の結果は
∑
𝑘=0
𝐿−1

lim ∑ 𝑤(𝐿)𝑘 (−1)𝑘𝑎𝑘 ,𝐿→∞
𝑘=0

すなわち交代級数のEuler変換は交代級数の各項にウェイト

𝑤(𝐿)𝑘 = ∑ 2−𝑛−1 (𝑘𝑛).
𝐿−1
𝑛=𝑘𝑤(𝐿)𝑘 をかけてから 𝐿 → ∞ の極限を取る形になる.

以下のようにEuler変換を使えば数十項で精密な計算が可能になるIn [14]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14

binom(n,k) = exp(lgamma(n+1) - lgamma(k+1) - lgamma(n-k+1))​
struct EulerWeight{T} W::T end
function EulerWeight(; Lmax=2^6)
W = zeros(Lmax,Lmax)
for L in 1:Lmax
for k in 0:L-1
W[L,k+1] = sum(n->2.0^(-n-1)*binom(n,k), k:L-1)
end
end
EulerWeight(W)end(eulerweight::EulerWeight)(L,k) = eulerweight.W[L,k+1]
eulerweight = EulerWeight()

Out[14]: EulerWeight{Matrix{Float64}}([0.5 0.0 … 0.0 0.0; 0.75 0.25 … 0.0 0.0; … ; 1.0 1.0 … 1.08420
21724855044e-19 0.0; 1.0 1.0 … 3.523657060577904e-18 5.421010862427522e-20])
In [15]:



1
2
3
4
5
6

L = 2^6
EulerTran = sum(k->eulerweight(L,k)*(-1)^k/(k+1), 0:L-1)
TrueValue = log(2)@show EulerTran@show TrueValue@show EulerTran - TrueValue

EulerTran = 0.6931471805599453
TrueValue = 0.6931471805599453
EulerTran - TrueValue = 0.0
Out[15]: 0.0
Euler変換を使うと, 次のセルのように𝜁(𝑠) の非自明な零点をプロットすることができる.

In [16]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

f(s) = sum(k -> eulerweight(L,k)*(-1)^k/(1+k)^s, 0:L-1)/(1-2^(1-s))x = 0.0:0.005:1.0
y = 13.75:0.005:14.75
z = x' .+ im.*y@time w = f.(z)# plot(size=(600, 500), title="first non-trivial zero of zeta(s)")# heatmap!(x, y, abs.(w), color=:rainbow, xlabel="Re s", ylabel="Im s")# vline!([0.5], color="gray", ls=:dot, label="")cmap = ["prism", "CMRmap", "gist_rainbow_r"]
plt.figure(figsize=(6,5))
plt.title("first non-trivial zero of zeta(s)")
plt.pcolormesh(x, y, abs.(w), cmap=cmap[3])plt.xlabel("Re s")
plt.ylabel("Im s")
plt.vlines([0.5], extrema(y)..., lw=0.2, ls="--")

0.878905 seconds (13.55 M allocations: 349.856 MiB, 7.93% gc time, 32.61% compilation time)
sys:1: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X andY, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This
will become an error two minor releases later.

Out[16]: PyObject <matplotlib.collections.LineCollection object at 0x0000015A6A8E3070>0複素平面における実部が からをの非自明な零点と呼ぶ.

𝜁(𝑠)Riemann予想:

1 の縦に無限に長い帯状の領域を 𝜁(𝑠) の critical strip と呼ぶ. 𝜁(𝑠) の critical strip における零点

𝜁(𝑠) の非自明な零点の実部はすべて 1/2 である. □この予想は非常に有名であり, もしも証明されれば素数の分布に関する精密な評価が得られる.

𝜁(𝑠) のcritical stripにおける様子をプロットせよ. □次のセルを見よ. 虚部が12から45までのcritical stripでの 𝜁(𝑠) の様子がプロットされている. 少なくともその範囲内で 𝜁(𝑠) の非自明な零点の実部はどれも 1/2 になっていそうなことがわかる.
問題:

In [17]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

x = 0:0.01:1
y = 12:0.005:45
s = x' .+ y*im@time w = zeta.(s)​plt.figure(figsize=(4,10))​plt.subplot(121)plt.pcolormesh(x, y, log.(abs.(w)), cmap="prism")
plt.colorbar()
plt.grid(ls=":")
plt.title("log(abs(ζ(s)))")​
plt.subplot(122)
plt.pcolormesh(x, y, angle.(w), cmap="rainbow")
plt.colorbar()
plt.grid(ls=":")
plt.title("angle(ζ(s))")​plt.tight_layout()

1.318941 seconds (332.13 k allocations: 31.703 MiB, 0.86% gc time, 22.14% compilation time)1.3.3 無限和と積分の交換に関する注意∫01 𝑥𝑛 𝑑𝑥 = 1/(𝑛 + 1) となることと, 無限和 1 − 𝑥 + 𝑥2 − 𝑥3 + ⋯ と積分 ∫01 𝑑𝑥 の順序を交換できることを用いた.
無限和と積分の順序交換が可能なことは以下のようにして確認できる. まず |𝑥| < 1 で
1 = 1 − 𝑥 + 𝑥2 − 𝑥3 + ⋯ + (−1)𝑁−1 𝑥𝑁−1 + (−1)𝑁 𝑥𝑁
1+𝑥
1+𝑥
上では

となることを確認せよ. この公式を使うと,𝑑𝑥 = 1 − 1 + 1 + (−1)𝑁−1 1 + (−1)𝑁 1 𝑥𝑁 𝑑𝑥∫0 1 + 𝑥∫0 1 + 𝑥
𝑁
2 3
さらに 0 ≦ 𝑥 ≦ 1 のとき, 1 ≦ 1 + 𝑥 なので
0 ≦ 1𝑥+𝑁𝑥 ≦ 𝑥𝑁
1

となるから,

なので,

1 𝑁
1
0 ≦ ∫0 1𝑥+ 𝑥 𝑑𝑥 ≦ ∫0 𝑥𝑁 𝑑𝑥 = 𝑁 1+ 1

𝑁→∞で

1 𝑥𝑁

∫0 1 + 𝑥 𝑑𝑥 → 0.
以上を合わせると,

𝑑𝑥 = lim 𝑁 (−1)𝑛−1 = ∞ (−1)𝑛−1∑∫0 1 + 𝑥 𝑁→∞ ∑
𝑛=1 𝑛
𝑛=1 𝑛
1

となることがわかる.

1(−1)𝑁 ∫0 1𝑥+𝑁𝑥 𝑑𝑥 のように, 極限で 0 になって欲しい項が積分表示を持つことは多い. 極限で 0 になって欲しい部分を「+⋯」のように書くと正体不明で不安になるのだが, 積分表示を持つ場合にはそのような不安は完全に解消してしまう. □注意: 上の計算における1.3.4 条件収束交代級数の例2 (arctan 1 = π/4)

∞ (−1)𝑛−1を求めよ.
∑
𝑛=1 2𝑛 − 1
答え: 𝜋/4 .
証明: 𝑎 = tan𝜃 の −𝜋/2 < 𝜃 < 𝜋/2 における逆函数を 𝜃 = arctan𝑎 と書くと,
𝑎 𝑑𝑡∫0 1 + 𝑡2 = arctan𝑎.
この公式は左辺で 𝑡 = tan𝜃 と置換すれば確認できる.
問題:

ゆえに,

一方,

𝑑𝑥
𝜋
∫0 1 + 𝑥2 = arctan1 = 4
1|𝑥| < 1 のときなので

1 = 1 − 𝑥2 + 𝑥4 − 𝑥6 + ⋯1 + 𝑥2𝑑𝑥 = 1 (1 − 𝑥2 + 𝑥4 − 𝑥6 + ⋯) = 1 − 1 + 1 − 1 + ⋯ = ∞ (−1)𝑛−1 .
∑∫0 1 + 𝑥2 ∫0
3 5 7
𝑛=1 2𝑛 − 1
1

したがって,

𝑑𝑥 = arctan1 = 𝜋 = ∞ (−1)𝑛−1 .
∫0 1 + 𝑥2
4 ∑𝑛=1 2𝑛 − 1
1□

問題: 上の例の計算における無限和と積分の交換の正当化を実行せよ.
解答例:

0 < 𝑡 < 1 のとき

1 = 𝑛−1 (−𝑡2 )𝑘 + (−𝑡2 )𝑛 = 𝑛−1 (−1)𝑘𝑡2𝑘 + (−1)𝑛 𝑡2𝑛
1 + 𝑡2 ∑1 + 𝑡2 ∑1 + 𝑡2
𝑘=0
𝑘=0

なので,

𝑑𝑡 = 𝑛−1 (−1)𝑘 + (−1)𝑛 1 𝑡2𝑛 𝑑𝑡∫0 1 + 𝑡2 ∑∫0 1 + 𝑡2
𝑘=0 2𝑘 + 1
1

(∗)

でかつ

1 2𝑛
1
0 ≦ ∫0 1𝑡 +𝑑𝑡𝑡2 ≦ ∫0 𝑡2𝑛 𝑑𝑡 = 2𝑛 1+ 1 → 0 (𝑛 → ∞)であるから,

を得る.

□

1 𝑡2𝑛 𝑑𝑡
∫0 1 + 𝑡2 → 0 となる. したがって, (∗)で 𝑛 → ∞ とすることによって,
𝜋 = 1 𝑑𝑡 = ∞ (−1)𝑘4 ∫0 1 + 𝑡2 ∑𝑘=0 2𝑘 + 1

注意: 多くの解説で, この例の証明にAbelの連続性定理を使っているようだ. しかし, この場合には以上のように初等的かつ明瞭かつ単純な方法で証明可能である. 特別に簡単な場合について, Abelの連続性定理のような一般的な定理を適用して処理することを機械的に繰り返すと 数学の内容を誤解してしまう危険性があるので注意した方がよい
問題: 以上の例以外の条件収束級数の例について調べ, ノートにまとめよ.

□以下はコンピューターによる計算.
In [18]:

Out[18]:In [19]:

1 n = symbols("n", integer=true)
2 S = sympy.Sum((-1)^(n-1)/(2n-1), (n, 1, oo)).doit()

𝜋
4

1
2
3
4
5
6

N = 10^8
SimpleSum = sum(n->(-1)^(n-1)/(2n-1), 1:N)
TrueValue = π/4@show SimpleSum@show TrueValue@show SimpleSum - TrueValue;

SimpleSum = 0.7853981608974486
TrueValue = 0.7853981633974483
SimpleSum - TrueValue = -2.499999651739415e-9
In [20]:



1
2
3
4
5
6

L = 2^6
EulerTran = sum(k->eulerweight(L,k)*(-1)^k/(2k+1), 0:L-1)
TrueValue = π/4@show EulerTran@show TrueValue@show EulerTran - TrueValue

EulerTran = 0.7853981633974483
TrueValue = 0.7853981633974483
EulerTran - TrueValue = 0.0
Out[20]: 0.0

以下はコンピューターによる

In [21]:

Out[21]:

In [22]:Out[22]:

In [23]:

Out[23]:𝑑𝑥 や 1 𝑑𝑥 などの計算.
∫0 1 + 𝑥3 ∫0 1 + 𝑥4
1

1 x = symbols("x", real=true, positive=true)
2 integrate(1/(1+x^3), (x,0,1))log(2) + √⎯⎯3𝜋
391 x = symbols("x", real=true, positive=true)
2 integrate(x/(1+x^3), (x,0,1))⎯⎯3𝜋√log(2)− 3 + 91 x = symbols("x", real=true, positive=true)
2 integrate(x^2/(1+x^3), (x,0,1))log(2)
3□

In [24]:

Out[24]:

In [25]:

Out[25]:

In [26]:

Out[26]:

In [27]:

Out[27]:

In [28]:

Out[28]:In [29]:Out[29]:1 x = symbols("x", real=true, positive=true)
2 integrate(1/(1+x^4), (x,0,1))⎯⎯2 log (2 − √⎯⎯2) √⎯⎯2 log (√⎯⎯2 + 2) √⎯⎯2𝜋
√
−
+
+ 8
8
8

1 x = symbols("x", real=true, positive=true)
2 integrate(x/(1+x^4), (x,0,1))𝜋8

1 x = symbols("x", real=true, positive=true)
2 integrate(x^2/(1+x^4), (x,0,1))⎯⎯2 log (√⎯⎯2 + 2) √⎯⎯2 log (2 − √⎯⎯2) √⎯⎯2𝜋
√
−
+
+ 8
8
8

1 x = symbols("x", real=true, positive=true)
2 integrate(x^3/(1+x^4), (x,0,1))log(2)
4

1 x = symbols("x", real=true, positive=true)
2 s = symbols("s", real=true, positive=true)
3 J = simplify(integrate(1/(1+x^(1/s)), (x,0,1)))𝑠Φ (𝑒𝑖𝜋 ,1,𝑠)

1 sympy.lerchphi(Sym(:z), Sym(:s), Sym(:a))Φ((𝑧,),(𝑠,),(𝑎,))Lerchの超越函数(レルヒの超越函数)

Φ(𝑧,𝑠,𝑎) は次のように定義される:∞𝑛Φ(𝑧,𝑠,𝑎) = ∑ (𝑛 +𝑧 𝑎)𝑠 .
𝑛=0

Lerchの超越函数についてはノート「12 Fourier解析」のPoissonの和公式の応用の解説を参照せよ.
In [30]:Out[30]:1 x = symbols("x", real=true, positive=true)
2 s = symbols("s", real=true, positive=true)
3 J = simplify(integrate(1/(1+x^(1/s)), (x,0,oo))) sin𝜋𝑠(𝜋𝑠)for 𝑠 < 1∞ ∫ 1 𝑑𝑥 otherwise
 𝑥 1𝑠 +102 複素数の級数
この節では複素数∞

𝑎𝑛 の級数 ∑ 𝑎𝑛 を扱う.
𝑛=1

2.1 複素数の絶対収束級数

∞

∞

∞

𝑎1 , 𝑎2 ,… について, 級数 ∑ |𝑎𝑛 | が有限の値に収束するならば, 級数 ∑ 𝑎𝑛 も収束する. このとき, 級数 ∑ 𝑎𝑛
𝑛=1
𝑛=1
𝑛=1
は絶対収束するという. □定理: 複素数

絶対収束していないが収束する級数は条件収束するという.
上の定理の証明は略す. しかし, 下の方で, 級数
説明する.

∞

∞

𝑛=1

𝑛=1

∑ |𝑎𝑛 | が有限の値に収束するならば, 級数 ∑ 𝑎𝑛 も収束する直観的な理由を例:

In [31]:

Out[31]:∞ 𝑖𝑛𝜃
𝜃 は実数であるとする. このとき, 複素級数 ∑ 𝑒𝑛3/2 は絶対収束する. 以下のセルにおける計算とプロットを参照せよ.
𝑛=1

1
2
3
4
5
6
7
8

θ = 2π/10a(n) = exp(im*n*θ)/n^1.5
sum_a(n) = iszero(n) ? Complex(0.0) : sum(k->a(k), 1:n)
N = 70n = 0:Nz = sum_a.(n)plot(size=(400, 400), xlims=(0,1.0), ylim=(0,1.3))
plot!(real.(z), imag.(z), legend=false)#, line=:arrow)In [32]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14

θ = 2π/10a(n) = exp(im*n*θ)/n^1.5
sum_a(n) = iszero(n) ? Complex(0.0) : sum(k->a(k), 1:n)@time anim = @animate for N in 0:70
n = 0:Nz = sum_a.(n)plot(size=(400, 400), xlims=(0,1.0), ylim=(0,1.3))
plot!(real.(z), imag.(z), legend=false, line=:arrow)end​
gifname = "sum_a.gif"@time gif(anim, gifname; fps=10)
sleep(0.1)
showimg("image/gif", gifname)7.799589 seconds (1.48 M allocations: 64.892 MiB, 0.26% gc time, 5.18% compilation time:
3% of which was recompilation)
1.545184 seconds (905.62 k allocations: 61.486 MiB, 1.34% gc time, 34.02% compilation tim
e: 29% of which was recompilation)[ Info: Saved animation to D:\OneDrive\work\Calculus\sum_a.gif

絶対収束の概念の直観的な説明:
各複素数

𝑎𝑛 は平面上の点と同一視できる(複素平面の考え方).

平面上の点と原点からその点への矢線(ベクトル)は同一視できる(ベクトルの考え方).
複素数の和はベクトルの和に対応している.

ベクトルの和は矢線としてのベクトルを連結することを意味する(ベクトルの和の幾何学的意味).
ゆえに,
しい.

𝑁

𝑠𝑁 = ∑ 𝑎𝑛 は各 𝑎1 , 𝑎2 ,…, 𝑎𝑁 の各々に対応する矢線を連結して得られる折れ線の先端の点に対応する複素数に等𝑛=1∞

𝐿 = ∑ |𝑎𝑛 | は各 𝑎𝑛 に対応する矢線の長さの総和を意味する.
𝑛=1

ゆえに,
る.

𝐿 が有限の値になることは, 各 𝑎𝑛 に対応する矢線をすべて連結して得られる折れ線の長さが有限になることを意味す

そのとき,

∞

𝑎𝑛 に対応する矢線をすべて連結して得られる折れ線の「先端」の点に対応する複素数が級数 ∑ 𝑎𝑛 の収束先になる.
𝑛=1

1つ前のセルのアニメーションはそのような様子の一例になっている.

注意: 上の説明を理解できれば, 級数

∞

∞

𝑛=1

𝑛=1

∑ |𝑎𝑛 | が有限の値に収束するならば, 級数 ∑ 𝑎𝑛 も収束することも十分に納得できると思う. その直観は数学的には完備性 (https://www.google.co.jp/search?
q=%E5%AE%8C%E5%82%99%E6%80%A7+%E7%B5%B6%E5%AF%BE%E5%8F%8E%E6%9D%9F)の概念によって正当化される.

□

2.2 条件収束する複素級数の例
問題:
注意:

∞
𝜃 は実数であり, 𝑒𝑖𝜃 ≠ 1 であると仮定する. このとき ∑ 𝑒𝑖𝑛𝜃𝑛 は条件収束することを示せ. □𝑛=1−log(1 − 𝑧) の収束半径 1 のMaclaurin展開は∞−log(1 − 𝑧) = ∑ 𝑧𝑛𝑛の形をしている.

解答例1:∞ 𝑒𝑖𝑛𝜃

𝑛=1

𝜃 ∈ ℝ, 𝑒𝑖𝜃 ≠ 1 のとき, ∑ 𝑛 の収束先は −log(1 − 𝑒𝑖𝜃 ) になる. □
𝑛=1
𝑛 𝑧𝑘

𝑧 = 𝑒𝑖𝜃 , 𝜃 ∈ ℝ とおき, 𝑠𝑛 (𝑧) = ∑ 𝑘 とおく. 𝑧 ≠ 1 のとき, 𝑠𝑛 (𝑧) が 𝑛 → ∞ で収束することを示せばよい.
𝑘=1

𝑛+1
2
3
𝑛
(𝑧 − 1)𝑠𝑛 (𝑧) = ( 𝑧1 + 𝑧2 + ⋯ + 𝑛 𝑧− 1 + 𝑧 𝑛 )23𝑛− ( 𝑧1 + 𝑧2 + 𝑧3 + ⋯ + 𝑧𝑛 )𝑛+1
= 𝑧 𝑛 − 𝑧1 + 𝑆𝑛 (𝑧).

ここで,𝑆𝑛 (𝑧) = ( 11 − 12 ) 𝑧2 + ( 12 − 13 ) 𝑧3 + ⋯ + ( 𝑛 −1 1 − 1𝑛 ) 𝑧𝑛 .
𝑛+1
|𝑧| = 1 なので, 𝑛 → ∞ のとき 𝑧 𝑛 → 0 となるので, (𝑧 − 1)𝑠𝑛 (𝑧) が 𝑛 → ∞ で収束することを示すためには, 𝑆𝑛 (𝑧) が絶対収束することを示せば十分であり, |𝑧| = 1 より,|| 1 − 1 𝑧2 || + || 1 − 1 𝑧3 || + ⋯ + || 1 − 1 𝑧𝑛 ||||( 1 2 ) || ||( 2 3 ) ||||( 𝑛 − 1 𝑛 ) ||= ( 11 − 12 ) + ( 12 − 13 ) + ⋯ + ( 𝑛 −1 1 − 1𝑛 ) = 11 − 1𝑛 → 1 (𝑛 → ∞)なので, 𝑆𝑛 (𝑧) は絶対収束する. これで 𝑛 → ∞ で (𝑧 − 1)𝑠𝑛 (𝑧) が収束することがわかった. 𝑧 ≠ 1 なので, 𝑠𝑛 (𝑧) も 𝑛 → ∞ で収束する. □𝑎𝑛 ≧ 0 であり, 𝑎𝑛 は単調減少しながら 0 に収束していると仮定する.
このとき, 𝜃 は実数であり, 𝑒𝑖𝜃 ≠ 1 な∞
1 の場合にも 𝑎𝑛 𝑒𝑖𝑛𝜃 は収束している.
𝑎𝑛 𝑒𝑖𝑛𝜃 は収束している. 例えば, 𝑎𝑛 = √1⎯𝑛 や 𝑎𝑛 = log𝑛
らば,
∑
∑
𝑛=1
𝑛=1
𝑛
証明: 𝑧 = 𝑒𝑖𝜃 , 𝑠𝑛 (𝑧) =∑ 𝑎𝑘 𝑧𝑘 とおく. 𝑠𝑛 (𝑧) が 𝑛 → ∞ で収束していることを示せばよい. 上の解答例と同様にして,解答例1の一般化:

∞

𝑘=0

𝑛

(𝑧 − 1)𝑠𝑛 (𝑧) = 𝑎𝑛 𝑧𝑛+1 − 𝑎1 𝑧 + 𝑆𝑛 (𝑧), 𝑆𝑛 (𝑧) = ∑(𝑎𝑘−1 − 𝑎𝑘 )𝑧𝑘 .
𝑘=2

そして,

|𝑧| = 1 でかつ 𝑎𝑛 → 0 より, 𝑎𝑛 𝑧𝑛+1 → 0 となる. さらに,
𝑛
𝑛
𝑘
|
|
(
−
)
=
𝑎
𝑎
𝑧
∑ | 𝑘−1 𝑘 | ∑(𝑎𝑘−1 − 𝑎𝑘 ) = 𝑎1 − 𝑎𝑛 → 𝑎1 (𝑛 → ∞)
𝑘=2

𝑘=2

𝑆𝑛 (𝑧) は 𝑛 → ∞ で絶対収束する. 𝑧 ≠ 1 なので 𝑠𝑛 (𝑧) も 𝑛 → ∞ で収束する. □𝑛𝑘
さらなる一般化: 一般に 𝑆𝑛 =
のとき,
=
𝑎
𝑏
𝐴
𝑘 ∑ 𝑎𝑗 , 𝐴0 = 0 とおくと, 𝑎𝑘 = 𝐴𝑘 − 𝐴𝑘−1 なので
∑𝑘𝑘
なので,

𝑘=1

𝑛

𝑗=1

𝑛

𝑛−1

𝑘=1

𝑘=0

𝑆𝑛 = ∑(𝐴𝑘 − 𝐴𝑘−1 )𝑏𝑘 = ∑ 𝐴𝑘 𝑏𝑘 − ∑ 𝐴𝑘 𝑏𝑘+1
𝑘=1

𝑛−1

= 𝐴𝑛 𝑏𝑛 − 𝐴0 𝑏1 + ∑ 𝐴𝑘 (𝑏𝑘 − 𝑏𝑘+1 ).
𝑘=1

この公式は部分積分の公式の和に関するバージョンであることに注意せよ. (「部分積分」のアイデアは普遍的によく現われる.)

𝑏𝑘 は単調減少実数列でかつ 0 に収束すると仮定する.
このとき, 𝑏𝑘 − 𝑏𝑘+1 ≧ 0 でかつ
𝑛−1∑(𝑏𝑘 − 𝑏𝑘+1 ) = 𝑏1 − 𝑏𝑛 → 𝑏1 (𝑛 → ∞).
仮定の追加1: 数列

𝑘=1

仮定の追加2:
仮定する.

𝐴𝑘 は有界数列であると仮定する. すなわちある正の実数で |𝐴𝑘 | ≦ 𝑀 (𝑘 = 1,2,…) を満たすものが存在すると

このとき,

∞

∞

𝑘=1

𝑘=1

∑ |𝐴𝑘 ||𝑏𝑘 − 𝑏𝑘+1 | ≦ 𝑀 ∑(𝑏𝑘 − 𝑏𝑘+1 ) = 𝑀 𝑏1 < ∞なので 級数∞∞∑ 𝐴𝑘 (𝑏𝑘+1 − 𝑏𝑘 ) は絶対収束する. さらに, 𝑛 → ∞ で 𝑏𝑛 → 0 なので 𝐴𝑛 𝑏𝑛 → 0 となる. ゆえに級数 ∑ 𝑎𝑘 𝑏𝑘
𝑘=1

𝑘=1

は収束する. (積分の場合にも, 絶対収束しない積分を部分積分によって絶対収束する積分に変形できる場合がある. 各自自分で研究してみよ.)□𝑎𝑛 = 𝑒𝑖𝑛𝜃 , 𝑏𝑛 = 1/𝑛 の場合を考える. このとき
𝑘𝑖𝜃 𝑖(𝑛+1)𝜃
𝐴𝑘 = ∑ 𝑎𝑗 = 𝑒 1−−𝑒 𝑒𝑖𝜃

解答例2: 以上の一般論を上の問題に適用しよう. すなわち

𝑗=1

|𝐴 | ≦ 2/|1 − 𝑒𝑖𝜃 | なので, 𝐴𝑘 は有界である. 実数列 𝑏𝑘 は単調減少しながら 0 に収束する. したがって上の一般論∞ 𝑘 𝑖𝑛𝜃であるから,

In [33]:

Out[33]:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

f(z) = -log(1-z)
g(z; N=1000) = sum(n->z^n/n, 1:N)​
θ = 0.1:0.01:πv = @.(f(exp(im*θ)))w = @.(g(exp(im*θ)))​P1 = plot(xlims=(0,π), xlabel="t")
plot!(θ, real.(w), label="Re(sum exp(int)/n)", lw=2)
plot!(θ, real.(v), label="Re(-log(1-exp(it)))", lw=2, ls=:dash)​
P2 = plot(xlims=(0,π), xlabel="t")
plot!(θ, imag.(w), label="Im(sum exp(int)/n)", lw=2)
plot!(θ, imag.(v), label="Im(-log(1-exp(it)))", lw=2, ls=:dash)​plot(P1, P2, size=(700,300))

In [34]:Out[34]:

1
2
3
4
5
6
7
8

θ = 2π/10a(n) = exp(im*n*θ)/nsum_a(n) = iszero(n) ? Complex(0.0) : sum(k->a(k), 1:n)
N = 400
n = 0:Nz = sum_a.(n)plot(size=(400, 400), xlims=(0,1.0), ylim=(0,1.6))
plot!(real.(z), imag.(z), legend=false)#, line=:arrow)In [35]:



1
2
3
4
5
6
7
8
9
10
11
12
13
14

θ = 2π/10a(n) = exp(im*n*θ)/nsum_a(n) = iszero(n) ? Complex(0.0) : sum(k->a(k), 1:n)@time anim = @animate for N in 0:4:400
n = 0:Nz = sum_a.(n)plot(size=(400, 400), xlims=(0,1.0), ylim=(0,1.6))
plot!(real.(z), imag.(z), legend=false, line=:arrow)end​
gifname = "sum_b.gif"@time gif(anim, gifname; fps=10)
sleep(0.1)
showimg("image/gif", gifname)10.291040 seconds (14.62 M allocations: 456.304 MiB, 0.86% gc time, 0.22% compilation time)
0.447109 seconds (639 allocations: 111.398 KiB)
[ Info: Saved animation to D:\OneDrive\work\Calculus\sum_b.gif

上のセルのアニメーションの折れ線の長さは無限大である. 無限に長くなる折れ線の先端が無限に回転しながら収束している.

2.3 多重対数函数
複素数𝑧 に関するべき級数

𝑟 > 1 |𝑧| ≦ 1∞
𝑟=3

𝑟 = 1 |𝑧| < 1∞ 𝑛
Li𝑟 (𝑧) = ∑ 𝑧𝑛𝑟
𝑛=1

𝑟 = 1 |𝑧| = 1

𝑧≠1

𝑧=1

は
,
および
,
のとき絶対収束する.
,の場合にはなら条件収束し,ならばに発散する. このように定義される函数
を 重の多重対数函数(polylogarithm)と呼ぶ.
の場合はdilogarithmと呼ばれ,の場合にはtrilogarithmと呼ばれる. このとき,

𝑟 > 1 のとき,

Li𝑟 (𝑧) 𝑟

𝑟=2

∞ 𝑛
𝑧
Li1 (𝑧) = ∑ 𝑧𝑛 = −log(1 − 𝑧) = ∫0 1 𝑑𝑡− 𝑡 ,
𝑛=1
∞ 𝑛
𝑧
𝑧
𝑡2
Li2 (𝑧) = ∑ 𝑧𝑛2 = ∫0 Li1𝑡(𝑡) 𝑑𝑡 = ∫0 𝑑𝑡2 ∫0 𝑑𝑡1 (1 −1𝑡1 )𝑡2 ,
𝑛=1
∞ 𝑛
𝑧
𝑧
𝑡3
𝑡2
Li3 (𝑧) = ∑ 𝑧𝑛3 = ∫0 Li2𝑡(𝑡) 𝑑𝑡 = ∫0 𝑑𝑡3 ∫0 𝑑𝑡2 ∫0 𝑑𝑡1 (1 − 𝑡11 )𝑡2 𝑡3 ,
𝑛=1
……………
∞ 𝑛
𝑧
𝑧
𝑡𝑟
𝑡2
Li𝑟 (𝑧) = ∑ 𝑧𝑛𝑟 = ∫0 Li2𝑡(𝑡) 𝑑𝑡 = ∫0 𝑑𝑡𝑟 ∫0 𝑑𝑡𝑟−1 ⋯ ∫0 𝑑𝑡1 (1 − 𝑡11)𝑡2 ⋯ 𝑡𝑟 ,𝑛=1∞
Li𝑟 (1) = ∑ 𝑛1𝑟 = 𝜁(𝑟).
𝑛=1

𝑚 に対して,1𝑡𝑡
𝜁(𝑚) = Li𝑚 (1) = ∫0 𝑑𝑡𝑚 ∫0 𝑚 𝑑𝑡𝑚−1 ⋯ ∫0 2 𝑑𝑡1 (1 − 𝑡1 )1𝑡2 ⋯ 𝑡𝑚 .
𝑡1 = 𝑥1 𝑥2 ⋯ 𝑥𝑚 , 𝑡2 = 𝑥2 ⋯ 𝑥𝑚 , …, 𝑡𝑚 = 𝑥𝑚 と置換すると,
1
1
1
𝜁(𝑚) = Li𝑚 (1) = ∫0 𝑑𝑥𝑚 ∫0 𝑑𝑥𝑚−1 ⋯ ∫0 𝑑𝑥1 1 − 𝑥11⋯ 𝑥𝑚 .
これの右辺が 𝜁(𝑚) に一致することは
1 = ∞ 𝑥𝑛−1
𝑛−1
1 − 𝑥1 ⋯ 𝑥𝑚 ∑ 1 ⋯ 𝑥𝑚 ,したがって, 2以上の整数

𝑛=1

𝑚
1
1
𝑛−1 𝑑𝑥 = 1
𝑛−1
𝑛−1
𝑑
𝑑
⋯
𝑑
⋯
=
𝑥
𝑥
𝑥
𝑥
𝑥
𝑥
𝑚
𝑚−1
𝑚
1
1
∫0 ∫0
∫0
(∫ 0
) 𝑛𝑚
1

1

に注意すれば明らかであろう.

2.4 二重対数函数のζ(2)の近似計算への応用∞
𝜁(2) = ∑ 𝑛12 を計算せよという問題はBasel問題と呼ばれているらしい. Basel問題はEulerによって1743年ころに解かれたら
𝑛=1

しい. Eulerがどのように考えたかについては次の文献を参照せよ.

杉本敏夫, バーゼル問題とオイラー (http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1583-12.pdf), 2007年8月23日, 数理解析研究所講究録, 第1583巻, 2008年, pp.159-167−log(1 − 𝑥) 𝑑𝑥 を2通りに計算して比較することによって, 𝜁(2) を定義に基いて直接計𝑥
算するよりもずっと少ない項数の和で同精度で 𝜁(2) の計算する方法を発見している.
現代的には二重対数函数(dilogarithm, 以下ダイログと呼ぶ)を用いてその近似計算法を見付けたことになる. ダイログ Li2 (𝑧) のその第6節によれば, Eulerは, 積分

∫

定義は

であった.

となり,

𝑥 = 1 − 𝑦 と置換すると,∞ 𝑛𝑧
Li2 (𝑧) = ∫0 −log(1𝑥 − 𝑥) 𝑑𝑥 = ∑ 𝑧𝑛2
𝑛=1

1−𝑧
Li(𝑧) = ∫1 1log𝑦− 𝑦 𝑑𝑦log𝑦𝑑𝑑𝑦 (− Li2 (𝑦) − log(1 − 𝑦)log𝑦) = 1 − 𝑦なので, Li2 (1) = 𝜁(2) と 𝑦 → 1 で log(1 − 𝑦)log𝑦 → 0 となることより,
Li2 (𝑧) = [− Li2 (𝑦) − log(1 − 𝑦)log𝑦]1−𝑧
1 = − Li2 (1 − 𝑧) + 𝜁(2) − log𝑧 log(1 − 𝑧).
すなわち,

特に

𝜁(2) = Li2 (𝑧) + Li2 (1 − 𝑧) + log𝑧 log(1 − 𝑧).

𝑧 = 1/2 のとき,∞
𝜁(2) = 2 Li2 (1/2) + (log2)2 = ∑ 2𝑛−11 𝑛2 + (log2)2 .

𝜁(2) の定義に基いて最初の10項を足した結果

𝑛=1

10 1
= 1.54976 77311 665⋯∑
𝑛=1 𝑛2

𝜁(2) = 𝜋62 = 1.64493 40668 482⋯ と整数部分しか一致しないが,
10 1+ (log2)2 = 1.64492 00516 736⋯
∑
𝑛−1
2
2
𝑛
𝑛=1
は正確な値に小数点以下第4桁まで一致している. 最初の30項の和では, 前者は 1.61215 01176 015⋯ で正確な値と小数点以下第1桁までしか一致しないが, 後者の 1.64493 40668 463⋯ は小数点以下第11桁まで一致している.
は正確な値

In [36]:



1
2
3
4
5

Q(N) = sum(n->1/n^2, 1:N)
R(N) = sum(n->1/(2.0^(n-1)*n^2), 1:N) + log(2)^2@show Q(10), Q(10)-π^2/6, R(10), R(10)-π^2/6@show Q(30), Q(30)-π^2/6, R(30), R(30)-π^2/6[(N, Q(N), Q(N)-π^2/6, R(N), R(N)-π^2/6) for N in 10:10:50](Q(10), Q(10) - π ^ 2 / 6, R(10), R(10) - π ^ 2 / 6) = (1.5497677311665408, -0.095166335681
68564, 1.6449200516736968, -1.4015174529591334e-5)(Q(30), Q(30) - π ^ 2 / 6, R(30), R(30) - π ^ 2 / 6) = (1.6121501176015975, -0.032783949246
62886, 1.6449340668463974, -1.828981410767483e-12)
Out[36]: 5-element Vector{Tuple{Int64, Vararg{Float64, 4}}}:(10, 1.5497677311665408, -0.09516633568168564, 1.6449200516736968, -1.4015174529591334e-5)(20, 1.5961632439130233, -0.04877082293520307, 1.6449340628651155, -3.983110952177071e-9)(30, 1.6121501176015975, -0.03278394924662886, 1.6449340668463974, -1.828981410767483e-12)(40, 1.6202439630069352, -0.024690103841291222, 1.6449340668482253, -1.1102230246251565e-1
5)(50, 1.6251327336215293, -0.019801333226697082, 1.6449340668482262, -2.220446049250313e-1
6)

2.5 二重対数函数のζ(2)の正確な計算への応用
以下の議論は次のリンク先の方法の引き写しである:
https://www.theoremoftheday.org/Analysis/Basel/TotDBasel.pdf(https://www.theoremoftheday.org/Analysis/Basel/TotDBasel.pdf)

log𝑧 = log|𝑧| + 𝑖arg𝑧, −𝜋 < arg𝑧 < 𝜋 を使う.
|𝑧| < 1, −𝜋 < arg𝑧 < 𝜋 と仮定する. このとき, 1 + 𝑧−1 = 1 +𝑧 𝑧 より, 図を描いて確認すれば
arg(1 + 𝑧−1 ) = arg(1 + 𝑧) − arg𝑧複素函数としてのとなっていることがわかる. ゆえに−1log(1 + 𝑧−1 ) − log(1 + 𝑧) = log||| 11++𝑧𝑧 ||| + 𝑖(arg(1 + 𝑧−1 ) − arg(1 + 𝑧))||= −log|𝑧| − 𝑖arg𝑧 = −log𝑧.

そして,

−1
−1
(Li2 (−𝑧−1 ))′ = −log(1−𝑧−−1(−𝑧 )) 𝑧−2 = log(1 𝑧+ 𝑧 ) ,(Li2 (−𝑧))′ = −log(1−𝑧− (−𝑧)) (−1) = −log(1𝑧 + 𝑧) ,−1
∴ (Li2 (−𝑧−1 ) + Li2 (−𝑧))′ = log(1 + 𝑧 )𝑧− log(1 + 𝑧) = −log𝑧𝑧′ −log𝑧
1(− 2 (log𝑧)2 ) = 𝑧

なので, ある定数

𝐶 が存在して,

Li2 (−𝑧−1 ) + Li2 (−𝑧) = − 12 (log𝑧)2 + 𝐶.
−𝜋 < arg𝑧 < 𝜋 と仮定していたことに注意しながら, 𝑧 → 1 とすると,
2 Li2 (−1) = 𝐶.
−𝜋 < arg𝑧 < 𝜋 と仮定していたことに注意しながら, 𝑧 → −1 とすると,
2
2 Li2 (1) = − 12 (±𝜋𝑖)2 + 𝐶 = 𝜋2 + 2 Li2 (−1).
∞∞∞
Li2 (1) + Li2 (−1) = ∑ 𝑛12 + ∑ (−1𝑛2)𝑛 = ∑ (2𝑘2)2 = 12 Li2 (1) より, 2 Li2 (−1) = −Li(1) なので, 上で示した
𝑛=1
𝑛=1
𝑘=1
2
𝜋
2 Li2 (1) = 2 + 2 Li2 (−1) と合わせて, 𝜁(2) = Li2 (1) = 𝜋62 となることがわかる.
要するに 𝜁(2) は二重対数函数の Li2 (−𝑧−1 ) と Li2 (−𝑧) のあいだの接続公式のモノドロミー(不定性)を注意深く扱えば自然に
2.6 二重対数函数の高木貞治『解析概論』§35の例2(p.113)への応用
問題: 次を示せ:

𝜋/2
𝐼 := ∫0 log(sin𝑥)𝑑𝑥 = − 𝜋2 log2.

𝜋/2sin(𝜋/2 − 𝑥) = cos𝑥 より, 𝐼 = ∫0 log(cos𝑥))𝑑𝑥. sin(𝜋 − 𝑥) = sin𝑥𝜋𝜋より, 𝐼 =
∫𝜋/2 log(sin𝑥)𝑑𝑥 なので ∫0 log(sin𝑥)𝑑𝑥 = 2𝐼 . そこで, 𝑥 = 2𝑡 と置換して, sin(2𝑡) = 2cos𝑡sin𝑡 を使うと,
𝜋𝜋/2
𝐼 = 12 ∫0 log(sin𝑥)𝑑𝑥 = ∫0 log(2cos𝑡sin𝑡)𝑑𝑡 = 𝜋2 log2 + 𝐼 + 𝐼.
𝜋
ゆえに 𝐼 = − log2 . □2解答例(高木貞治『解析概論』§35の例2(p.113)):

注意: 上の問題の定積分は, 高木貞治『解析概論』§35の例2(p.113)だけではなく, 同書§62の例3(p.225)でも扱われている. そこではlog(1 − 𝑧) = −1 − 𝑧 − 𝑧2 − ⋯𝑧
2の原点を中心とする周回積分を用いて,

𝜋∫0 log(1 − 2𝑟cos𝜃 + 𝑟 )𝜃 = 2𝜋log𝑟2(𝑟 > 0)𝑟 = 1 の場合から上の問題の結果を得ている. 二重対数函数の定義は −log(1𝑧 − 𝑧) の不定積分だったので, 上の問題は二重対数函数と関係していることになる. 以下の2つの問題も見よ. □問題(WolframAlpha): 次の 𝐹(𝑥) について 𝐹 ′ (𝑥) = log(sin𝑥) となることを示せ.
𝐹(𝑥) = 2𝑖 𝑥2 + 2𝑖 Li2 (𝑒2𝑖𝑥 ) − 𝑥log(1 − 𝑒2𝑖𝑥 ) + 𝑥log(sin𝑥).
log(1 − 𝑥) , (−log(1 − 𝑥))′ = 1 より,′
解答例: Li2 (𝑥) = −1−𝑥𝑥を得ている. そしてこれの

2𝑖𝑥
2𝑖𝑥
𝐹 ′(𝑥) = 𝑖𝑥 + 2𝑖 2𝑖𝑒2𝑖𝑥 −log(1𝑒2𝑖𝑥− 𝑒 ) − log(1 − 𝑒2𝑖𝑥 ) + 𝑥 12𝑖𝑒− 𝑒2𝑖𝑥 + 𝑥 cos𝑥
sin𝑥 + log(sin𝑥).
第2項と第3項がキャンセルして消える. さらに,

𝑒𝑖𝑥 + 𝑒−𝑖𝑥 = 𝑖𝑥 𝑒2𝑖𝑥 + 1
𝑥 cos𝑥=𝑖𝑥
sin𝑥 𝑒𝑖𝑥 − 𝑒−𝑖𝑥 𝑒2𝑖𝑥 − 1

𝑖𝑥 で割ったものは
2𝑖𝑥 𝑒2𝑖𝑥 + 1
1 + 𝑒−2𝑒2𝑖𝑥 − 1 + 𝑒2𝑖𝑥 − 1 = 0となるので, 𝐹 ′ (𝑥) = log(sin𝑥) となることがわかる. □筆者はこの問題の 𝐹(𝑥) の式はWolframAlphaによる計算 (http://www.wolframalpha.com/input/?i=%5Cint+log(sin+x)+dx)で知っを代入すると, 第1,4,5項の和を問題: すぐ上の問題の結果を用いて, 次を示せ:

𝜋𝜋2∫0 log(sin𝑥)𝑑𝑥 = − 2 log2, 𝜁(2) = Li2 (1) = 6 .
𝜋/2

解答例:

Li2 (1) と Li(−1) は∞∞𝑛
Li2 (1) = ∑ 𝑛12 , Li2 (−1) = ∑ (−1)
2𝑛𝑛=1と表わされるので,

𝑛=1∞
Li2 (1) + Li2 (−1) = ∑ (2𝑘)2 2 = 12 Li2 (1).
𝑘=1

ゆえに

Li2 (−1) = − 12 Li(1).

そして, 上の問題の𝐹(𝑥) について
2
𝐹 ( 𝜋2 ) = 𝜋8 𝑖 + 2𝑖 Li2 (−1) − 𝜋2 log2, 𝐹(0) = 2𝑖 Li2 (1)(1)

なので, 上の問題の結論より,

𝜋/2
2ℝ ∋ ∫0 log(sin𝑥)𝑑𝑥 = [𝐹(𝑥)]𝜋/20 = 𝜋8 𝑖 + 2𝑖 Li2 (−1) − 𝜋2 log2 − 2𝑖 Li2 (1).
𝜋/2𝜋
両辺の実部と虚部(の2倍)を比較して,∫0 log(sin𝑥)𝑑𝑥 = − 2 log2 と20 = 𝜋4 + Li2 (−1) − Li2 (1)𝜋2 が得られる. □を得る. 以上の(1),(2)より, 𝜁(2) = Li2 (1) =6
注意: 以上の計算に関連する話題については, 筆者によるツイッターにおける一連の発言(https://twitter.com/genkuroki/status/830016144933167104)も参照せよ.

□

2.7 二重対数函数の五項関係式

𝐿(𝑧) を次のように定義する:
𝑧1 log𝑧 log(1 − 𝑧).
𝐿(𝑧) = 12 ∫0 ( −log(1𝑥 − 𝑥) + −log𝑥
𝑑𝑥
=
(𝑧)
+
Li
2
)
1−𝑥
2

Rogersの二重対数函数 (https://www.google.co.jp/search?q=Rogers+dilogarithm)

1つ目の等号は𝐿(𝑧) の定義であり, 2つ目の等号は次を使えば得られる:−log𝑥𝑑𝑑𝑥 (Li2 (𝑥) + log𝑥 log(1 − 𝑥)) = 1 − 𝑥 .

(2)𝐿(𝑧) と Li2 (𝑧) の違いは初等函数 12 log𝑧 log(1 − 𝑧) の分だけである.
2
Li2 (0) = 0, Li2 (1) = 𝜁(2) = 𝜋6 より,
2
𝐿(0) = 0, 𝐿(1) = 𝜋6 .
この節では次の五項関係式 (five-term relation)2
𝐿(𝑥) + 𝐿(1 − 𝑥𝑦) + 𝐿(𝑦) + 𝐿 ( 11−−𝑥𝑦𝑦 ) + 𝐿 ( 11−−𝑥𝑦𝑥 ) = 𝜋2 .

(FTR)を示そう. 二重対数函数の五項関係式については19世紀にすでに先行する研究結果があったが, この形式に整理された五項関係
式は
R. Rogers, On Function Sum Theorems Connected with the Series
DOI (https://doi.org/10.1112/plms/s2-4.1.169)
補題: 函数

𝑓𝑖 (𝑥) 達について∞ 𝑧𝑛, Proc. London Math. Soc. 4 (1907), 169-189,∑
𝑛=1 𝑛2𝑁

𝐹(𝑥,𝑋) = ∑ log(𝑓𝑖 (𝑥))log(1 − 𝑓𝑖 (𝑋))𝑖=1

は𝐹(𝑥,𝑋) = 𝐹(𝑋,𝑥) を満たしていると仮定する. このとき,
𝑁𝑓(𝑥) = ∑ 𝐿(𝑓𝑖 (𝑥))𝑖=1は定数函数になる.
証明:

𝑑𝑓 = 0 を示せばよい.
−2𝑑𝐿(𝑥) = log(1 −𝑥 𝑥)𝑑𝑥 + log(𝑥)𝑑𝑥
1 − 𝑥 = 𝑑log(𝑥) log(1 − 𝑥) − log(𝑥)𝑑log(1 − 𝑥)

なので,

𝑁

𝑁

𝑖=1

𝑖=1

−2𝑑𝑓(𝑥) = ∑ 𝑑log(𝑓𝑖 (𝑥)) log(1 − 𝑓𝑖 (𝑥)) − ∑ log(𝑓𝑖 (𝑥))𝑑log(1 − 𝑓𝑖 (𝑥)).

𝐹(𝑥,𝑋) と 𝐹(𝑋,𝑥) の 𝑥 に関する外微分 𝑑 を取ると,𝑁
𝑑𝐹(𝑥,𝑋) = ∑ 𝑑log(𝑓𝑖 (𝑥)) log(1 − 𝑓𝑖 (𝑋)),
𝑖=1
𝑁

𝑑𝐹(𝑋,𝑥) = ∑ log(𝑓𝑖 (𝑋))𝑑log(1 − 𝑓𝑖 (𝑥)).
𝑖=1

𝐹(𝑥,𝑋) = 𝐹(𝑋,𝑥) より, これらは等しい:
𝑁
𝑁
𝑑log(
𝑓
(𝑥))
log(1
−
𝑓
(𝑋))
=
𝑖
𝑖
∑
∑ log(𝑓𝑖 (𝑋))𝑑log(1 − 𝑓𝑖 (𝑥))𝑋 = 𝑥 とおくと,

𝑖=1

𝑖=1

𝑁

𝑁

𝑖=1

𝑖=1

∑ 𝑑log(𝑓𝑖 (𝑥)) log(1 − 𝑓𝑖 (𝑥)) = ∑ log(𝑓𝑖 (𝑥))𝑑log(1 − 𝑓𝑖 (𝑥)).

以上を合わせると,−2𝑑𝑓 = 0 が得られる. □五項関係式の証明:

5𝑓𝑖 (𝑥,𝑦) (𝑖 = 1,2,3,4,5) をそれぞれ 𝑥, 1 − 𝑥𝑦 , 𝑦, 11−−𝑥𝑦𝑦 , 11−−𝑥𝑦𝑥 と定め, 𝑓(𝑥,𝑦) = ∑ 𝐿(𝑓𝑖 (𝑥,𝑦))とおく.

𝑓(𝑥,𝑦) が定数函数になることを示そう. 上の補題より, そのためには

𝑖=1

𝐹(𝑥,𝑦;𝑋,𝑌) = ∑ log(𝑓𝑖 (𝑥,𝑦))log(1 − 𝑓𝑖 (𝑋,𝑌))
𝑖=1

が𝐹(𝑥,𝑦;𝑋,𝑌) = 𝐹(𝑋,𝑌;𝑥,𝑦) を満たしていることを示せば十分である. 具体的に計算すると,− 𝑋) , 1 − 1 − 𝑋 = 𝑋(1 − 𝑌)
1 − (1 − 𝑋𝑌) = 𝑋𝑌, 1 − 11−−𝑋𝑌𝑌 = 𝑌(11 − 𝑋𝑌
1 − 𝑋𝑌 1 − 𝑋𝑌

より𝐹(𝑥,𝑦;𝑋,𝑌) = log(𝑥)log(1 − 𝑋) + log(1 − 𝑥𝑦)log(1 − 𝑋𝑌) + log(𝑦)log(1 − 𝑌)
+ (log(1 − 𝑦) − log(1 − 𝑥𝑦))(log(𝑌) + log(1 − 𝑋) − log(1 − 𝑋𝑌))
+ (log(1 − 𝑥) − log(1 − 𝑥𝑦))(log(𝑋) + log(1 − 𝑌) − log(1 − 𝑋𝑌))
= log(𝑥)log(1 − 𝑋) + log(1 − 𝑥)log(𝑋)+ log(𝑦)log(1 − 𝑌) + log(1 − 𝑦)log(𝑌)+ log(1 − 𝑥)log(1 − 𝑌) + log(1 − 𝑦)log(1 − 𝑋)
− log(1 − 𝑥)log(1 − 𝑋𝑌) − log(1 − 𝑥𝑦)log(1 − 𝑋)
− log(1 − 𝑦)log(1 − 𝑋𝑌) − log(1 − 𝑥𝑦)log(1 − 𝑌)
+ 2log(1 − 𝑥𝑦)log(1 − 𝑋𝑌)+ log(1 − 𝑥𝑦)log(𝑋𝑌) − log(1 − 𝑥𝑦)log(𝑋) − log(1 − 𝑥𝑦)log(𝑌).
最下段の3つの項がキャンセルして消えるので, 𝐹(𝑥,𝑦;𝑋,𝑌) = 𝐹(𝑋,𝑌;𝑥,𝑦) となることがわかる. これで 𝑓(𝑥,𝑦) が定数函数であることがわかった.
そして,𝐿(0) = 0 , 𝐿(1) = 𝜋62 より,

𝑓(0,0) = 𝐿(0) + 𝐿(0) + 𝐿(1) + 𝐿(1) + 𝐿(1) = 𝜋22 .

以上によって𝑓(𝑥,𝑦) = 𝜋22 となることが示された. □注意: 上の補題を使えば,𝐿(𝑥) + 𝐿(1 − 𝑥) も定数函数になることがわかり, 𝐿(0) = 0 , 𝐿(1) = 𝜋62 より,𝐿(𝑥) + 𝐿(1 − 𝑥) = 𝜋62となることも示される. これを使って, 五項関係式は次のように書き直される:− 𝑦)𝑦(1 − 𝑥)𝐿(𝑥) + 𝐿(𝑦) = 𝐿(𝑥𝑦) + 𝐿 ( 𝑥(11 − 𝑥𝑦 ) + 𝐿 ( 1 − 𝑥𝑦 ) .
この形の公式も各種文献でよく見る. □注意: 𝑥1 = 𝑥 , 𝑥2 = 1 − 𝑥𝑦 とおき, 帰納的に 𝑥𝑛 を
𝑥𝑛−1 𝑥𝑛+1 = 1 − 𝑥𝑛という関係式で定めると,

𝑥3 = 𝑦, 𝑥4 = 11−−𝑥𝑦𝑦 , 𝑥5 = 11−−𝑥𝑦𝑥 , 𝑥6 = 𝑥, 𝑥7 = 1 − 𝑥𝑦, ,……
𝑥𝑛+5 = 𝑥𝑛 が成立しており, 出て来た 𝑥,𝑦 の式がちょうど五項関係式の5つの 𝑓𝑖 (𝑥,𝑦) に一致していることがわかる. この事実

はクラスター代数 (https://www.google.co.jp/search?
q=%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%E4%BB%A3%E6%95%B0)と dilogarithm identities(https://www.google.co.jp/search?q=dilogarithm+identities) の理論として大幅に一般化されている. クラスター代数の入門的解説
については
黒木玄, ランク2のクラスター代数 (https://genkuroki.github.io/documents/cluster_algebra_rank2.pdf), 2010年
黒木玄, フリーズパターン ―― 数の繰返し模様の不思議(https://genkuroki.github.io/documents/20120810FriezePattern.pdf), 2013年
黒木玄, フリーズパターンの不思議 (https://genkuroki.github.io/documents/20121115Akita.pdf), 2013年などを見よ. 検索すれば他にもたくさん見付かる.

□

注意: このノートの下の方で二重対数函数の量子版と五項関係式の量子化とみなされる五角形恒等式について説明する.

□

3 無限積多項式の計算で因数分解が極めて有用であるのと同様に, より一般の函数の無限積への因数分解も極めて有用である. そのためには無限積を正しく扱う方法を知っておかなければいけない.

∞𝑛𝑎𝑛 から作られる無限積 ∏ 𝑎𝑛 が収束するとは, 数列 𝑝𝑛 = ∏ 𝑎𝑘 = 𝑎1 𝑎2 ⋯ 𝑎𝑛 が収束することであると定める. そのと
𝑛=1
𝑘=1
き, その無限積の収束先が数列 𝑝𝑛 の収束先で定義される.
数列

無限積については高木貞治『解析概論』の§51(pp.178-181)を参照せよ.
さらに 𝑠 > 1 であると仮定する. このとき,
𝑝𝑖 は 𝑖 番目の素数であるとする.
𝑝1 = 2, 𝑝2 = 3, 𝑝3 = 5, … である.
𝑁 1
∞ 1
素数全体に関する無限積
とおく. このとき,−𝑠 がどうなるかを調べてみよう. 𝑍𝑁 = ∏ 1 − 𝑝−𝑠∏𝑖𝑖=1 1 − 𝑝𝑖𝑖=1
例: 以下では

𝑁

𝑍𝑁 = ∏(1 + 𝑝−𝑠𝑖 + 𝑝−2𝑠
𝑖 + ⋯)𝑖=1

なので,𝑍𝑁 は非負の整数たち 𝑘1 ,…, 𝑘𝑁 に対する
𝑝−1 𝑘1𝑠 ⋯ 𝑝−𝑁𝑘𝑁𝑠 =1(𝑝𝑘11 ⋯ 𝑝𝑘𝑁𝑁 )𝑠

達すべての和に等しい. 正の整数は一意的に素因数分解できるので,等しくなる:

𝑁 → ∞ で 𝑍𝑁 は正の整数 𝑛 に対する 𝑛1𝑠 達全体の和に

1 = ∞ 1 = 𝜁(𝑠).
−𝑠 ∑ 𝑛𝑠∏
𝑖=1 1 − 𝑝𝑛=1∞

左辺をゼータ函数

𝜁(𝑠) のEuler積と呼ぶ. □3.1 無限積の絶対収束

∞

∞

𝑛=1
∞

𝑛=1

定理: 級数∑ 𝑎𝑛 が絶対収束していれば, 無限積 ∏(1 + 𝑎𝑛 ) も収束する. このとき, その無限積は絶対収束するという.

証明: 級数𝑎𝑛 は絶対収束していると仮定し,
∑
𝑛=1
∞

𝑛

𝑛=1

𝑘=1

𝑀 = ∑ |𝑎𝑛 |, 𝑝𝑛 = ∏(1 + 𝑎𝑘 ), 𝑏𝑛 = 𝑝𝑛 − 𝑝𝑛−1 = 𝑝𝑛−1 𝑎𝑛
とおく. このとき,𝑛𝑝𝑛 = ∑ 𝑏𝑘 であり, 𝑥 ≧ 0 のとき 1 + 𝑥 ≦ 𝑒𝑥 であることより,
𝑘=1

𝑛

𝑛

𝑘=1

𝑘=1

|𝑝𝑛 | ≦ ∏(1 + |𝑎𝑘 |) ≦ ∏ 𝑒|𝑎𝑛| = 𝑒𝑀となり,|𝑏𝑘 | = |𝑝𝑘−1 ||𝑎𝑘 | ≦ 𝑒𝑀 |𝑎𝑘 | となるので,∞∞
𝑀 |𝑎𝑛 | = 𝑒𝑀 𝑀 < ∞.
|
|
≦
𝑏
𝑒
𝑛
∑
∑

よって, 級数

例:

∞

𝑛=1
𝑛

𝑛=1

𝑘=1

𝑛=1

∞

lim 𝑝𝑛 が収束することがわかった. □∑ 𝑏𝑛 は絶対収束する. 𝑝𝑛 = ∑ 𝑏𝑘 なので無限積 ∏(1 + 𝑎𝑛 ) = 𝑛→∞𝑛=1𝑛 → ∞ のとき 𝑎𝑛 = 𝑂(1/𝑛2 ) であるとする. このとき, ある定数 𝐶 ≧ 0 が存在して, |𝑎𝑛 | ≦ 𝐶/𝑛2 となる. このとき,
∞
∞ 1
|
|
≦
𝐶
𝑎
𝑛
∑
∑ 𝑛2 = 𝐶𝜁(2) < ∞
𝑛=1

𝑛=1

より

∞

∞

𝑛=1

𝑘=1

∑ 𝑎𝑛 は絶対収束するので, 無限積 ∏(1 + 𝑎𝑛 ) は絶対収束する. 例えば,∞
2𝑓(𝑠) = 𝑠 ∏ (1 − 𝑛𝑠2 )𝑛=1

𝑛 ∈ ℤ について 𝑓(𝑛) = 0 となる. 実はこの 𝑓(𝑠) は
i( )
∞
∞ 1
∞
𝑎𝑛 も絶対収束している. なぜな
(1
+
)
=
1
+
𝑎
注意:
は絶対収束していると仮定する. そのとき,
𝑛
∏
∏
∏
(
1 − 𝑎𝑛 )𝑛=1
𝑛=1 1 − 𝑎𝑛 𝑛=1
1 となる. 絶対収束性を論じる場合にらば, 𝑎𝑛 は 0 に収束しているので, ある番号 𝑁 が存在して, 𝑛 ≧ 𝑁 ならば |1 − 𝑎𝑛 | ≧2
は 𝑁 = 1 の場合だけを考えれば十分なので, 𝑁 = 1 であると仮定する. そのとき,∞| 𝑎 |∞
𝑛 | ≦ 2 |𝑎𝑛 | < ∞.
|||∑ | 1 − 𝑎𝑛 | ∑の右辺の無限積は絶対収束している. このとき, すべての整数

これで,

例:

𝑛=1

1 も絶対収束していることが示された. □
∏
1
−
𝑎𝑛
𝑛=1
∞

𝑛=1

∞
∞
1 =∞ 1 も|𝑞| < 1 のとき, ∑ 𝑞 𝑛 は絶対収束しているので, 無限積 𝑓(𝑞) = ∏(1 − 𝑞 𝑛 ) も絶対収束しており, 𝑓(𝑞)∏ 1 − 𝑞𝑛𝑛=1

𝑛=1

絶対収束している. そして,

𝑛=1

1 = ∞ ∞ 𝑞 𝑚𝑘 = ∞ 𝑞 𝑘1+2𝑘2+3𝑘3+⋯ = ∞ 𝑝(𝑛)𝑞 𝑛 .
∑𝑓(𝑞) ∏
𝑚=1 ∑
𝑘=0
𝑛=0
𝑘1 ,𝑘∑
2 ,…=0
ただし, 有限個を除いて 0 であるような非負の整数たちの組全体を (𝑘1 , 𝑘2 ,…) は動くとする. その約束のもとで𝑝(𝑛) = ♯{(𝑘1 , 𝑘2 , 𝑘3 ,…) ∣ 𝑘1 + 2𝑘2 + 3𝑘3 + ⋯ = 𝑛}.
ここで ♯𝑋 は集合 𝑋 の元の個数を表わす. すなわち, 𝑝(𝑛) は 𝑛 を正の整数の和に分解する方法の個数に等しい. 𝑝(𝑛) は 𝑛 の分割数と呼ばれている. 例えば, 𝑝(1) = 1 , 𝑝(2) = 2 , 𝑝(3) = 3 , 𝑝(4) = 5 であり,
5=4+1=3+2=3+1+1=2+2+1=2+1+1+1=1+1+1+1+1なので 𝑝(5) = 7 である. 𝜂(𝑞) = 𝑞 1/24 𝑓(𝑞) はDedekindのη函数と呼ばれるモジュラー変換性を持つ重要な特殊函数である. 分
割数のような組み合わせ論的な数とモジュラ₀変換性を持つ特殊函数が関係しており, 豊かな数学の世界を作っている. □In [37]:

1 partition_number(n) = sympy.functions.combinatorial.numbers.nT(n)2 [(n, partition_number(n)) for n in 1:10]

Out[37]: 10-element Vector{Tuple{Int64, Sym}}:(1, 1)(2, 2)(3, 3)(4, 5)(5, 7)(6, 11)(7, 15)(8, 22)(9, 30)(10, 42)
In [38]:

Out[38]:1 q = symbols("q")
2 N = 10
3 series(prod(1/(1-q^n) for n in 1:N), n=N+1)

1 + 𝑞 + 2𝑞 2 + 3𝑞 3 + 5𝑞 4 + 7𝑞 5 + 11𝑞 6 + 15𝑞 7 + 22𝑞 8 + 30𝑞 9 + 42𝑞 10 + 𝑂 (𝑞 11 )注意:∞

(1 − 𝑞 𝑛 ) について
∏
𝑛=1

∞

∞

∞

𝑛=1

𝑛=−∞

𝑛=−∞

2
∏(1 − 𝑞 𝑛 ) = ∑ (−1)𝑛 𝑞 𝑛(3𝑛−1)/2 = ∑ (−1)𝑛 𝑞 ((6𝑛−1) −1)/24となることが知られている. 次のセルを見よ.

□In [39]:

1
2
3
4
5



q, n = symbols("q n")
N = 5
M = N*(3N-1)÷2@time series(sympy.summation((-1)^n*q^(n*(3n-1)÷2), (n, -M, M)), q, n=M+1) |>display@time series(sympy.product(1 - q^n, (n, 1, M)).expand(), q, n=M+1) |> display

1 − 𝑞 − 𝑞 2 + 𝑞 5 + 𝑞 7 − 𝑞 12 − 𝑞 15 + 𝑞 22 + 𝑞 26 − 𝑞 35 + 𝑂 (𝑞 36 )0.356300 seconds (96.89 k allocations: 6.547 MiB, 25.20% compilation time)

1 − 𝑞 − 𝑞 2 + 𝑞 5 + 𝑞 7 − 𝑞 12 − 𝑞 15 + 𝑞 22 + 𝑞 26 − 𝑞 35 + 𝑂 (𝑞 36 )6.017539 seconds (661 allocations: 48.672 KiB)

3.2 絶対収束する無限積の収束先が積の順序によらないこと
定理: 絶対収束する無限積の収束先は積の順序によらない.
証明: 絶対収束する級数の収束先が和の順序によらないことに帰着する. 無限積∞

𝑀 = ∑ |𝑎𝑛 | とおく. その無限積の収束先は
𝑛=1∞(1 + 𝑎𝑛 ) は絶対収束していると仮定し,
∏
𝑛=1

𝑛

𝑝𝑛 = ∏(1 + 𝑎𝑘 ) = ∑ ∏ 𝑎𝑖
𝑘=1
𝐼⊂{1,2,…,𝑛} 𝑖∈𝐼の収束先に等しい. さらに,𝑛|| || 𝑛
=
(1
+
|
|)
≦
𝑎
𝑎
𝑒|𝑎𝑘| ≦ 𝑒𝑀 < ∞.
|
|
𝑖
𝑘
∑ ||∏
∏
𝐼⊂{1,2,…,𝑛}𝑖∈𝐼 || ∏𝑘=1
𝑘=1
ゆえに, 正の整数全体の集合の有限部分集合 𝐼 に対する積∏ 𝑎𝑖 達すべての無限和は絶対収束している. したがって, その無限𝑖∈𝐼和の収束先は和の順序によらない. 無限積の積の順序を変えることは, その無限和の和の順序を変える場合の特別な場合になっているので, 無限積の収束先も積の順序によらない.

□

3.3 量子二重対数函数
以下,|𝑞| < 1 であると仮定する.

このノートでは量子二重対数函数(quantum dilogarithm)∞

𝐸𝑞 (𝑥) = (∏𝑘=0と定める. (注意:

(1 + 𝑞 𝑘+1/2 𝑥)

𝐸𝑞 (𝑥) を

−1

1
=
1/2
1+1/2
) (1 + 𝑞 𝑥)(1 + 𝑞 𝑥)(1 + 𝑞 2+1/2𝑥)⋯ .

𝐸𝑞 (−𝑥) の方を量子二重対数と呼んでいる文献が多い.) この 𝐸𝑞 (𝑥) は𝐸𝑞 (𝑞𝑥) = (1 + 𝑞 1/2𝑥)𝐸𝑞 (𝑥), 𝐸𝑞 (0) = 1という条件で一意に特徴付けられる.
上の𝐸𝑞 (𝑥) が量子二重対数函数と呼ばれる理由はその対数が次の表示を持つからである:∞∞ ∞ (𝑞 𝑘+1/2 𝑥)𝑛𝑘+1/2
log 𝐸𝑞 (−𝑥) = − ∑ log(1 − 𝑞 𝑥) = ∑ ∑ 𝑛
𝑘=0
𝑘=0 𝑛=1∞ ∞∞ 1/2 𝑛= ∑ (∑ 𝑞 𝑛𝑘) (𝑞 1/2𝑥)𝑛 = ∑ 𝑛(1(𝑞 −𝑥𝑞)𝑛 ) .
𝑛=1 𝑘=0

ゆえに,

𝑛=1

∞
(1 − 𝑞)log 𝐸𝑞 (−𝑥) = ∑ (𝑞𝑛(𝑛1/2𝑥)𝑞)𝑛 ,
𝑛=1

ここで,

(𝑛)𝑞 = 11−−𝑞𝑞𝑛 .

(𝑛)𝑞 は q数 (q-number)と呼ばれ, 𝑞 → 1 で 𝑛 に収束する. ゆえに, 𝑞 → 1 のとき,∞
(1 − 𝑞)log 𝐸𝑞 (−𝑥) → ∑ 𝑥𝑛2𝑛 = Li2 (𝑥).
𝑛=1

𝐸𝑞 (𝑥) の 𝑞 → 1 での漸近挙動は(古典)二重対数函数 Li2 (𝑥) を含んでいる.
3.3.1 量子二重対数函数と量子指数函数との関係
量子指数函数𝑒𝑞 (𝑥) を∞ 𝑛
𝑒𝑞 (𝑥) = ∑ (𝑛𝑥)𝑞! ,(𝑛)𝑞! = (1)𝑞(2)𝑞 ⋯(𝑛)𝑞

𝑛=0

と定める.

(𝑛)𝑞! はq階乗 (q-factorial) と呼ばれている. このとき,
𝑒𝑞 (𝑥) − 𝑒𝑞 (𝑞𝑥) = ∞ (𝑛)𝑞𝑥𝑛−1 = ∞ 𝑥𝑚 = 𝑒𝑞 (𝑥).
(1 − 𝑞)𝑥 ∑ (𝑛)𝑞! ∑ (𝑚)𝑞!
𝑛=1

ゆえに,

𝑚=0

𝑛 → ∞ のとき, 𝑒𝑞 (𝑞 𝑛 𝑥) → 𝑒𝑞 (0) = 1 より,
𝑒𝑞 (𝑞 2 𝑥)=
𝑒𝑞 (𝑥) = 1 −𝑒(1𝑞 (𝑞𝑥)
− 𝑞)𝑥 (1 − (13− 𝑞)𝑥)(1 − (1 − 𝑞)𝑥𝑞)𝑥)= (1 − (1 − 𝑞)𝑥)(1 − (1𝑒𝑞 (−𝑞 𝑞)𝑥𝑞)(1− (1 − 𝑞)𝑥𝑞 2 )= ⋯⋯⋯⋯⋯= (1 − (1 − 𝑞)𝑥)(1 − (1 − 1𝑞)𝑥𝑞)(1 − (1 − 𝑞)𝑥𝑞 2 )⋯−1∞𝑘= (∏(1 − (1 − 𝑞)𝑥𝑞 )) .
𝑘=0

これより,

∞
)𝑛
𝐸𝑞 (𝑥) = 𝑒𝑞 (− 1𝑞 1/2− 𝑥𝑞 ) = ∑ (1 − 𝑞)(1𝑞−𝑛/2𝑞(−𝑥2 )⋯(1 − 𝑞 𝑛 ) .
𝑛=0

3.3.2 q二項定理

𝑞q二項係数 ( -binomial coefficients)$ をと定める. このとき,

𝑛 = (𝑛)𝑞! = (𝑛)𝑞(𝑛 − 1)𝑞 ⋯(𝑛 − 𝑘 + 1)𝑞(𝑘)𝑞 (𝑘)𝑞!(𝑛 − 𝑘)𝑞!
(𝑘)𝑞!

(𝑘)𝑞 + 𝑞 𝑘(𝑛 − 𝑘 + 1)𝑞 = 1 − 𝑞 𝑘 + 𝑞1𝑘−(1𝑞− 𝑞 𝑛−𝑘+1) = 1 1−−𝑞 𝑛+1
𝑞 = (𝑛 + 1)𝑞

より,

𝑛 + 𝑞 𝑘 𝑛 = 𝑛 (𝑘)𝑞 + 𝑞 𝑘(𝑛 − 𝑘 + 1)𝑞 = 𝑛 + 1 .
(1)(𝑘 − 1)𝑞 (𝑘)𝑞 (𝑘 − 1)𝑞( 𝑘 )𝑞(𝑘)𝑞
文字 𝑥, 𝑦 は関係式 𝑦𝑥 = 𝑞𝑥𝑦 を満たしていると仮定する. このとき, (1)を使うと, 通常の二項定理の場合と同様に 𝑛 に関して帰納的に次の公式が成立することを示せる(実際に示してみよ):𝑛(𝑥 + 𝑦)𝑛 = ∑ (𝑘𝑛) 𝑥𝑘 𝑦𝑛−𝑘𝑘=0𝑞(𝑦𝑥 = 𝑞𝑥𝑦).

これを q二項定理 と呼ぶ.

3.3.3 q指数函数の加法公式

𝑦𝑥 = 𝑞𝑥𝑦 のとき,となることを示そう.

𝑒𝑞 (𝑥 + 𝑦) = 𝑒𝑞 (𝑥)𝑒𝑞 (𝑦)∞∞𝑛𝑒𝑞 (𝑥 + 𝑦) = ∑ (𝑥(𝑛+)𝑞𝑦)! 𝑛 = ∑ (𝑛1)𝑞! ∑ (𝑘𝑛) 𝑥𝑘 𝑦𝑛−𝑘
𝑛=0
𝑛=0
𝑘=0 𝑞
∞ 𝑛 𝑥𝑘 𝑦𝑛−𝑘∞= ∑ ∑ (𝑘)𝑞! (𝑛 − 𝑘)𝑞! = ∑ (𝑘𝑥)𝑘𝑞! (𝑙𝑦)𝑙𝑞! = 𝑒𝑞 (𝑥)𝑒𝑞 (𝑦).
𝑛=0 𝑘=0𝑘,𝑙=01/2
𝐸𝑞 (𝑥) = 𝑒𝑞 (− 1𝑞 − 𝑥𝑞 ) より,

3.3.4 量子二重対数函数の五角形恒等式

𝑦𝑥 = 𝑞𝑥𝑦 と仮定し,:𝑥𝑦:= 𝑞 1/2𝑥𝑦 = 𝑞 −1/2𝑦𝑥
とおく. そのとき, 𝑦𝐸𝑞 (𝑥) = 𝐸𝑞 (𝑞𝑥)𝑦 = 𝐸𝑞 (𝑥)(1 + 𝑞 1/2 𝑥)𝑦 = 𝐸𝑞 (𝑥)(:𝑥𝑦: +𝑦) より,
𝑦𝑛 𝐸𝑞 (𝑥) = 𝐸𝑞 (𝑥)(:𝑥𝑦: +𝑦)𝑛 .
この等式の両辺に適当な係数をかけて 𝑛 について足し上げると,
𝐸𝑞 (𝑦)𝐸𝑞 (𝑥) = 𝐸𝑞 (𝑥)𝐸𝑞 (:𝑥𝑦: +𝑦).
𝑦 :𝑥𝑦:= 𝑞 :𝑥𝑦: 𝑦 なので, 前節の結果より,
𝐸𝑞 (:𝑥𝑦: +𝑦) = 𝐸𝑞 (:𝑥𝑦:)𝐸𝑞 (𝑦).
したがって,𝐸𝑞 (𝑦)𝐸𝑞 (𝑥) = 𝐸𝑞 (𝑥)𝐸𝑞 (:𝑥𝑦:)𝐸𝑞 (𝑦).

これを量子二重対数函数の五角形恒等式 (pentagon identity)と呼ぶ.

𝐸𝑞 (𝑥) の 0 でない形式べき級数として一意に特徴付ける. なぜならば, 五角形恒等式の 𝑥,𝑦0 を代入すると 𝐸𝑞 (0) = 1 であることがわかり, 五角形恒等式の両辺の 𝑦 に関する1次の項を比較すると,𝐸𝑞 (𝑞𝑥)𝑦 = 𝑦𝐸𝑞 (𝑥) = 𝐸𝑞 (𝑥)(:𝑥𝑦: +𝑦) = 𝐸𝑞 (𝑥)(1 + 𝑞 1/2𝑥)𝑦となるので 𝐸𝑞 (𝑞𝑥) = 𝐸𝑞 (1 + 𝑞 1/2 𝑥) が得られ, 以上で得られた2つの条件で 𝐸𝑞 (𝑥) が一意に特徴付けられるからである.
注意: 量子二重対数函数の五角形恒等式は 𝐴2 型の量子クラスター代数から得られる quantum dilogarithm identity とみなされる.
さらにアフィン型の場合の無限積版の quantum dilogarithm identitities も存在する. それらの恒等式の背景には量子クラスター代数や量子群の普遍 𝑅 行列の理論が隠れている. 有限積の量子二重対数恒等式の作り方については五角形恒等式は量子二重対数函数に

黒木玄, 量子 dilogarithm 恒等式の作り方 (https://genkuroki.github.io/documents/20101228HowToMakeQDIs.pdf), 2010年12月にも解説がある.

□