(n − 1) 次元球面から一様に無作為に
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/23 05:07 UTC 版)
「超球面」の記事における「(n − 1) 次元球面から一様に無作為に」の解説
一様に分布したランダム点を (n − 1) 次元球面(すなわち n 次元球の表面)上に生成するために、Marsaglia (1972) は以下のアルゴリズムを与える。 正規分布に従う n 次元ベクトル x = ( x 1 , x 2 , … , x n ) {\displaystyle \mathbf {x} =(x_{1},x_{2},\ldots ,x_{n})} を生成する(実は分散の選択は任意であるが N(0, 1) を使うので十分である)。 今この点の「半径」 r = x 1 2 + x 2 2 + ⋯ + x n 2 {\displaystyle r={\sqrt {x_{1}^{2}+x_{2}^{2}+\cdots +x_{n}^{2}}}} を計算する。 ベクトル 1 r x {\displaystyle {\frac {1}{r}}\mathbf {x} } は単位 n 次元球の表面上一様に分布している。
※この「(n − 1) 次元球面から一様に無作為に」の解説は、「超球面」の解説の一部です。
「(n − 1) 次元球面から一様に無作為に」を含む「超球面」の記事については、「超球面」の概要を参照ください。
- 次元球面から一様に無作為にのページへのリンク