Generates an array of random variates from a Multivariate Students T distribution using a reference vector initialized by DRANDMULTISTUDENTSTREFERENCE.
C Generate 100 values from the
C Multivariate Students T distribution
INTEGER LSTATE,N, MM
PARAMETER (LSTATE=16,N=100,MM=10)
INTEGER I,J,INFO,SEED(1),STATE(LSTATE)
INTEGER LDC,LDX,M,DF
DOUBLE PRECISION X(N,MM),XMU(MM),C(MM,MM)
INTEGER LREF
DOUBLE PRECISION REF(1000)
C Set array sizes
LDC = MM
LDX = N
C Set the seed
SEED(1) = 1234
C Read in the distributional parameters
READ(5,*) M,DF
READ(5,*) (XMU(I),I=1,M)
DO 20 I = 1,M
READ(5,*) (C(I,J),J=1,M)
20 CONTINUE
C Initialize the STATE vector
CALL DRANDINITIALIZE(1,1,SEED,1,STATE,LSTATE,INFO)
C Initialize the reference vector
LREF = 1000
CALL DRANDMULTISTUDENTSTREFERENCE(M,DF,XMU,C,LDC,REF,LREF,INFO)
C Generate N variates from the
C Multivariate Students T distribution
CALL DRANDMULTISTUDENTSTR(N,REF,STATE,X,LDX,INFO)
C Print the results
DO 40 I = 1,N
WRITE(6,*) (X(I,J),J=1,M)
40 CONTINUE