LOGICAL FUNCTION LINOP(NP,BETA) C This function determines whether an autoregressive lag operator is inver- C tible, by seeing if the partial autocorrelation coefficients of the C corresponding autoregression are all less than one in absolute value. C The lag operator is 1 - Beta(1)*z - Beta(2)*z^2 - ... - Beta(p)*z^p. C Inputs: C NP Order of autoregression p C BETA AR coefficients, BETA(j)=Beta(j) C Output: C LINOP .TRUE. if invertible and .FALSE. if not IMPLICIT REAL*8 (A-H,O-Z) DIMENSION BETA(NP) PARAMETER(LD=100) COMMON/SCRA/V1(LD),V2(LD),A1(LD,LD),AD(LD,LD) LINOP=.FALSE. CALL DCOPY(NP,BETA,1,V2,1) IF(NP.EQ.1)GO TO 30 DO 20 K=NP,2,-1 RR=V2(K) IF(DABS(RR).GE.1.0D0)RETURN AA=1.0D0/(1.0D0-RR**2) K1=K-1 DO 10 I=1,K1 10 V1(I)=(V2(I)+RR*V2(K-I))*AA 20 CALL DCOPY(K1,V1,1,V2,1) 30 IF(DABS(V2(1)).GE.1.0D0)RETURN LINOP=.TRUE. RETURN END