Delila Program: normal

# normal program

## By downloading this code you agree to the Source Code Use License (PDF). Pascal source code: normal.p (wget instructions) Instructions on compiling MacOS binary: normal Alphabetic List of Delila Programs Delila Programs by Most Recent Update Please report broken links delilabundle.zip = All Programs and MacOS Binaries Copyright Statement for Delila Programs

### Documentation for the normal program is below, with links to related programs in the "see also" section.

```{version = 3.17; (* of normal.p 1994 sep 5}

(* begin module describe.normal *)
(*
name
normal: generate normally distributed random numbers

synopsis
normal(normalp:in, data: out, output: out)

files
normalp: parameter file controlling the program.
Two numbers, one per line:
seed: random seed to start the process
total: the number of numbers to generate
data: This is a set of numbers which should have Gaussian distribution
if the random number generator is a reasonable one.
It will be N(0,1), a normal distribution
with mean 0 and standard deviation 1.
genhisp: control file for the genhis histogram plotting program.
output: messages to the user

description
Test of a random number generator by creating a gaussian
distribution of numbers for plotting by genhis.
Method: if U is a member of the set [0..1] and Un and Un+1
are two members, then define
theta = Un 2 pi
r     = sqrt(-2 ln(Un+1))
then when these polar coordinates are converted to Cartesian
coordinates, one gets two independent Normally distributed numbers,
with mean 0 and standard deviation 1.  To get other standard deviations
multiply by a constant, and to get other means, add a constant.

The proof was from a friend; I only have sketch notes at the moment.
I'm sure it is available in standard texts.  However, it works,
as shown by the example.

example
seed := 0.5;
total := 10000;
The mean was 0.00 (to two places) and the standard deviation was 1.01.

see also
gentst.p, tstrnd.p, genhis.p

author
Tom Schneider
Frederick, Maryland
toms@alum.mit.edu

bugs
none known

*)
(* end module describe.normal *)
{This manual page was created by makman 1.45}

```
{created by htmlink 1.62}