Maxwell's distribution using Box-Muller transform
The implementation of Gaussian(Random random) does not match the description. You should add the comment about the polar form. I know the equivalence. Some reviewers may not.
Polar form comes with the price. The loop

    do
    {
        x = Uniform(random, -1.0, 1.0);
        y = Uniform(random, -1.0, 1.0);
        r = x * x + y * y;
    }
    while (r &gt;= 1 || r == 0);


is potentially infinite. I'd be scared to see it in the production code.
The Wiki article warns against the price of the basic form coming from the computation of \$\sin\$ and \$\cos\$. I don't buy it. sincos is cheap. Thou shalt profile.
The condition r == 0 is pretty much guaranteed to fail, and I wouldn't trust the result of Math.Log(r) / r for really small r. Do not compare floating point values for equality. Chose an \$\epsilon\$, and compare for r &lt; eps.
Maxwell calls MaxwellComponent three times, and each time MaxwellComponent computes the same MaxwellVariance. Seems excessive.