* G13AGF Example Program Text * Mark 14 Revised. NAG Copyright 1989. * .. Parameters .. INTEGER NPMAX, NSTMAX, NUVMAX, NWAMAX PARAMETER (NPMAX=10,NSTMAX=50,NUVMAX=50,NWAMAX=150) INTEGER NIN, NOUT PARAMETER (NIN=5,NOUT=6) * .. Local Scalars .. DOUBLE PRECISION C INTEGER I, IFAIL, NPAR, NST, NUV, NWA * .. Local Arrays .. DOUBLE PRECISION ANEXR(NUVMAX), ANX(NUVMAX), PAR(NPMAX), + ST(NSTMAX), WA(NWAMAX) INTEGER MR(7) * .. External Subroutines .. EXTERNAL G13AGF * .. Intrinsic Functions .. INTRINSIC MAX * .. Executable Statements .. WRITE (NOUT,*) 'G13AGF Example Program Results' * Skip heading in data file READ (NIN,*) READ (NIN,*) NUV READ (NIN,*) (MR(I),I=1,7) NPAR = MR(1) + MR(3) + MR(4) + MR(6) NST = MR(4)*MR(7) + MR(5)*MR(7) + MR(2) + MR(3) + MAX(MR(1),MR(6) + *MR(7)) NWA = 4*NPAR + 3*NST IF (NUV.GT.0 .AND. NUV.LE.NUVMAX .AND. NPAR.GT.0 .AND. NPAR.LE. + NPMAX .AND. NST.GT.0 .AND. NST.LE.NSTMAX) THEN READ (NIN,*) (PAR(I),I=1,NPAR), C READ (NIN,*) (ST(I),I=1,NST) READ (NIN,*) (ANX(I),I=1,NUV) IFAIL = 0 * CALL G13AGF(ST,NST,MR,PAR,NPAR,C,ANX,NUV,ANEXR,WA,NWA,IFAIL) * WRITE (NOUT,*) WRITE (NOUT,*) + 'The updated state set array now holds the values' WRITE (NOUT,99999) (ST(I),I=1,NST) WRITE (NOUT,*) WRITE (NOUT,99998) 'The residuals corresponding to the', NUV WRITE (NOUT,*) 'values used to update the system are' WRITE (NOUT,99999) (ANEXR(I),I=1,NUV) END IF * 99999 FORMAT (1X,8F8.4) 99998 FORMAT (1X,A,I3,A) END