Skip to content

Latest commit

 

History

History
105 lines (78 loc) · 2.95 KB

random.md

File metadata and controls

105 lines (78 loc) · 2.95 KB
# Random Numbers #

Torch provides accurate mathematical random generation, based on Mersenne Twister random number generator.

## Seed Handling ##

The random number generator is provided with a random seed via seed() when torch is being initialised. It can be reinitialized using seed() or manualSeed().

Initial seed can be obtained using initialSeed().

Setting a particular seed allows the user to (re)-generate a particular sequence of random numbers. Example:

> torch.manualSeed(123)
> = torch.uniform()
0.69646918727085
> return  torch.uniform()
0.71295532141812
> return  torch.uniform()
0.28613933874294
> torch.manualSeed(123)
> return  torch.uniform()
0.69646918727085
> return  torch.uniform()
0.71295532141812
> return  torch.uniform()
0.28613933874294
> torch.manualSeed(torch.initialSeed())
> return  torch.uniform()
0.69646918727085
> return  torch.uniform()
0.71295532141812
> return  torch.uniform()
0.28613933874294
### [number] seed() ###

Set the seed of the random number generator using /dev/urandom (on Windows the time of the computer with granularity of seconds is used). Returns the seed obtained.

### manualSeed(number) ###

Set the seed of the random number generator to the given number.

### initialSeed() ###

Returns the initial seed used to initialize the random generator.

### [number] random() ###

Returns a 32 bit integer random number.

### [number] uniform([a],[b]) ###

Returns a random real number according to uniform distribution on [a,b[. By default a is 0 and b is 1.

### [number] normal([mean],[stdv]) ###

Returns a random real number according to a normal distribution with the given mean and standard deviation stdv. stdv must be positive.

### [number] exponential(lambda) ###

Returns a random real number according to the exponential distribution ''p(x) = lambda * exp(-lambda * x)''

### [number] cauchy(median, sigma) ###

Returns a random real number according to the Cauchy distribution ''p(x) = sigma/(pi*(sigma^2 + (x-median)^2))''

### [number] logNormal(mean, stdv) ###

Returns a random real number according to the log-normal distribution, with the given mean and standard deviation stdv. stdv must be positive.

### [number] geometric(p) ###

Returns a random integer number according to a geometric distribution ''p(i) = (1-p) * p^(i-1). pmust satisfy0 < p < 1''.

### [number] bernoulli([p]) ###

Returns 1 with probability p and 0 with probability 1-p. p must satisfy 0 <= p <= 1. By default p is equal to 0.5.