単位球体内の一様分布を生成する方法を見ていくシリーズ(目次)& 倭式極座標を見ていくシリーズ(目次)。 前回列挙した、一般次元での単位球体内・球面上の一様分布を任意の次元に拡張してみます。
球面上の一様分布は帰納的な定義(2次元低い一様分布を使って定義)しており、球体内の一様分布は1次元低い球面上の一様分布の式を用いて定義しています:
- 単位球面上の一様分布
- 【基底部】1次元球面(円周)、2次元球面(球面)上の一様分布
- 【再帰部】n 次元球面上の一様分布 ( ) ・・・ (n-2)次元球面上の一様分布を使って定義
- 単位球体内の一様分布
- n 次元球体内の一様分布 ( ) ・・・ (n-1) 次元球面上の一様分布を使って定義
前回は単位球体内の一様分布から とおいて単位球面上の一様分布を導出しましたが、ここでは単位球面上の一様分布を先に定義しています。 以下では、変数 に対して、 を区間 間に一様分布する変数とします。
1, 2次元球面上の一様分布
単位球面上の一様分布を再帰的に定義するために、まずは基底部(再帰を止める部分)の定義から。 再帰的な定義は n 次元単位球面上の一様分布を (n-2) 次元のもので定義するので、基底部は1, 2次元の2つが必要。 1次元球面(円周)上の一様分布は簡単。 ただし、倭式極座標に合わせた形にしてます(前回参照):
2次元球面(通常の球面)上の一様分布も倭式極座標に合わせて書いて、以下のようになります:
n 次元球面上の一様分布
次は本丸の再帰部の定義。 n 次元球面上の一様分布は、n-2 次元球面上の一様分布を用いて定義します。 この定義は倭式極座標の再帰定義から来ています(偶数次元、奇数次元の倭式極座標の定義を参照)。 が (n-2) 次元球面上の一様分布として
ここで はガウス記号で、 は を超えない最大の整数を表します。 ただし、これは偶数次元と奇数次元をまとめて書きつつ、変数 の番号付けを倭式極座標に合わせるためにしている小細工で、あまり詳細を気にする必要はありません。 また、倭式極座標を定義した際の と添字がずれていますが(倭式極座標のときは だった)、これは n 次元球体と n 次元球面で変数の添字がずれるためです。 これまた、あまり気にする必要はありません。 ちなみに
に対応しています。
便利のため、(n-1) 次元球面上の一様分布を計算する公式も書き下しておきます。 これは上記の公式で としただけのものです。 を (n-3) 次元球面上の一様分布として:
の範囲は となります()。
n 次元球体内の一様分布
最後は n 次元球体内の一様分布。 これは (n-1) 次元球面の一様分布を使うと簡単に書けます。 を ( ) 次元球面上の一様分布として
となります。
に対応しています。 これで n 次元単位球面上、単位球体内の一様分布を計算する公式が書き下せました。 一般化するとちょっとごちゃごちゃしてる感が否めませんが、一様分布と簡単な初等関数しか使ってません。 これも倭式極座標のなせる技。 後はこれを使ってこれらの一様分布を生成するコードを書いてみないとね。 そのうちに。