rndKMgam#
Purpose#
Computes Gamma pseudo-random numbers.
Format#
- { x, newstate } = rndKMgam(r, c, alpha, state)#
- Parameters:
r (scalar) – number of rows of resulting matrix.
c (scalar) – number of columns of resulting matrix.
alpha (matrix or vector or scalar) – Shape argument for gamma distribution. ExE conformable with the row and column dimensions of the return matrix, r and c.
state (scalar or 500x1 vector) –
scalar case
state = starting seed value only. If -1, GAUSS computes the starting seed based on the system clock.
500x1 vector case
state = the state vector returned from a previous call to one of the
rndKM
random number functions.
- Returns:
x (RxC matrix) – Gamma distributed random numbers.
newstate (500x1 vector) – the updated state.
Remarks#
The properties of the pseudo-random numbers in x are:
To generate gamma(alpha, theta)
pseudo-random numbers where theta is a
scale parameter, multiply the result of rndKMgam()
by theta.
Thus
z = theta * rndgam(1, 1, alpha);
has the properties
r and c will be truncated to integers if necessary.
Technical Notes#
rndKMgam()
uses the recur-with-carry KISS+Monster algorithm described in the rndKMi()
Technical Notes.
Source#
randkm.src