### Generating Random Samples

My notes on probability are scattered here and there.

First, a Random number generator in Scheme.
When we have a probability distribution we can propose a program that generates random samples from that distribution.
Here are some pointers to such programs, mainly on this site.
First some notation:

- If p<q then U(p, q) denotes a uniform continuous probability distribution between p and q.
For reals, x & y, if p ≤ x ≤ y ≤ q then the probability associated with the sub-interval [x, y] is (y−x)/(q−p).
- If v>0 then N(μ, v) denotes a normal distribution with mean μ and variance v.
Its PDF is e
^{(μ−x)2/(2v)}/√(2πv).

To choose a point in a sphere {(x, y, z)| xx+yy+zz < 1}, put a cube [−1, 1]^{3} around the sphere, choose 3 samples from U[−1, 1] and use those to define a point in the cube.
Keep this up until you find one also in the sphere.

This works fine in 2D, 3D and 4D but becomes inefficient for greater dimensions.
For k dimensions form a vector V with k components, each chosen from N(0, 1).
Normalize V. (Divide V by its length.)
That selects a random point on S^{k−1}, the surface of the k dimensional ball.
If you want a random point within the ball multiply V by X^{1/k} where X is drawn from U(0, 1).

Here is how to choose a Random Normal Deviate from N(0, 1).

Random point in Simplex

Lambertian Reflection describes how photons and particles rebound from a rough surface.

#### Groups

Here are two invariant distributions over a group, the 1st discrete and the 2nd continuous.

Random Permutation in C

Random Orthogonal Matrices

Constructing a Brownian Function

Most of these cases involve a group on the space to be sampled.
Often it is natural to specify that some measure is invariant under that group.
Such cases have a geometric flavor.
The Cumulative Distribution Function (CDF)

Copula

Distribution of products of two samples from U(0, 1).

White
Bertrand’s ‘Paradox’