ヨーキョクデイ

100% pure impurities, which may imply some value. (j は虚数単位)

等差数列が分母・分子に交互に来る積の部分分数分解

何を言ってるのかわからねーと思うが、たとえば、$$\frac{(x+1)(x+3)(x+5)}{x(x+2)(x+4)(x+6)} = \frac{1}{16} \qty( \frac{5}{x} + \frac{3}{x+2} + \frac{3}{x+4} + \frac{5}{x+6} )$$
みたいな部分分数分解を一般化して、$$\frac{(x+1)(x+3) \cdots (x+2n-1)}{x(x+2)(x+4) \cdots (x+2n)}$$ではどうなるの、という話。

公式

非負整数 $n$ と複素数 $z$ について、次の等式が成り立つ。

$$\qty[ \prod_{k=0}^{n-1} (z+2k+1) ] \qty[ \prod_{k=0}^{n} \frac{1}{z+2k} ] = \frac{1}{4^n} \sum_{k=0}^n \binom{2k}{k} \binom{2(n-k)}{n-k} \frac{1}{z+2k}$$

ただし、$z \neq 0, -2, -4, \ldots, -2n$。また、$\binom{n}{k}$ は二項係数。

証明

左辺は、$$\qty[ \prod_{k=0}^{n-1} (z+2k+1) ] \qty[ \prod_{k=0}^{n} \frac{1}{z+2k} ] = \sum_{k=0}^n \frac{a_k}{z+2k}$$と部分分数分解できるから、$k=m$ のときの係数 $a_m$ を求めればよい。この両辺に $z+2m$ を掛けて、$z=−2m$ とすることを考える。

右辺について、$$
\begin{align}
&\phantom{{}={}} \eval{ (z+2m) \sum_{k=0}^n \frac{a_k}{z+2k} }_{z=-2m} \\
&= \eval{ \qty[ \sum_{k=0}^{m-1} \frac{a_k (z+2m)}{z+2k} + a_m + \sum_{k=m+1}^{n} \frac{a_k (z+2m)}{z+2k} ] }_{z=-2m} \\
&= \sum_{k=0}^{m-1} \frac{a_k (-2m+2m)}{-2m+2k} + a_m + \sum_{k=m+1}^{n} \frac{a_k (-2m+2m)}{-2m+2k} \\
&= a_m
\end{align}
$$である。左辺について、$$
\begin{align}
&\phantom{{}={}} \eval{ (z+2m) \qty[ \prod_{k=0}^{n-1} (z+2k+1) ] \qty[ \prod_{k=0}^{n} \frac{1}{z+2k} ] }_{z=-2m} \\
&= \eval{ \qty[ \prod_{k=0}^{n-1} (z+2k+1) ] \qty[ \prod_{k=0}^{m-1} \frac{1}{z+2k} ] \qty[ \prod_{k=m+1}^{n} \frac{1}{z+2k} ] }_{z=-2m} \\
&= \qty[ \prod_{k=0}^{n-1} (-2m+2k+1) ] \qty[ \prod_{k=0}^{m-1} \frac{1}{-2m+2k} ] \qty[ \prod_{k=m+1}^{n} \frac{1}{-2m+2k} ]
\end{align}
$$であるが、2 番目と 3 番目の総乗については従来と同様の流れで、$$
\begin{align}
&\phantom{{}={}} \qty[ \prod_{k=0}^{m-1} \frac{1}{-2m+2k} ] \qty[ \prod_{k=m+1}^{n} \frac{1}{-2m+2k} ] \\
&= \frac{1}{2^n} \qty[ \prod_{k=0}^{m-1} \frac{1}{-m+k} ] \qty[ \prod_{k=m+1}^{n} \frac{1}{-m+k} ] \\
&= \frac{1}{2^n} \qty[ (-1)^{m} \prod_{k=0}^{m-1} \frac{1}{m-k} ] \qty[ \prod_{k=1}^{n-m} \frac{1}{k} ] \\
&= \frac{(-1)^{m}}{2^n m! (n-m)!}
\end{align}
$$となる。また、1 番目の総乗にについては、$$
\begin{align}
&\phantom{{}={}} \prod_{k=0}^{n-1} (-2m+2k+1) \\
&= \prod_{k=-m+1}^{n-m} (2k-1) \\
&= \qty[ \prod_{k=-m+1}^0 (2k-1) ] \qty[\prod_{k=1}^{n-m} (2k-1) ] \\
&= \qty[ \prod_{k=0}^{m-1} (-2k-1) ] \qty[\prod_{k=1}^{n-m} (2k-1) ] \\
&= \qty[ (-1)^m \prod_{k=0}^{m-1} (2k+1) ] \qty[\prod_{k=1}^{n-m} (2k-1) ] \\
&= (-1)^m (2m-1)!! (2(n-m)-1)!! \\
&= (-1)^m \frac{(2m)!}{2^m m!} \cdot \frac{(2(n-m))!}{2^{n-m} (n-m)!} \\
&= (-1)^m \frac{(2m)!(2(n-m))!}{2^n m!(n-m)!}
\end{align}
$$となる。ゆえに、辺々を比較して、$$
\begin{align}
a_m
&= (-1)^m \frac{(2m)!(2(n-m))!}{2^n m!(n-m)!} \cdot \frac{(-1)^{m}}{2^n m! (n-m)!} \\
&= \frac{1}{4^n} \cdot \frac{(2m)!}{(m!)^2} \cdot \frac{(2(n-m))!}{((n-m)!)^2} \\
&= \frac{1}{4^n} \binom{2m}{m} \binom{2(n-m)}{n-m}
\end{align}
$$を得る。

母関数

中央二項係数の母関数

中央二項係数を $c_n \triangleq \binom{2n}{n}$ と書くことにして、その母関数 $F(x)$ は、$$F(x) = \sum_{n=0}^\infty c_n x^n = \frac{1}{\sqrt{1-4x}}$$と表されるらしい。
en.wikipedia.org

部分分数分解の係数の母関数

$n=\nu$ のときの $1/(z+2m)$ の係数が $x^\nu y^m$ の係数となるような母関数 $G(x,y)$ は、$$
\begin{align}
G(x,y)
&= \sum_{n=0}^\infty \sum_{k=0}^n \frac{1}{4^n} c_k c_{n-k} x^n y^k \\
&= \sum_{n=0}^\infty \qty( \frac{x}{4} )^n \sum_{k=0}^n c_k y^k \cdot c_{n-k}
\end{align}
$$であって、これが畳み込みの形なので、$$
\begin{align}
G(x,y)
&= \qty[ \sum_{n=0}^\infty c_n y^n \qty( \frac{x}{4} )^n ] \qty[ \sum_{n=0}^\infty c_n \qty( \frac{x}{4} )^n ] \\
&= \qty[ \sum_{n=0}^\infty c_n \qty( \frac{xy}{4} )^n ] \qty[ \sum_{n=0}^\infty c_n \qty( \frac{x}{4} )^n ] \\
&= F \qty( \frac{xy}{4} ) F \qty( \frac{x}{4} ) \\
&= \frac{1}{\sqrt{(1-xy)(1-x)}}
\end{align}
$$となる。

天啓に従ってこの部分分数分解をやってみたら、思いの外おもしろい結果になったという。

しりとり対策「ツァ」「ツィ」「ツェ」「ツォ」篇

しりとりで、小さい文字で終わった場合はその直前の文字とともに続けるルールを採用するものとする。このとき、たとえば「ダヴィ」→「ヴィヴァルディ」→「ディスプレイ」などが成り立つ。

さて、「ツァ行」の「ツァ」「ツィ」「ツェ」「ツォ」で終わった場合、何を続ければよいかという話。

手持ちの語彙より

「ツァ行」で終わる語を脳内からひねりだし、さらにそれに続きうるものをひねり出したらこうなった。

ツァ
「ピッツァ」→
ツィ
マテラッツィ」→
ツェ
フィレンツェ」→
ツォ
「マリトッツォ」→
なぜかイタリア語をおもにドイツ語で受ける形になった印象。「マテラッツィ」からの「ツィーゲ」はサッカー選手つながりで美しい。「ツェナー○○」はいろいろあるので耐えるか。ただ、固有名詞を禁止するルールだとかなり厳しい。

先生たちに尋ねる

Google 先生や他の検索エンジン先生たちによるサジェスチョンをもとに、上記にないものを挙げてみる。

ツァ
ツィ
ツェ
ツォ
大昔に一時的に山登りマンだったのにツェルトが出てこなかったのは残念。

マニアのための n 倍角・その 4

またおよそ 7 年ぶりの続編。以前、マニアのための n 倍角・その 3 において、$$\cot n \theta = \frac{1}{n} \sum_{k=0}^{n-1} \cot( \theta + \frac{k}{n} \pi)$$の成立を示した。これをさらに変形すると、$$
\begin{align}
\cot n\theta
&= \frac{1}{n} \sum_{k=0}^{n-1} \cot(\theta + \frac{k}{n} \pi) \\
&= \frac{1}{n} \qty[ \cot \theta + \sum_{k=1}^{n-1} \cot( \theta + \frac{k}{n} \pi ) ] \\
&= \frac{1}{n} \qty[ \cot(\theta + \pi) + \sum_{k=1}^{n-1} \cot( \theta + \frac{k}{n} \pi ) ] \\
&= \frac{1}{n} \sum_{k=1}^n \cot( \theta + \frac{k}{n} \pi ) \\
&= \frac{1}{n} \sum_{k=1}^n \cot( \theta + \frac{k}{n} \pi - \pi ) \\
&= \frac{1}{n} \sum_{k=1}^n \cot( \theta + \frac{k-n}{n} \pi ) \\
&= \frac{1}{n} \sum_{k=1-n}^0 \cot( \theta + \frac{k}{n} \pi ) \\
&= \frac{1}{n} \sum_{k=0}^{n-1} \cot( \theta - \frac{k}{n} \pi )
\end{align}
$$と表せる。$\cot$ の周期が $\pi$ であることに注意。

公式

正の整数 $n$ について、$\cot$ の $n$ 倍角の公式として次が成り立つ。

$$\cot n \theta = \frac{1}{n} \sum_{k=0}^{n-1} \cot( \theta \pm \frac{k}{n} \pi )$$

今回はこの別証明を与えたい。

道具

e10s.hateblo.jp
再掲。

正の整数 $n$ と複素数 $z$ について、$$\prod_{k=0}^{n-1} \frac{1}{z - \zeta_n^k} = \frac{1}{n} \sum_{k=0}^{n-1} \frac{\zeta_n^k}{z - \zeta_n^k}$$すなわち、$$\frac{1}{z^n-1} = \frac{1}{n} \sum_{k=0}^{n-1} \frac{1}{z \zeta_n^{-k} - 1}$$である。ただし、$z^n \neq 1$ であり、$\zeta_n \triangleq e^{j 2 \pi /n}$と定義する。

証明

Euler の公式より、$$
\begin{align}
\cot \theta
&= \frac{\cos \theta}{\sin \theta} \\
&=\frac{j (e^{j \theta} + e^{-j \theta})}{e^{j \theta} - e^{-j \theta}} \\
&=j \qty( \frac{1}{e^{j 2 \theta}-1} - \frac{1}{e^{-j 2 \theta} - 1} )
\end{align}
$$と表せる。このとき、$$\cot{n \theta} = j \qty( \frac{1}{e^{j 2 n \theta} - 1} - \frac{1}{e^{-j 2 n\theta} - 1} )$$である。この右辺を部分分数分解する。第 1 項について、$$
\begin{align}
\frac{1}{(e^{j 2 \theta})^n - 1}
&= \frac{1}{n} \sum_{k=0}^{n-1} \frac{1}{e^{j 2 \theta} \zeta_n^{-k} - 1} \\
&= \frac{1}{n} \sum_{k=0}^{n-1} \frac{1}{e^{j 2 \theta} e^{-j 2 \pi k / n} - 1} \\
&= \frac{1}{n} \sum_{k=0}^{n-1} \frac{1}{e^{j 2 (\theta - \pi k / n)} - 1}
\end{align}
$$であり、第 2 項について、$$
\begin{align}
\frac{1}{(e^{-j 2 \theta})^n - 1}
&= \frac{1}{n} \sum_{k=0}^{n-1} \frac{1}{e^{-j 2 \theta} \zeta_n^{-k} - 1} \\
&= \frac{1}{n} \sum_{k=0}^{n-1} \frac{1}{e^{-j 2 \theta} e^{-j 2 \pi k / n} - 1} \\
&= \frac{1}{n} \sum_{k=0}^{n-1} \frac{1}{e^{-j 2 (\theta + \pi k / n)} - 1} \\
&= \frac{1}{n} \qty( \frac{1}{e^{-j 2 \theta} - 1} + \sum_{k=1}^{n-1} \frac{1}{e^{-j 2 (\theta + \pi k / n)} - 1} ) \\
&= \frac{1}{n} \qty( \frac{1}{e^{-j (2 \theta + 2 \pi)} - 1} + \sum_{k=1}^{n-1} \frac{1}{e^{-j 2 (\theta + \pi k / n)} - 1} ) \\
&= \frac{1}{n} \sum_{k=1}^n \frac{1}{e^{-j 2 (\theta + \pi k / n)} - 1} \\
&= \frac{1}{n} \sum_{k=1-n}^0 \frac{1}{e^{-j 2 (\theta + \pi (k + n) / n)} - 1} \\
&= \frac{1}{n} \sum_{k=1-n}^0 \frac{1}{e^{-j (2 (\theta + \pi k / n) + 2 \pi)} - 1} \\
&= \frac{1}{n} \sum_{k=1-n}^0 \frac{1}{e^{- j 2 (\theta + \pi k / n)} - 1} \\
&= \frac{1}{n} \sum_{k=0}^{n-1} \frac{1}{e^{-j 2 (\theta - \pi k / n)} - 1}
\end{align}
$$であるから、$$
\begin{align}
\cot{n \theta}
&= \frac{1}{n} \sum_{k=0}^{n-1} j \qty( \frac{1}{e^{j 2 (\theta - \pi k / n)} - 1} - \frac{1}{e^{-j 2 (\theta - \pi k / n)} - 1} ) \\
&= \frac{1}{n} \sum_{k=0}^{n-1} \cot( \theta - \frac{k}{n} \pi )
\end{align}
$$となり、示された。

件の部分分数分解の公式を眺めていたら、雰囲気が似ていたので試してみたのである。意外なところでこういうのがあるからやめられない。

1 の n 乗根と部分分数分解

公式

正の整数 $n$ と複素数 $z$ について、次の等式が成り立つ。

$$\prod_{k=0}^{n-1} \frac{1}{z-\zeta_n^k} = \frac{1}{n} \sum_{k=0}^{n-1} \frac{\zeta_n^k}{z-\zeta_n^k}$$

ただし、$z^n \neq 1$ であり、$\zeta_n \triangleq e^{j 2 \pi /n}$ と定義する。

準備

$z^n - 1$ の因数分解を考える。

実数の範囲では、$$
\begin{align}
z^n - 1
&= (z-1) (1 + z + \cdots + z^{n-2} + z^{n-1}) \\
&= (z-1) \sum_{k=1}^n z^{k-1}
\end{align}
$$となる。複素数の範囲では $n$ 個の根があり、$$
\begin{align}
z^n - 1
&= \prod_{k=0}^{n-1} (z-\zeta_n^k) \\
&= (z-1) \prod_{k=1}^{n-1} (z-\zeta_n^k)
\end{align}
$$とできる。

したがって、$$\prod_{k=1}^{n-1} (z-\zeta_n^k) = \sum_{k=1}^n z^{k-1}$$となる。これに $z=1$ を代入して、$$
\begin{align}
\prod_{k=1}^{n-1} (1-\zeta_n^k)
&= \sum_{k=1}^n 1^{k-1} \\
&= n
\end{align}
$$を得る。

証明

左辺は、$$\prod_{k=0}^{n-1}\frac{1}{z-\zeta_n^k} = \sum_{k=0}^{n-1}\frac{a_k}{z-\zeta_n^k}$$と部分分数分解できるから、$k=m$ のときの係数 $a_m$ を求めればよい。この両辺に $z-\zeta_n^m$ を掛けて、$z=\zeta_n^m$ とすることを考える。

右辺について、$$
\begin{align}
&\phantom{{}={}} \eval{ (z-\zeta_n^m) \sum_{k=0}^{n-1} \frac{a_k}{z-\zeta_n^k} }_{z=\zeta_n^m} \\
&= \eval{ \qty[ \sum_{k=0}^{m-1} \frac{a_k (z-\zeta_n^m)}{z-\zeta_n^k} + a_m + \sum_{k=m+1}^{n-1} \frac{a_k (z-\zeta_n^m)}{z-\zeta_n^k} ] }_{z=\zeta_n^m} \\
&= \sum_{k=0}^{m-1} \frac{a_k (\zeta_n^m-\zeta_n^m)}{\zeta_n^m-\zeta_n^k} + a_m + \sum_{k=m+1}^{n-1} \frac{a_k (\zeta_n^m-\zeta_n^m)}{\zeta_n^m-\zeta_n^k} \\
&= a_m
\end{align}
$$である。左辺について、$$
\begin{align}
&\phantom{{}={}} \eval{ (z-\zeta_n^m) \prod_{k=0}^{n-1}\frac{1}{z-\zeta_n^n} }_{z=\zeta_n^m} \\
&= \eval{ \qty[ \prod_{k=0}^{m-1}\frac{1}{z-\zeta_n^k} ] \qty[ \prod_{k=m+1}^{n-1}\frac{1}{z-\zeta_n^k} ] }_{z=\zeta_n^m} \\
&= \qty[ \prod_{k=0}^{m-1}\frac{1}{\zeta_n^m-\zeta_n^k} ] \qty[ \prod_{k=m+1}^{n-1}\frac{1}{\zeta_n^m-\zeta_n^k} ] \\
&= \qty[ \prod_{k=n-m}^{n-1}\frac{1}{\zeta_n^m-\zeta_n^{k-n+m}} ] \qty[ \prod_{k=1}^{n-m-1}\frac{1}{\zeta_n^m-\zeta_n^{k+m}} ] \\
&= \qty[ \prod_{k=n-m}^{n-1}\frac{1}{\zeta_n^m-\zeta_n^{k+m} \zeta_n^{-n}} ] \qty[ \prod_{k=1}^{n-m-1}\frac{1}{\zeta_n^m-\zeta_n^{k+m}} ] \\
&= \qty[ \prod_{k=n-m}^{n-1}\frac{1}{\zeta_n^m-\zeta_n^{k+m}} ] \qty[ \prod_{k=1}^{n-m-1}\frac{1}{\zeta_n^m-\zeta_n^{k+m}} ] \\
&= \prod_{k=1}^{n-1}\frac{1}{\zeta_n^m-\zeta_n^{k+m}} \\
&= (\zeta_n^{-m})^{n-1} \prod_{k=1}^{n-1}\frac{1}{1-\zeta_n^k} \\
&= (\zeta_n^n)^{-m} \zeta_n^m \cdot \frac{1}{n} \\
&= \frac{\zeta_n^m}{n}
\end{align}
$$であるから、辺々を比較して、$$a_m = \frac{\zeta_n^m}{n}$$ゆえ、示された。

調和数列の積の 2 乗の部分分数分解

あるいは、調和数列の 2 乗の積の部分分数分解はどう表されるかが気になったので。前回の発展版。
e10s.hateblo.jp

調和数列の積の部分分数分解

再掲。

公式

非負整数 $n$ と複素数 $z$ について、次の等式が成り立つ。

$$\prod_{k=0}^{n} \frac{1}{z+k} = \frac{1}{n!} \sum_{k=0}^n (-1)^k \binom{n}{k}\frac{1}{z+k}$$

ただし、$z \neq 0, -1, -2, -3, \ldots, -n$。また、$\binom{n}{k}$ は二項係数。

調和数列の積の 2 乗の部分分数分解

公式

非負整数 $n$ と複素数 $z$ について、次の等式が成り立つ。

$$\prod_{k=0}^n \frac{1}{(z+k)^2} = \frac{1}{(n!)^2}\sum_{k=0}^n \binom{n}{k}^2 \qty[ \frac{1}{(z+k)^2} + \frac{2 (H_k-H_{n-k})}{z+k} ] $$

ただし、$z \neq 0, -1, -2, -3, \ldots, -n$。また、$\binom{n}{k}$ は二項係数であり、$H_k$ は調和数、すなわち、$$H_k = \sum_{i=1}^k \frac{1}{i} $$である。

証明

左辺は、
$$\prod_{k=0}^n \frac{1}{(z+k)^2} = \sum_{k=0}^n \frac{a_k}{(z+k)^2} + \sum_{k=0}^n \frac{b_k}{z+k}$$と部分分数分解できるから、$k=m$ のときの係数 $a_m, b_m$ を求めればよい。ここでは Heaviside の方法を用いる。

先に $a_m$ を求めたい。

$$\prod_{k=0}^n \frac{1}{(z+k)^2} = \sum_{k=0}^n \frac{a_k}{(z+k)^2} + \sum_{k=0}^n \frac{b_k}{z+k}$$の両辺に $(z+m)^2$ を掛けて、$z=−m$ とする。

右辺について、$$
\begin{align}
&\phantom{{}={}} \eval{ (z+m)^2 \sum_{k=0}^n \frac{a_k}{(z+k)^2} }_{z=-m} \\
&= \eval{ \qty[ \sum_{k \neq m} \frac{a_k(z+m)^2}{(z+k)^2} + a_m ] }_{z=-m} \\
&= a_m
\end{align}
$$であり、$$
\begin{align}
&\phantom{{}={}} \eval{ (z+m)^2 \sum_{k=0}^n \frac{b_k}{z+k} }_{z=-m} \\
&= \eval{ \qty[ \sum_{k \neq m} \frac{b_k(z+m)^2}{z+k} + b_m (z+m) ] }_{z=-m} \\
&= 0
\end{align}
$$である。左辺について、$$
\begin{align}
&\phantom{{}={}} \eval{ (z+m)^2 \prod_{k=0}^n \frac{1}{(z+k)^2} }_{z=-m} \\
&= \eval{ \prod_{k \neq m} \frac{1}{(z+k)^2} }_{z=-m} \\
&= \eval{ \qty[ \prod_{k=0}^{m-1} \frac{1}{(z+k)^2} ] \qty[ \prod_{k=m+1}^{n} \frac{1}{(z+k)^2} ] }_{z=-m} \\
&= \qty[ \prod_{k=0}^{m-1} \frac{1}{(-m+k)^2} ] \qty[ \prod_{k=m+1}^{n} \frac{1}{(-m+k)^2} ] \\
&= \qty[ \prod_{k=-m}^{-1} \frac{1}{(-m+(m+k))^2} ] \qty[ \prod_{k=1}^{n-m} \frac{1}{(-m+(m+k))^2} ] \\
&= \qty[ \prod_{k=-m}^{-1} \frac{1}{k} ]^2 \qty[ \prod_{k=1}^{n-m} \frac{1}{k} ]^2 \\
&= \qty[ \prod_{k=1}^{m} \frac{-1}{k} ]^2 \qty[ \prod_{k=1}^{n-m} \frac{1}{k} ]^2 \\
&= \qty[ \frac{1}{m! (n-m)!} ]^2 \\
&= \qty[ \frac{1}{n!} \binom{n}{m} ]^2
\end{align}
$$となるから、辺々を比較して、$$a_m = \qty[ \frac{1}{n!} \binom{n}{m} ]^2$$となる。

そして $b_m$ を求めたい。

$$\prod_{k=0}^n \frac{1}{(z+k)^2} = \sum_{k=0}^n \frac{a_k}{(z+k)^2} + \sum_{k=0}^n \frac{b_k}{z+k}$$の両辺に $(z+m)^2$ を掛けたものを微分して、$z=−m$ とする。

右辺について、$$
\begin{align}
&\phantom{{}={}} \eval{ \dv{z} (z+m)^2 \sum_{k=0}^n \frac{a_k}{(z+k)^2} }_{z=-m} \\
&= \eval{ \qty[ \sum_{k \neq m} a_k \dv{z} \frac{(z+m)^2}{(z+k)^2} + \dv{z} a_m ] }_{z=-m} \\
&= \eval{ \sum_{k \neq m} a_k \qty[ \frac{2(z+m)}{(z+k)^2} - \frac{2(z+m)^2}{(z+k)^3} ] }_{z=-m} \\
&= 0
\end{align}
$$であって、さらに、$$
\begin{align}
&\phantom{{}={}} \eval{ \dv{z} (z+m)^2 \sum_{k=0}^n \frac{b_k}{z+k} }_{z=-m} \\
&= \eval{ \qty[ \sum_{k \neq m} b_k \dv{z} \frac{(z+m)^2}{z+k} + \dv{z} b_m (z+m) ] }_{z=-m} \\
&= \eval{ \sum_{k \neq m} b_k \qty[ \frac{2(z+m)}{z+k} - \frac{(z+m)^2 }{(z+k)^2} ] }_{z=-m} + b_m \\
&= b_m
\end{align}
$$となる。左辺について、$$
\begin{align}
&\phantom{{}={}} \eval{ \dv{z} (z+m)^2 \prod_{k=0}^n \frac{1}{(z+k)^2} }_{z=-m} \\
&= \eval{ \dv{z} \prod_{k \neq m} \frac{1}{(z+k)^2} }_{z=-m} \\
&= \eval{ \sum_{k \neq m} \qty[ \qty (\dv{z} \frac{1}{(z+k)^2} ) \prod_{i \neq k,m} \frac{1}{(z+i)^2} ] }_{z=-m} \\
&= \eval{ \sum_{k \neq m} \qty[ \frac{-2}{(z+k)^3} \prod_{i \neq k,m} \frac{1}{(z+i)^2} ] }_{z=-m} \\
&= \eval{ -2\sum_{k \neq m} \qty[ \frac{1}{z+k} \prod_{i \neq m} \frac{1}{(z+i)^2} ] }_{z=-m} \\
&= \eval{ -2 \qty[ \prod_{k \neq m} \frac{1}{(z+k)^2} ] \sum_{k \neq m} \frac{1}{z+k} }_{z=-m} \\
&= -2 \qty[ \prod_{k \neq m} \frac{1}{(-m+k)^2} ] \sum_{k \neq m} \frac{1}{-m+k}
\end{align}
$$となる。

ここで、$$\prod_{k \neq m} \frac{1}{(-m+k)^2} = a_m $$だったから、$$
\begin{align}
&\phantom{{}={}} \eval{ \dv{z} (z+m)^2 \prod_{k=0}^n \frac{1}{(z+k)^2} }_{z=-m} \\
&= -2 a_m \sum_{k \neq m} \frac{1}{-m+k} \\
&= -2 a_m \qty[ \sum_{k=0}^{m-1} \frac{1}{-m+k} + \sum_{k=m+1}^{n} \frac{1}{-m+k} ] \\
&= -2 a_m \qty[ \sum_{k=-m}^{-1} \frac{1}{-m+(m+k)} + \sum_{k=1}^{n-m} \frac{1}{-m+(m+k)} ] \\
&= -2 a_m \qty[ \sum_{k=-m}^{-1} \frac{1}{k} + \sum_{k=1}^{n-m} \frac{1}{k} ] \\
&= -2 a_m \qty[ \sum_{k=1}^{m} \frac{-1}{k} + \sum_{k=1}^{n-m} \frac{1}{k} ] \\
&= -2 a_m (-H_m+H_{n-m})\\
&= 2 a_m (H_m-H_{n-m})
\end{align}
$$であるから、辺々を比較して、$$
\begin{align} b_m
&= 2 a_m (H_m-H_{n-m}) \\
&= 2 \qty[ \frac{1}{n!} \binom{n}{m} ]^2 (H_m-H_{n-m})
\end{align}
$$ゆえ、示された。

蛇足

組合せ論的な議論

$$\prod_{k=0}^{n} \frac{1}{z+k} = \frac{1}{n!} \sum_{k=0}^n (-1)^k \binom{n}{k}\frac{1}{z+k}$$の両辺を 2 乗して、$$
\begin{align}
\prod_{k=0}^{n} \frac{1}{(z+k)^2}
&= \qty[ \sum_{k=0}^n \frac{1}{n!} (-1)^k \binom{n}{k}\frac{1}{z+k} ]^2 \\
&= \frac{1}{(n!)^2} \qty{ \qty[ (-1)^m \binom{n}{m}\frac{1}{z+m} ] + \qty[ \sum_{k \neq m} (-1)^k \binom{n}{k}\frac{1}{z+k} ] }^2 \\
&= \frac{1}{(n!)^2} \qty{ \qty[ (-1)^m \binom{n}{m}\frac{1}{z+m} ]^2 + 2 \qty[ (-1)^m \binom{n}{m}\frac{1}{z+m} ] \qty[ \sum_{k \neq m} (-1)^k \binom{n}{k}\frac{1}{z+k} ] + \qty[ \sum_{k \neq m} (-1)^k \binom{n}{k}\frac{1}{z+k} ]^2 }
\end{align}
$$と二項展開できるが、この右辺を観察したい。

$1/(z+m)^2$ についての項は、$$
\begin{align}
&\phantom{{}={}} \frac{1}{(n!)^2} \qty[ (-1)^m \binom{n}{m}\frac{1}{z+m} ]^2 \\
&= \qty[ \frac{1}{n!} \binom{n}{m} ]^2 \frac{1}{(z+m)^2}
\end{align}
$$で得られるから、$$a_m =\qty[ \frac{1}{n!} \binom{n}{m} ]^2$$とすぐに求められる。先ほどの方法よりも手軽である。

他の $1/(z+m)$ についての項は、$$\frac{2}{(n!)^2} \qty[ (-1)^m \binom{n}{m}\frac{1}{z+m} ] \qty[ \sum_{k \neq m} (-1)^k \binom{n}{k}\frac{1}{z+k} ]$$からすべて得られる。これは、$$
\begin{align}
&\phantom{{}={}} \frac{2}{(n!)^2} \qty[ (-1)^m \binom{n}{m}\frac{1}{z+m} ] \qty[ \sum_{k \neq m} (-1)^k \binom{n}{k}\frac{1}{z+k} ] \\
&= \frac{2}{(n!)^2} \binom{n}{m} \sum_{k \neq m} (-1)^{k+m} \binom{n}{k}\frac{1}{(z+m)(z+k)} \\
&= \frac{2}{(n!)^2} \binom{n}{m} \sum_{k \neq m} (-1)^{k+m} \binom{n}{k} \frac{1}{k-m} \qty( \frac{1}{z+m} - \frac{1}{z+k} )
\end{align}
$$と変形できる。ここから $1/(z+m)$ の項だけを注目すれば、$$b_m = \frac{2}{(n!)^2} \binom{n}{m} \sum_{k \neq m} (-1)^{k+m} \binom{n}{k} \frac{1}{k-m}$$と表すことができる。一方で、$$b_m = 2 \qty[ \frac{1}{n!} \binom{n}{m} ]^2 (H_m-H_{n-m})$$ だったがゆえ、$$\frac{2}{(n!)^2} \binom{n}{m} \sum_{k \neq m} (-1)^{k+m} \binom{n}{k} \frac{1}{k-m} = 2 \qty[ \frac{1}{n!} \binom{n}{m} ]^2 (H_m-H_{n-m})$$ より、$$\sum_{k \neq m} (-1)^{k+m} \binom{n}{k} \frac{1}{k-m} = \binom{n}{m} (H_m-H_{n-m})$$なる関係式が示された。

調和数列の積の N 乗の部分分数分解

一般化して Mathlog に載せた。
mathlog.info

ゲリマンダーを作ってみた

ja.wikipedia.org
数学的に公民を見るシリーズができた。前回は、

ということだろう。

概要

二大政党制を想定し、支持者の数で不利であろう A 党がそうでない B 党に勝つための選挙区の区分けを行いたい。

選挙のルールと勝敗

地区
各地区は A 党の支持者と B 党の支持者からなる。
選挙区
いくつかある地区をいくつかに区切って選挙区を作る。このとき、おのおのの選挙区は飛び地を持たないようにする。
各選挙区について、それに属する地区の各党の支持者数を党ごとに合算する。
選挙
選挙区ごとに、より多くの支持者数がいる党がその選挙区を獲得する。最終的に他党より多くの選挙区を獲得できた党が選挙において勝利する。
そんな小選挙区制のイメージ。
ja.wikipedia.org

ゲリマンダリングのシミュレーション

方法

あり得る区分けを列挙し、それぞれについて勝敗を評価する。

また、それについてはグラフ理論を用いるが、あまり一般的ではないかもしれない用語を定義したい。

グラフの分割連結分割
グラフ $G$ の頂点集合 $V(G)$ の分割 $\{V_j\}$ を考える。このとき、$\{V_j\}$ によって得られる $G$ の誘導部分グラフの集合 $\{G[V_j]\}$ を $G$ の分割 (partition) と呼ぶ。
とくに、分割 $\{G[V_j]\}$ のすべての元が連結であるとき、連結分割 (connected partition) と呼ぶ。

連結分割は仮想的に適当な辺を除去することで仮想的な連結成分を作るイメージ。

グラフ理論の基本的なところは以下参照。
www.momoyama-usagi.com
www.momoyama-usagi.com

区分け

地区を頂点とし、地区どうしの隣接関係を辺としたグラフ $G(V)$ を作り、そのグラフを $N$ 個に連結分割した $\{G[V_j]\}$ を考える。$\abs{\{j\}} = N$ である。この連結分割の各元に選挙区を紐付けることで $N$ 個の選挙区を得る。

勝敗

地区のスコア
各地区について A 党の支持者数から B 党の支持者数を引いた数をスコアと呼ぶことにし、各頂点 $v_i \in V$ にスコア $S(v_i)$ を紐付ける。
選挙区の勝ち点

$G[V_j]$ に属する頂点のスコアの和 $S_j$ を求める。すなわち、$$S_j = \sum_{v_i \in V_j} S(v_i)$$である。さらに、これに基づいてそれぞれの選挙区 $j$ に勝ち点 $P_j$ を次のように割り振ることにする。 $$P_j = \begin{cases} 1 & (S_j > 0) \\ 0 & (S_j = 0) \\ -1 & (S_j < 0) \end{cases}$$

選挙の勝敗
選挙区ごとの勝ち点の総和 $\sum_j P_j$ が正であれば A 党の勝利とする。

具体例

15 個の地区を用意した。次のグラフに示す。

縦 3、横 5 の格子状に連なった地区

各頂点 $v_i$ には地区の番号とスコアが $(i, S(v_i))$ という対として記載されており、赤い頂点は $S(v_i) < 0$、青い頂点は $S(v_i) > 0$ であること示している。各頂点のスコアは番号順に、$$
\begin{align} \{S(v_i)\} =& -15, 21, -35, -31, -43, \\
& 26, -27, 15, 11, -48, \\
& 39, -12, 2, -10, -28
\end{align}
$$となっており、その和は $-135$ である。また、赤い頂点は 9 個、青い頂点は 6 個である。すなわち、

  • 全体で見ると A 党の支持者数は B 党を下回っている
  • A 党支持者の多い地区のほうが B 党支持者の多い地区より少ない

という A 党劣勢を覆していくのが目的。

今回は選挙区を 3 つ設けたい。そういったグラフの分割方法は 5368 通りあるらしい。勝ち点の和ごとの内訳を次の表に示す。

勝ち点の和 分割方法の数
1 621
0 25
-1 3411
-2 42
-3 1269
5368

ゲリマンダーが成功する組合せが 621 通りあることを示している。

成功例
ゲリマンダー成功な区分け例

濃い色の辺で結ばれている部分グラフが選挙区に対応していると思ってほしい。

この例は地区の番号の分割が、$$\{\{0, 5, 10, 11, 12, 13\}, \{1, 6, 7\}, \{2, 3, 4, 8, 9, 14\}\} $$である場合である。すなわち、$$(V_0, V_1, V_2) = (\{v_0, v_5, v_{10}, v_{11}, v_{12}, v_{13}\}, \{v_1, v_6, v_7\}, \{v_2, v_3, v_4, v_8, v_9, v_{14}\}) $$によるグラフの分割 $\{G[V_0], G[V_1], G[V_2]\}$ を考えている。このとき、選挙区ごとのスコアの和は、$$(S_0, S_1, S_2) = (30, -174, 9) $$となり、勝ち点は$$(P_0, P_1, P_2) = (1, -1, 1) $$である。よって、勝ち点の和 $P_0 + P_1 + P_2$ が $1$ であるから、A 党が大逆転勝利を遂げる。

また、次に図示する区分けは自明な成功例といえる。

自明な成功例

互いに隣接する有利な地区のみからなる勝ち点 $1$ が必然な選挙区の数が過半数を占めた時点で勝利する、トリビアルな区分けである。今回は一票の格差やらの平等性を無視したので、こういうのもアリ。

失敗例
ゲリマンダー失敗な区分け例

また、$$(V_0, V_1, V_2) = (\{v_0, v_1, v_2, v_3, v_5\}, \{v_4, v_6, v_7, v_8, v_9, v_{14}\}, \{v_{10}, v_{11}, v_{12}, v_{13}\}) $$による分割では、選挙区ごとのスコアの和は、$$(S_0, S_1, S_2) = (-120, -34, 19) $$となり、勝ち点は$$(P_0, P_1, P_2) = (-1, -1, 1) $$であるから、勝ち点の和が $-1$ であり、A 党が敗北したのでゲリマンダー失敗である。

コード

今回のシミュレーションで使った SageMath のコード。与えるグラフが大きかったりすると終わらない。

def connected_partition_iterator(G, k):
    """
    Partition G into `k` connected induced subgraphs.
    """

    if G.order() == 0 or k > G.order():
        return

    root = G.vertices()[0]

    for csg_with_root in filter(
        lambda sg: root in sg,
        G.connected_subgraph_iterator(k=G.order() - k + 1),
    ):
        sg_opposite = G.subgraph(set(G) - set(csg_with_root))
        m = sg_opposite.connected_components_number()
        if m == k - 1:
            yield [csg_with_root] + [
                G.subgraph(cc) for cc in sg_opposite.connected_components(sort=False)
            ]
        elif m < k - 1:
            for parts in connected_partition_iterator(sg_opposite, k - 1):
                yield [csg_with_root] + [G.subgraph(part) for part in parts]


def custom_show(G, supergraph=None):
    excluded_edges = set(supergraph.edges()) - set(G.edges()) if supergraph else {}
    g = supergraph or G
    g.show(
        fig_tight=False,
        figsize=[5, 3],
        vertex_size=2200,
        vertex_colors={
            "white": list(filter(lambda v: v[1] == 0, g)),
            "lightblue": list(filter(lambda v: v[1] > 0, g)),
            "lightpink": list(filter(lambda v: v[1] < 0, g)),
        },
        edge_colors={"gainsboro": excluded_edges},
    )


def show_partition(partition, supergraph):
    custom_show(
        supergraph.subgraph(
            edges=set.union(*[set(part.edges()) for part in partition])
        ),
        supergraph,
    )


g = graphs.Grid2dGraph(3, 5)
scores = [-15, 21, -35, -31, -43, 26, -27, 15, 11, -48, 39, -12, 2, -10, -28]
assert g.order() == len(scores)
g.relabel(enumerate(scores))

n = 3

stats = {}
custom_show(g)

partitions = [*connected_partition_iterator(g, n)]

# show_partition(partitions[5152], g)

for i, partition in enumerate(partitions):
    assert len(partition) == n
    scores_by_part = [sum([v[1] for v in part]) for part in partition]
    result = sum(sgn(s) for s in scores_by_part)

    if not result in stats:
        stats[result] = []

    stats[result].append(
        (
            sorted(
                [sorted({v[0] for v in part}) for part in partition], key=lambda a: a[0]
            ),
            scores_by_part,
            i,
        )
    )

print("Stats:", [(k, len(stats[k])) for k in sorted(stats.keys(), reverse=True)])
print("Details: <partition> <scores> <points> <#>")
for k in sorted(stats.keys(), reverse=True):
    for p, s, i in stats[k]:
        print(p, s, k, "#%d" % i)

ハノイの塔の「和」に関する数列の一般化

前回の問題を一般化することにした。
e10s.hateblo.jp

問題・改

前回の問題と同様の最短手順で $n$ 段のハノイの塔を攻略するとき、

  • $k$ 番目に小さい円盤を $k$ とする(最小の円盤が $1$、最大の円盤が $n$)
  • 各手順について、円盤 $k$ の移動先の柱に点数 $f(k)$ が加算される
  • 最初の段階で各柱の点数は $0$ である

という条件のもとで攻略終了時の柱 $A, B, C$ の点数をそれぞれ $a_n, b_n, c_n$ として、それらを求めよ。

つまり、加算される点数が $k$ ではなく、$f(k)$ になった。

方針・改

ステップ 2 では $C$ に $f(n)$ 点加算されることに注意。すなわち、$$
\begin{empheq}[left=\empheqlbrace]{align}
a_n &= a_{n-1}+b_{n-1} \\
b_n &= a_{n-1}+c_{n-1} \\
c_n &= b_{n-1}+c_{n-1}+f(n)
\end{empheq}
$$という連立漸化式を解く。前回と同様、$a_0 = b_0 = c_0 = 0$ である。

解・改

z 変換

先の連立漸化式の辺々を z 変換すると、$$
\begin{empheq}[left=\empheqlbrace]{align}
A(z) &= z^{-1} A(z) + z^{-1} B(z) \\
B(z) &= z^{-1} A(z) + z^{-1} C(z) \\
C(z) &= z^{-1} B(z) + z^{-1} C(z) + \mathcal{Z}[f(n)]
\end{empheq}
$$である。これを変形すると、$$
\begin{empheq}[left=\empheqlbrace]{align}
A(z) &= \frac{1}{z-1} B(z) \\
B(z) &= \frac{z}{(z+1) (z-2)} \mathcal{Z}[f(n)] \\
C(z) &= A(z) + \frac{z}{z-1} \mathcal{Z}[f(n)]
\end{empheq}
$$が得られる。ここまでは前回と同様のアプローチ。さらに整理して、右辺を $z$ と $\mathcal{Z}[f(n)]$ で表すと、$$
\begin{empheq}[left=\empheqlbrace]{align}
A(z) &= \frac{z}{(z+1)(z-1)(z-2)} \mathcal{Z}[f(n)] \\
B(z) &= \frac{z}{(z+1)(z-2)} \mathcal{Z}[f(n)] \\
C(z) &= \qty[ \frac{z}{(z+1)(z-1)(z-2)} + \frac{z}{z-1} ] \mathcal{Z}[f(n)]
\end{empheq}
$$となる。部分分数分解しておくと、$$
\begin{empheq}[left=\empheqlbrace]{align}
A(z) &= \frac{1}{6} \qty[ \frac{z}{z+1} - \frac{3z}{z-1} + \frac{2z}{z-2} ] \mathcal{Z}[f(n)] \\
B(z) &= \frac{1}{3} \qty[ -\frac{z}{z+1} + \frac{z}{z-2} ] \mathcal{Z}[f(n)] \\
C(z) &= \frac{1}{6} \qty[ \frac{z}{z+1} + \frac{3z}{z-1} + \frac{2z}{z-2} ] \mathcal{Z}[f(n)]
\end{empheq}
$$が得られる。

逆 z 変換

$\mathcal{Z}[f(n)]$ の係数に注目したい。

$A(z), B(z), C(z)$ それぞれについて $\mathcal{Z}[f(n)]$ の係数の逆 z 変換を $a'_n, b'_n, c'_n$ とすると、$$
\begin{empheq}[left=\empheqlbrace]{align}
a'_n &= \frac{1}{6} \qty[ (-1)^n - 3 + 2^{n+1} ] = \frac{1}{6} [ 2^{n+1} - (-1)^{n+1} - 3 ] \\
b'_n &= \frac{1}{3} \qty[ -(-1)^n+ 2^n ] = \frac{1}{3} [ 2^n - (-1)^n ] \\
c'_n &= \frac{1}{6} \qty[ (-1)^n + 3 + 2^{n+1} ] = \frac{1}{6} [ 2^{n+1} - (-1)^{n+1} + 3 ]
\end{empheq}$$

Jacobsthal 数

Jacobsthal 数 $J_n$ は以下で表される数列らしい。

$$J_n = \frac{1}{3} [ 2^n - (-1)^n ]$$

en.wikipedia.org

まさに $b'_n = J_n$ である。さらに $a'_n, c'_n$ も $J_n$ で表すことができて、$$
\begin{empheq}[left=\empheqlbrace]{align}
a'_n &= \frac{1}{2} (J_{n+1} - 1) \\
b'_n &= J_n \\
c'_n &= \frac{1}{2} (J_{n+1} + 1)
\end{empheq}$$となる。

続・逆 z 変換

これまでの結果から、$$
\begin{empheq}[left=\empheqlbrace]{align}
A(z) &= \mathcal{Z}[a'_n] \mathcal{Z}[f(n)] \\
B(z) &= \mathcal{Z}[b'_n] \mathcal{Z}[f(n)] \\
C(z) &= \mathcal{Z}[c'_n] \mathcal{Z}[f(n)]
\end{empheq}
$$の辺々を逆 z 変換することで、$$
\begin{empheq}[left=\empheqlbrace]{align}
a_n &= a'_n * f(n) = \frac{1}{2} (J_{n+1} - 1) * f(n) \\
b_n &= b'_n * f(n) = J_n * f(n) \\
c_n &= c'_n * f(n) = \frac{1}{2} (J_{n+1} + 1) * f(n)
\end{empheq}$$となることがわかる。

例題

$n$ 段のハノイの塔の最短手順が $2^n-1$ 回であることを確かめよ。

$$f(n) = u(n-1) = \begin{cases}
1 & (n \geq 1) \\
0 & (otherwise) \\
\end{cases}
$$としたときの、$a_n+b_n+c_n$ を求めればよい。

$$\begin{align}a_n+b_n+c_n
&= \frac{1}{2} (J_{n+1} - 1) * u(n-1) + J_n * u(n-1) + \frac{1}{2} (J_{n+1} + 1) * u(n-1) \\
&= (J_{n+1} + J_n) * u(n-1) \\
&= 2^n * u(n-1) \\
&= \sum_{m=0}^\infty 2^m u(n-m-1) \\
&= \sum_{m=0}^{n-1} 2^m \\
&= 2^n-1
\end{align}$$

おわり。

所感

前回よりも sophisticated な理論展開ができた気がする。