Initializes a reference vector for use with DRANDGENERALDISCRETE. Reference vector is for a Geometric distribution with probability, \(f (X)\), defined by:
\[f (X) = P (1 – P )^X , X = 0, 1,\dotsi\]
C Generate 100 values from the Geometric distribution
INTEGER LSTATE,N
PARAMETER (LSTATE=16,N=100)
INTEGER I,INFO,SEED(1),STATE(LSTATE)
DOUBLE PRECISION P
INTEGER X(N)
INTEGER LREF
DOUBLE PRECISION REF(1000)
C Set the seed
SEED(1) = 1234
C Read in the distributional parameters
READ(5,*) P
C Initialize the STATE vector
CALL DRANDINITIALIZE(1,1,SEED,1,STATE,LSTATE,INFO)
C Initialize the reference vector
LREF = 1000
CALL DRANDGEOMETRICREFERENCE(P,REF,LREF,INFO)
C Generate N variates from the Geometric distribution
CALL DRANDGENERALDISCRETE(N,REF,STATE,X,INFO)
C Print the results
WRITE(6,*) (X(I),I=1,N)