Skip to content

Latest commit

 

History

History
106 lines (78 loc) · 2.93 KB

random.md

File metadata and controls

106 lines (78 loc) · 2.93 KB
# Random Numbers #

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

## Seed Handling ##

If no seed is provided to the random generator (using seed() or manualSeed()), a random seed will be set according to seed() the first time a random number is generated.

Initial seed can be obtained using initialSeed().

Setting a particular seed allows the user to (re)-generate a particular serie 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 according to the time of the computer. Granularity is seconds. 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.