SUBROUTINE REPAR(THETA,KPARS) PARAMETER(LD=100) IMPLICIT REAL*8 (A-H,O-Z) COMMON/AAML/WT,PRI,PDAT,PAR(250),ITER,NPAR,LWRITE COMMON/CONST/DLOG2,DLGPI,HLG2PI COMMON/SCRATCH/V1(LD),V2(LD),A1(LD,LD),A2(LD,LD) LOGICAL LWRITE DIMENSION THETA(KPARS) KPARS=JPARS CALL DCOPY(NKM,PAR,1,THETA,1) L=LH0 DO 10 J=1,NM DO 10 I=J,NM L=L+1 A1(I,J)=PAR(L) 10 A1(J,I)=A1(I,J) CALL DLFTDS(NM,A1,LD,A2,LD) AA=C0 L=NKM DO 30 IM=1,NM DO 20 JM=1,IM L=L+1 20 THETA(L)=A2(JM,IM) BB=DLOG(A2(IM,IM)) THETA(L)=BB 30 AA=AA+(AM2-IM)*BB PRI=PRI+AA RETURN ENTRY REPAR0 READ(5,*)NK,NM NKM=NK*NM NM2=NM*(NM+1)/2 MPAR=2*NKM+NM2 IF(MPAR.NE.NPAR)GO TO 110 JPARS=NKM+NM2 LH0=2*NKM AM2=NM+2 C0=NM*DLOG2 RETURN 110 WRITE(6,115)NK,NM,NPAR 115 FORMAT(/,' *** VALUES NK=',I3,' NM=',I3,' INCONSISTENT WITH', 1 I4,' PARAMETRS') CALL TERM END LOGICAL FUNCTION LRANGE(NK,THETA,LALL) IMPLICIT REAL*8 (A-H,O-Z) LOGICAL LALL LALL=.TRUE. LRANGE=.TRUE. RETURN END