Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions src/bibtex/all.bib
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,24 @@ @article{Marsaglia:1972
year={1972}
}

@article{Muller:1959,
author = {Muller, Mervin E.},
title = {A Note on a Method for Generating Points Uniformly on n-Dimensional Spheres},
year = {1959},
issue_date = {April 1959},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {2},
number = {4},
issn = {0001-0782},
url = {https://doi.org/10.1145/377939.377946},
doi = {10.1145/377939.377946},
journal = {Commun. ACM},
month = {apr},
pages = {19–20},
numpages = {2}
}

@book{HopcroftMotwani:2006,
title={Introduction to Automata Theory, Languages, and Computation},
author={Hopcroft, John E. and Rajeev Motwani},
Expand Down
2 changes: 1 addition & 1 deletion src/reference-manual/transforms.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -663,7 +663,7 @@ $$
To generate a unit vector, Stan generates points at random in
$\mathbb{R}^n$ with independent unit normal distributions, which are then
standardized by dividing by their Euclidean length.
@Marsaglia:1972 showed this generates points uniformly at random
@Muller:1959 showed this generates points uniformly at random
on $S^{n-1}$. That is, if we draw $y_n \sim \mathsf{Normal}(0, 1)$
for $n \in 1{:}n$, then $x = \frac{y}{\Vert y \Vert}$ has a uniform
distribution over $S^{n-1}$. This allows us to use an $n$-dimensional
Expand Down
4 changes: 2 additions & 2 deletions src/stan-users-guide/hyperspherical-models.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -93,15 +93,15 @@ compact in that the distance between any two points is bounded.

Stan (inverse) transforms arbitrary points in $\mathbb{R}^{K+1}$ to points
in $S^K$ using the auxiliary variable approach of
@Marsaglia:1972. A point $y \in \mathbb{R}^K$ is transformed to a
@Muller:1959. A point $y \in \mathbb{R}^K$ is transformed to a
point $x \in S^{K-1}$ by
$$
x = \frac{y}{\sqrt{y^{\top} y}}.
$$

The problem with this mapping is that it's many to one; any point
lying on a vector out of the origin is projected to the same point on
the surface of the sphere. @Marsaglia:1972 introduced an
the surface of the sphere. @Muller:1959 introduced an
auxiliary variable interpretation of this mapping that provides the
desired properties of uniformity; the reference manual contains the
precise definitions used in the chapter on constrained parameter
Expand Down