SUBROUTINE GAU2(K,H0,LDH0,H1,LDH1,HB0,HB1,THETA1,THETA2) C This routine generates two, antithetic, drawings from the posterior C distribution, given a Gaussian prior and Gaussian likelihood. C Inputs: C K Order of distribution C H0 Prior precision matrix C LDH0 Leading dimension of H0 C H1 Data precision matrix C LDH1 Leading dimension of H1 C HB0 Product of prior precision matrix and mean C HB1 Product of data precision matrix and mean C Outputs: C THETA1 Drawing from postrior C THETA2 Antithetic of THETA1 IMPLICIT REAL*8 (A-H,O-Z) PARAMETER(LD=100) COMMON/SCRA/V1(LD),V2(LD),A1(LD,LD),A2(LD,LD) DIMENSION H0(LDH0,K),H1(LDH1,K),HB0(K),HB1(K), 1 THETA1(K),THETA2(K) C Compute posterior precision CALL UMADD(K,K,H0,LDH0,H1,LDH1,A2,LD) C Compute posterior mean CALL UVADD(K,HB0,HB1,V1) CALL DLSLDS(K,A2,LD,V1,V2) C Draw realization CALL GAU(K,V2,A2,LD,THETA1,THETA2) RETURN END