       Re: Normal distribtion

• To: mathgroup at smc.vnet.net
• Subject: [mg49281] Re: Normal distribtion
• From: "Roger L. Bagula" <rlbtftn at netscape.net>
• Date: Sun, 11 Jul 2004 02:16:15 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```I'll restate it again:
I was trying to get a random over the whole number line
by taking a projective line.
2*x/(1+xup2)=Sin[2*Pi*y]
(1-xup2)/(1+xup2)=Cos[2*Pi*y]
(Using up for "^" as it still isn't coming through as Ascii)
y has domain [0,1]
x has domain [-Infinity, Infinity]
I, then, use that solved result for x from the for
a value to get an amplitude from a Gaussian distribution.
I only added the Sign[2*Random-1] so it would give equal
on both sides of zero.
In most cases a Gaussian is used as symmetrical about a mean/ median or
zero.
That my result behaves in a more Lorentzian fashion as Drbob and Ray
Kooperman  continue to point out is something I'm investigating.
I appreciate the time they have both spent on this.
It is my hope they don't turn around and publish about it.
I have a lot of detractors, but in most cases they tend to admit
,grudgingly, that my result is new and worth while.

and many results.

Roger L. Bagula wrote:
> I found a better faster way to get a Gaussian/ white noise:
> In Mathematica notebook style:
>
> x[a_]=(1+Sqrt[1-a^2))/a
> Noise=Table[Exp[-x[Sin[2*Pi*Random[]]]^2/2/Sqrt[2*Pi],{n,1,500}]
> ListPlot[noise,PlotRange--> All,PlotJoined->True]
>
> It is a projective line ( circle to line random taken as the basic for a
> normal distribution's amplitude.) based algorithm.
> Since it doesn't use either the polar method with has a choice loop or
> the older 12 random method, the random operation has only to be used
> once for each noise value.
> It is faster by several factors and can be translated to almost any
> language.
> George Marsaglia wrote:
>
>>"philou" <philou2000 at msn.com> wrote in message
>>
>>
>>>Hi,
>>>I heard that it was possible to get a realisation of a normal
>>>distribution from two realisations of an uniform distribution. Can
>>>someone explain me how to do that ? What transformations should I do ?
>>
>>
>>Your hazy reference may have been based on my polar method for
>>generating a pair of independent standard normal variates X and Y:
>>
>>If U and V are independent uniform in (-1,1), conditioned by
>>
>>               S = U^2+V^2 < 1
>>
>>then S is uniform in (0,1) and independent of the point
>>(U/sqrt(S),V/sqrt(S)), which is uniform on the unit circumference.
>>
>>Thus if R=sqrt(-2*ln(S)/S) then
>>      X=R*U
>>      Y=R*V
>>are a pair independent standard normal variates, obtained by
>>projecting that uniform point on the unit circumference
>>a random distance with a root-chi-square-2 distribution,
>>exploiting the uniformity of S and its independence of
>>the random point on the circumference.
>>
>>Of course one has to discard uniform (-1,1) pairs U,V
>>for which S=U^2+V^2>1, so each normal variate is produced
>>at an average cost of 4/pi=1.27 uniform variates.
>>
>>This method is sometimes improperly attributed to Box and Muller,
>>who pointed out that pairs of normal variates could be generated as
>>rho*cos(theta), rho*sin(theta) with rho root-chisquare-2 , sqrt(-2*ln(U)),
>> and theta uniform in (0,2pi), a result we owe to Laplace, who showed us
>>how to find  the infinite integral of exp(-x^2) by getting its square
>>as the integral of exp(-x^2-y^2), then transforming to polar coordinates.
>>
>>For a method faster than my polar method, requiring about 1.01 uniform
>>variates per normal variate, try the ziggurat method of
>>Marsaglia and Tsang, in volume 5, Journal of Statistical Software:
>>  http://www.jstatsoft.org/index.php?vol=5
>>
>>George Marsaglia
>>
>>
>
>

--
Respectfully, Roger L. Bagula