もろみ先輩読書

この記事では一般$d$次元超球の体積について,その求め方をご紹介します。

超球の体積の求め方は幾つか知られていますが,ここでは僕が直感的に分かりやすいと思っている導出方法をご紹介します。

超球の体積をすっきり書くためにガンマ関数を用いますので,最初にガンマ関数とは何かという事についても少し触れておきます。

それでは早速やっていきましょう!

ガンマ関数とその性質

ここでは特殊関数の1つであるガンマ関数の定義とその性質について簡単に紹介します。

まずは定義ですが,以下のようになります。

$$
\Gamma(x) = \int_{0}^{\infty} t^{x-1} e^{-t} dt
$$

突然この定義を見てもよくわからないかと思いますが,次の性質を見ればガンマ関数の正体がわかると思います。

$\forall n \in \mathbb{N}$について

$$
\Gamma(n+1) = n!
$$

つまりガンマ関数は正の整数に対しては,それを$-1$したものの階乗になっています。

それもそのはずで,ガンマ関数は階乗の概念を実数全体(もっと言うと複素数全体)に拡張するために作られた関数なのです。

この,ガンマ関数が階乗の一般化となっている性質は次の式から容易に導かれます。

$$
\Gamma(x+1) = x \Gamma(x)
$$

これを確かめてみましょう。

\begin{align}
\Gamma(x+1) &= \int_{0}^{\infty} t^{x} e^{-t} dt \\
&= [ – t^{x} e^{-t} ]_{0}^{\infty} + x \int_{0}^{\infty} t^{x-1} e^{-t} dt \\
&= x \Gamma(x)
\end{align}

ここで最後の等式には$t^{x}/e^{t}$が$t \rightarrow \infty$で$0$に収束する($t^{x}$より$e^{t}$の方が発散スピードが早い)ことを使っています。

後ほど利用するので$\Gamma(1/2)$を求めておきましょう。

$$
\Gamma \left(\frac{1}{2}\right) = \int_{0}^{\infty} t^{-\frac{1}{2}} e^{-t} dt
$$

ですが,$t=u^{2}$と変数変換して

\begin{align}
\Gamma \left(\frac{1}{2}\right) &= 2 \int_{0}^{\infty} e^{-u^{2}} du \\
&= 2 \cdot \frac{\sqrt{\pi}}{2} = \sqrt{\pi}
\end{align}

ここでガウス積分の結果($\int_{-\infty}^{\infty} e^{-u^{2}} du = \sqrt{\pi}$)を用いています。

単位球の体積に関する漸化式

まず単位球というものを定義します。これは半径が$1$の超球のことで,$\mathbb{R}^{d}$上の単位球は次のように定義されます。

$$
B(0,1) = \{ \boldsymbol{x} \in \mathbb{R}^{d} \; | \; x_{1}^{2}+x_{2}^{2}+\cdots+x_{d}^{2} \leq 1 \}
$$

まずはこの単位球の体積$V_{d}$と半径が$R$の超球の体積との関係を考えてみます。

半径$R$の超球の積分範囲は$B(0,R)$なのでその体積は

$$
\int_{B(0,R)} d\boldsymbol{x} = \int_{0}^{2\pi} \! \int_{0}^{\pi} \! \int_{0}^{R} r^{d-1} \prod_{i=1}^{d-2} \sin^{d-i-1} \theta_{i} dr d\theta_{1} \cdots d\theta_{d-1}
$$

となります。
※高次元の極座標積分については以下の記事で詳しく説明していますので気になる方はご参照ください

ここで$\rho := r/R$と変数変換すれば上記の積分は

$$
\int_{B(0,R)} d\boldsymbol{x} = R^{d} \int_{0}^{2\pi} \! \int_{0}^{\pi} \! \int_{0}^{1} \rho^{d-1} \prod_{i=1}^{d-2} \sin^{d-i-1} \theta_{i} d\rho d\theta_{1} \cdots d\theta_{d-1} = R^{d}V_{d}
$$

となり,半径を$R$倍することで体積は$R^{d}$倍されていることが分かりますね。

以上より単位超球の体積$V_{d}$が分かれば半径を変えたときの体積も容易に分かるので$V_{d}$を求めていきましょう。

ここで超球の積分のポイントですが,重要なのは

$d$次元上の積分を原点を通るある直線(1次元)上の積分に置き換える事

です。つまり図で表すと次のような感じです。

直線はどの向きに引いてもいいのですが,ここでは簡単のために$d$次元目の軸$x_{d}$という事にしておきましょう。すなわち$t:=x_{d}$と変数変換をします。

このとき軸$t$に直交する断面は$d-1$次元の超球となっていることが分かります。
($3$次元球のときを考えれば$2$次元球(円)となっていることがわかるかと思います)

数式で書けば,ある$t$における断面は次のようになります。

$$
B(0,\sqrt{1-t^{2}}) = \{ \boldsymbol{x} \in \mathbb{R}^{d-1} \; | \; x_{1}^{2}+x_{2}^{2}+\cdots+x_{d-1}^{2} \leq 1-t^{2} \}
$$

ここで半径が$t$の値によって変化していることに注意してください。

以上より,$d$次元単位球$B(0,1)$の体積$V_{d}$は,$t$に沿った半径$\sqrt{1-t^{2}}$の$d-1$次元超球の積分(足し合わせ)だということが分かります。

あとは断面積が$\sqrt{1-t^{2}}^{d-1} V_{d-1}$であることを使って,求める積分は次のように書き換えられます。

\begin{align}
V_{d} &= \int_{-1}^{1} \sqrt{1-t^{2}}^{d-1} V_{d-1} dt \\
&= 2 V_{d-1} \int_{0}^{1} \sqrt{1-t^{2}}^{d-1} dt
\end{align}

ここで最後の等式では対称性から正当化されます。

更に$t=\sin \theta$と置換すれば

$$
V_{d} = 2 V_{d-1} \int_{0}^{\frac{\pi}{2}} \cos^{d} \theta d\theta
$$

となります。

あとは$\cos^{d} \theta$の積分ですが,これは漸化式を作って求める必要があります。

$$
I_{d} := \int_{0}^{\frac{\pi}{2}} \cos^{d} \theta d\theta
$$

とおけば部分積分を用いて

\begin{align}
I_{d} &= \int_{0}^{\frac{\pi}{2}} \cos^{d-1} \theta (\sin \theta)^{\prime} d\theta \\
&= [\cos^{d-1} \theta \sin \theta]_{0}^{\frac{\pi}{2}} – \int_{0}^{\frac{\pi}{2}} (d-1) \cos^{d-2} \theta (-\sin \theta) \sin \theta d\theta \\
&= (d-1) \int_{0}^{\frac{\pi}{2}} \cos^{d-2} \theta \sin^{2} \theta d\theta \\
&= (d-1) \int_{0}^{\frac{\pi}{2}} \cos^{d-2} \theta (1-\cos^{2} \theta) d\theta \\
&= (d-1) \{ \int_{0}^{\frac{\pi}{2}} \cos^{d-2} \theta d\theta – \int_{0}^{\frac{\pi}{2}} \cos^{d} \theta d\theta \} \\
&= (d-1) (I_{d-2} – I_{d})
\end{align}

これを整理すれば

$$
I_{d} = \frac{d-1}{d} I_{d-2}
$$

という漸化式になります。これより$I_{d}$を求めていきますが,途中で必要になるので次を算出しておきます。

\begin{align}
I_{0} &= \int_{0}^{\frac{\pi}{2}} d\theta = \frac{\pi}{2} \\
I_{1} &= \int_{0}^{\frac{\pi}{2}} \cos \theta d\theta = [\sin \theta]_{0}^{\frac{\pi}{2}} = 1
\end{align}

更に$I_{d}$は$d$が偶数か奇数かで若干形が変わってきますので場合分けして考えていきます。

$d$が偶数のとき

$$
I_{d} = \frac{d-1}{d} I_{d-2} = \frac{d-1}{d} \frac{d-3}{d-2} I_{d-4} = \cdots = \frac{(d-1)!!}{d!!} I_{0} = \frac{\pi}{2} \frac{(d-1)!!}{d!!}
$$

$d$が奇数のとき

$$
I_{d} = \frac{d-1}{d} I_{d-2} = \frac{d-1}{d} \frac{d-3}{d-2} I_{d-4} = \cdots = \frac{(n-1)!!}{n!!} I_{1} = \frac{(n-1)!!}{n!!}
$$

 となります。

ここで$d!!$は二重階乗と呼ばれるもので,一つ飛ばしの階乗です。数式で書けば次の通りです。

$$
d!! := \prod_{k=0}^{\lceil d/2 \rceil -1} (d-2k)
$$

これより$d$次元単位球の体積の漸化式が次のように立てられることが分かります。

$d$が偶数のとき

$$
V_{d} = \pi \frac{(d-1)!!}{d!!} V_{d-1}
$$

$d$が奇数のとき

$$
V_{d} = 2 \frac{(d-1)!!}{d!!} V_{d-1}
$$

やっとこれで単位球の漸化式が求まりました!

漸化式から体積を求める

いよいよこの漸化式を用いて$V_{d}$を陽に求めていきます。

ここで$V_{1} = \int_{-1}^{1} dx = 2$である事に注意してください。

最終的にはどちらも同じになるのですが,一応偶奇で分けて考えていきましょう。

$d$が偶数のとき

\begin{align}
V_{d} &= \pi \frac{(d-1)!!}{d!!} V_{d-1} \\
&= 2\pi \frac{(d-1)!!}{d!!} \frac{(d-2)!!}{(d-1)!!} V_{d-2} \\
&= \frac{\pi}{\frac{d}{2}} V_{d-2} = \frac{\pi^{2}}{\frac{d}{2} (\frac{d}{2}-1)} V_{d-4} = \cdots = \frac{\pi^{\frac{d}{2}}}{(\frac{d}{2})!} \\
&= \frac{\pi^{\frac{d}{2}}}{\Gamma \left(\frac{d}{2}+1 \right)}
\end{align}

$d$が奇数のとき

\begin{align}
V_{d} &= \frac{\pi^{\frac{d-1}{2}}}{\frac{d}{2}(\frac{d}{2}-1)\cdots \frac{1}{2}} \\
&= \frac{\pi^{\frac{d}{2}}}{\frac{d}{2}(\frac{d}{2}-1)\cdots \frac{1}{2} \sqrt{\pi}} \\
&= \frac{\pi^{\frac{d}{2}}}{\Gamma \left(\frac{d}{2}+1 \right)}
\end{align}

ここで最後の等式は$\Gamma(1/2)=\sqrt{\pi}$であることを用いています。

以上より$d$次元単位球の体積は次元の偶奇に関わらず次のように書けます。

$$
V_{d} = \frac{\pi^{\frac{d}{2}}}{\Gamma \left(\frac{d}{2}+1\right)}
$$

最後に一般の半径$R$の超球について体積は次のようになります。

$$
R^{d} V_{d} = R^{d} \frac{\pi^{\frac{d}{2}}}{\Gamma \left(\frac{d}{2}+1\right)}
$$

まとめ

今回は高次元空間上の超球の体積の求め方についてご説明しました。

求め方のポイントは変数変換と漸化式を上手く駆使するところかと思います。

実は超球上の関数の積分をする場合にもこの辺りは肝になってきますので一度手を動かしてやってみることをオススメします。

それではお疲れ様でした!