Chapter Contents

Previous

Next
RANGAM

RANGAM



Returns a random variate from a gamma distribution

Category: Random Number
Tip: If you want to change the seed value during execution, you must use the CALL RANGAM routine instead of the RANGAM function.


Syntax
Arguments
Details
Comparisons
See Also

Syntax

RANGAM(seed,a)

Arguments

seed
is an integer. For more information on seeds, see Seed Values.
Range: seed < 231-1
Note: If seed [le] 0, the time of day is used to initialize the seed stream.

a
is a numeric shape parameter.
Range: a > 0.


Details

The RANGAM function returns a variate that is generated from a gamma distribution with parameter a. For a > 1, an acceptance-rejection method due to Cheng (1977) (See References) is used. For a [le] 1, an acceptance-rejection method due to Fishman is used (1978, Algorithm G2) (See References).

A gamma variate X with shape parameter ALPHA and scale BETA can be generated:

x=beta*rangam(seed,alpha);

If 2*ALPHA is an integer, a chi-square variate X with 2*ALPHA degrees of freedom can be generated:

x=2*rangam(seed,alpha);

If N is a positive integer, an Erlang variate X can be generated:

x=beta*rangam(seed,N);

It has the distribution of the sum of N independent exponential variates whose means are BETA.

And finally, a beta variate X with parameters ALPHA and BETA can be generated:

y1=rangam(seed,alpha);
y2=rangam(seed,beta);
x=y1/(y1+y2);


Comparisons

The CALL RANGAM routine, an alternative to the RANGAM function, gives greater control of the seed and random number streams.

See Also

Call routine:

CALL RANGAM


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.