SUBROUTINE CHKGOF G (NS , DVAL Y ,DFLG ) C C *************************************************************** C * UNCLASSIFIED * C *************************************************************** C C CALLING SEQUENCE C SUBROUTINE CHKGOF C G (NS , DVAL C Y ,DFLG ) C C AUTHOR C OLIVER D. SMITH (EG&G WASC) C CODE READ BY C WILLIAM H. FARR (B10, NSWCDD) C PURPOSE C TO DETERMINE IF THE CALCULATED KOLMOGOROV DISTANCE IS SIGNIFI- C CANT C DESCRIPTION C THE ROUTINE PERFORMS A TABLE LOOK-UP (WITH LINEAR INTERPOLATION C IF NEEDED) FOR SAMPLE SIZES UNDER 50, OR COMPUTES THE VALUE US- C ING THE ASYMPTOTIC FORMULA FOR SAMPLE SIZES OVER 50. C C THAT OBTAINED POINT OF SIGNIFICANCE (AT THE 0.05 LEVEL) IS THEN C COMPARED TO THE GIVEN KOLMOGOROV DISTANCE TO DETERMINE IF THE C MODEL SHOULD BE REJECTED. C ASSUMPTIONS C (NONE) C RESTRICTIONS C (NONE) C PARAMETER GLOSSARY C (NONE) C GLOBAL GLOSSARY C (NONE) C ARGUMENT LIST C GIVEN C DVAL (R) = CALCULATED KOLMOGOROV DISTANCE C NS (I) = NUMBER OF TBF ENTRIES TO BE CREATED C YIELDED C DFLG (I) = FLAG INDICATING THE SIGNIFICANCE OF THE CAL- C CULATED DISTANCE AT THE 0.05 LEVEL, WHERE: C 1 - THE VALUE OF D IS LARGER THAN THE ALLOW- C ED DISTANCE. THE MODEL MAY NOT PROVIDE AN C ADEQUATE FIT. C 2 - THE VALUE OF D IS SMALLER THAN THE ALLOW- C ED DISTANCE. THE MODEL MAY PROVIDE AN AD- C EQUATE FIT. C LOCAL GLOSSARY C INTPNT (I) = VECTOR OF SAMPLE SIZES UNDER 50 C INTVAL (R) = VECTOR OF ASSOCIATED CRITICAL VALUES C ERRORS C (NONE) C ASSOCIATED SUBPROGRAMS C SEE AUTOMATED CODE EXAMINER (ACE) OUTPUT C REFERENCES C SEE PROLOGUE OF MAIN PROGRAM C LANGUAGE C FORTRAN 77 C C *********************** START OF DECLARATIONS ************************ C C PRE-DECLARATION DEFAULT ASSIGNMENT IMPLICIT DOUBLE PRECISION (A-Z) C C PARAMETER SPECIFICATIONS C (NONE) C C GLOBAL SPECIFICATIONS C (NONE) C C ARGUMENT SPECIFICATIONS INTEGER DFLG ,NS C C LOCAL SPECIFICATIONS INTEGER I ,INTPNT(25) DIMENSION INTVAL(25) C C LOCAL ASSIGNMENTS DATA (INTPNT(I), I = 1, 25) 1 / 1, 2, 3, 4, 5 2 , 6, 7, 8, 9, 10 3 , 11, 12, 13, 14, 15 4 , 16, 17, 18, 19, 20 5 , 25, 30, 35, 40, 50/ DATA (INTVAL(I), I = 1, 25) 1 /0.975, 0.842, 0.708, 0.624, 0.563 2 ,0.521, 0.486, 0.457, 0.432, 0.409 3 ,0.391, 0.375, 0.361, 0.349, 0.338 4 ,0.328, 0.318, 0.309, 0.301, 0.294 5 ,0.264, 0.242, 0.230, 0.210, 0.190/ C C ********************* START OF FORMAT STATEMENTS ********************* C C (NONE) C C ********************** START OF EXECUTABLE CODE ********************** C IF (NS.LE.50) THEN C DETERMINE THE INDEX TO THE SAMPLE SIZE WHICH IS IS EQUAL TO C OR LARGER THAN THE THE GIVEN SAMPLE SIZE. I = 0 C DOUNTIL (INDEXED VALUE .GE. NS) 1000 I = I + 1 IF (INTPNT(I).LT.NS) GO TO 1000 C ENDUNTIL C IF (INTPNT(I).EQ.NS) THEN C USE A STRAIGHT TABLE LOOK-UP AS SAMPLE SIZE WAS FOUND. TMP = INTVAL(I) ELSE C INTERPOLATE TO FIND THE CRITICAL VALUE. PT1 = REAL(NS - INTPNT(I-1)) PT2 = REAL(INTPNT(I) - INTPNT(I-1)) TMP = INTVAL(I-1) + (INTVAL(I) - INTVAL(I-1)) 1 * (PT1 / PT2) ENDIF ELSE C USE THE ASYMPTOTIC FORMULA FOR SAMPLE SIZES OVER 50. TMP = 1.36 / SQRT(REAL(NS)) ENDIF C IF (DVAL.GE.TMP) THEN C THE MODEL MAY NOT PROVIDE AN ADEQUATE FIT. DFLG = 1 ELSE C THE MODEL MAY PROVIDE AN ADEQUATE FIT. DFLG = 2 ENDIF RETURN END SUBROUTINE CMPMAX G (NSR , SRTFLG B ,DPMAX , V ) C C *************************************************************** C * UNCLASSIFIED * C *************************************************************** C C CALLING SEQUENCE C SUBROUTINE CMPMAX C G (NSR , SRTFLG C B ,DPMAX , V ) C C AUTHOR C OLIVER D. SMITH (EG&G WASC) C CODE READ BY C WILLIAM H. FARR (B10, NSWCDD) C PURPOSE C TO COMPUTE THE KOLMOGOROV DISTANCE FOR THE GIVEN VECTOR. THE C ARGUMENT SRTFLG IS USED TO INDICATE WHETHER THE VECTOR REQUIRES C SORTING. C DESCRIPTION C THE ROUTINE FIRST SORTS THE DATA OF THE U-PLOT VECTOR. WHEN THE C ROUTINE IS ACCESSED WITH Y-PLOT DATA THE SORTING IS NOT NEEDED; C HENCE, THE ROUTINE IS ALWAYS ACCESSED WITH SRTFLG=1 FOR U-PLOT C PROCESSING AND SRTFLG=0 FOR Y-PLOT PROCESSING. C C THEN A LOOP IS INITIATED TO COMPUTE THE VALUES, AND DETERMINE C THE MAXIMUM DISTANCE. C ASSUMPTIONS C (NONE) C RESTRICTIONS C (NONE) C PARAMETER GLOSSARY C (NONE) C GLOBAL GLOSSARY C (NONE) C ARGUMENT LIST C GIVEN C NSR (I) = NUMBER OF POINTS FROM WHICH STATISTICS GOTTEN C SRTFLG (I) = FLAG CONTROLLING THE DATA SORT (1=SORT FIRST) C BOTH C DPMAX (R) = CALCULATED KOLMOGOROV DISTANCE C V (R) = ARRAY OF DATA FOR U-PLOT OR Y-PLOT C LOCAL GLOSSARY C MAX1 (R) = INTERMEDIATE CALCULATION 1 C MAX2 (R) = INTERMEDIATE CALCULATION 2 C TMP (R) = TEMPORARY TO PERFORM THE SORT C ERRORS C (NONE) C ASSOCIATED SUBPROGRAMS C SEE AUTOMATED CODE EXAMINER (ACE) OUTPUT C REFERENCES C SEE PROLOGUE OF MAIN PROGRAM C LANGUAGE C FORTRAN 77 C C *********************** START OF DECLARATIONS ************************ C C PRE-DECLARATION DEFAULT ASSIGNMENT IMPLICIT DOUBLE PRECISION (A-Z) C C PARAMETER SPECIFICATIONS C (NONE) C C GLOBAL SPECIFICATIONS C (NONE) C C ARGUMENT SPECIFICATIONS INTEGER NSR ,SRTFLG DIMENSION V(NSR) C C LOCAL SPECIFICATIONS INTEGER I ,IP1 ,J 1 ,NSM1 C C ********************* START OF FORMAT STATEMENTS ********************* C C (NONE) C C ********************** START OF EXECUTABLE CODE ********************** C IF (SRTFLG.EQ.1) THEN C SORT THE DATA ARRAY INTO SMALLEST TO LARGEST ORDER FOR THE C U-PLOT. NSM1 = NSR - 1 DO 1025 I = 1, NSM1 IP1 = I + 1 DO 1000 J = IP1, NSR IF (V(J).LT.V(I)) THEN TMP = V(I) V(I) = V(J) V(J) = TMP ENDIF 1000 CONTINUE C ENDDO 1025 CONTINUE C ENDDO ENDIF C C COMPUTE THE TWO VALUES FOR PROCESSING. DO 1050 I = 1, NSR MAX1 = (REAL(I) / REAL(NSR)) - V(I) MAX2 = V(I) - ((REAL(I) - 1.0) / REAL(NSR)) C C REPLACE THE MAXIMUM IF INDICATED. DPMAX = MAX(DPMAX , MAX1 , MAX2 ) 1050 CONTINUE C ENDDO RETURN END SUBROUTINE CONMIN G (G , H , N , TMAX , TMIN , X Y ,Y ) C C *************************************************************** C * UNCLASSIFIED * C *************************************************************** C C CALLING SEQUENCE C SUBROUTINE CONMIN C G (G , H , N , TMAX , TMIN , X C Y ,Y ) C C AUTHOR C JAMES S. VANDERGRAFT (COMPUTATIONAL ENGINEERING, INC) C CODE STRUCTURING BY C PAUL J. KRAUS & CINDY A. WELLS (COMPUTATIONAL ENGINEERING, INC) C CODE READ BY C WILLIAM H. FARR (B10, NSWCDD) & OLIVER D. SMITH (EG&G WASC) C PURPOSE C TO FIND THE CONSTRAINED MINIMUM OF A QUADRATIC FUNCTION WITHIN C A TRUST REGION. C DESCRIPTION C THIS ROUTINE FINDS THE CONSTRAINED MINIMUM, Y OF THE QUADRATIC C FUNCTION Q(Y) = G * (X - Y) + 0.5 * (Y - X) * H * (Y - X) IN C THE REGION BOUNDED BY THE TRUST REGION. X CONTAINS THE VALUES C OF THE PARAMETER ESTIMATES, G CONTAINS THE GRADIENT OF THE C MAXIMUM LIKELIHOOD OR LEAST SQUARES FUNCTION, AND H CONTAINS C THE HESSIAN OF THE APPROPRIATE FUNCTION. C ASSUMPTIONS C (NONE) C RESTRICTIONS C (NONE) C PARAMETER GLOSSARY C (NONE) C GLOBAL GLOSSARY C (NONE) C ARGUMENT LIST C GIVEN C G (R) = GRADIENT OF ML OR LS FUNCTION C H (R) = HESSIAN OF ML OR LS FUNCTION C N (I) = NUMBER OF UNKNOWN PARAMETERS C TMAX (R) = TRUST REGION MAXIMUM C TMIN (R) = TRUST REGION MINIMUM C X (R) = PARAMETER ESTIMATE VALUES C YIELDED C Y (R) = PARAMETER ESTIMATES AT CONSTRAINED MINIMUM C LOCAL GLOSSARY C GQ (R) = GRADIENT OF THE QUADRATIC FUNCTION C ICONS (I) = CONSTRAINT VECTOR C IFLAG (I) = CONSTRAINT STATUS FLAG, WHERE 0 INDICATES THE C CONSTRAINTS DO NOT EXIST AND 1 INDICATES THAT C CONSTRAINTS DO EXIST C IRELES (I) = CONSTRAINT RELEASE FLAG, WHERE 0 INDICATES C CONSTRAINTS CANNOT BE RELEASED AND 1 INDI- C CATES THAT CONSTRAINTS CAN BE RELEASED C XTMP (R) = INTERMEDIATE STORAGE VECTOR FOR CONSTRAINED C POINT C ERRORS C (NONE) C ASSOCIATED SUBPROGRAMS C SEE AUTOMATED CODE EXAMINER (ACE) OUTPUT C REFERENCES C SEE PROLOGUE OF MAIN PROGRAM C LANGUAGE C FORTRAN 77 C C *********************** START OF DECLARATIONS ************************ C C PRE-DECLARATION DEFAULT ASSIGNMENT IMPLICIT DOUBLE PRECISION (A-Z) C C PARAMETER SPECIFICATIONS C (NONE) C C GLOBAL SPECIFICATIONS C (NONE) C C ARGUMENT SPECIFICATIONS INTEGER N DIMENSION G(3) ,H(3,3) ,TMAX(3) 1 ,TMIN(3) ,X(3) ,Y(3) C C LOCAL SPECIFICATIONS INTEGER I ,ICONS(3) ,IFLAG 1 ,IRELES ,J DIMENSION GQ(3) ,XTMP(3) C C ********************* START OF FORMAT STATEMENTS ********************* C C (NONE) C C ********************** START OF EXECUTABLE CODE ********************** C C INITIALIZE THE CONSTRAINT VECTOR AND SET THE CURRENT POINT TO C POINT X. DO 1000 I = 1, N ICONS(I) = 0 Y(I) = X(I) 1000 CONTINUE C ENDDO C C INITIALIZE THE CONSTRAINT RELEASE FLAG. IRELES = 1 C DOWHILE (IRELES .EQ. 1) C INITIALIZE THE CONSTRAINT STATUS FLAG. 1025 IFLAG = 1 C C DOWHILE (IFLAG .EQ. 1) 1050 CONTINUE C C SAVE THE CURRENT CONSTRAINED POINT. DO 1075 I = 1, N XTMP(I) = Y(I) 1075 CONTINUE C ENDDO C C FIND THE CONSTRAINED MINIMUM ON THE SURFACE DEFINED BY C THE CONSTRAINT VECTOR. CALL CONSOP G (G , H , ICONS , N , TMAX G ,TMIN , X B ,Y ) C C CHECK TO SEE IF CONSTRAINTS ARE VIOLATED BY THIS NEW C MINIMUM. CALL CONSTR G (N , TMAX , TMIN , XTMP B ,Y Y ,ICONS , IFLAG ) IF (IFLAG.EQ.1) GO TO 1050 C ENDWHILE C C COMPUTE THE GRADIENT OF THE QUADRATIC FUNCTION. DO 1125 I = 1, N GQ(I) = G(I) DO 1100 J = 1, N GQ(I) = GQ(I) + H(I,J) * (Y(J) - X(J)) 1100 CONTINUE C ENDDO 1125 CONTINUE C ENDDO C C CHECK TO SEE IF CONSTRAINTS CAN BE RELEASED. CALL RELESE G (GQ , N B ,ICONS Y ,IRELES) IF (IRELES.EQ.1) GO TO 1025 C ENDWHILE RETURN END SUBROUTINE CONSOP G (G , H , ICONS , N , TMAX , TMIN G ,X B ,Y ) C C *************************************************************** C * UNCLASSIFIED * C *************************************************************** C C CALLING SEQUENCE C SUBROUTINE CONSOP C G (G , H , ICONS , N , TMAX , TMIN C G ,X C B ,Y ) C C AUTHOR C JAMES S. VANDERGRAFT (COMPUTATIONAL ENGINEERING, INC) C CODE STRUCTURING BY C PAUL J. KRAUS & CINDY A. WELLS (COMPUTATIONAL ENGINEERING, INC) C CODE READ BY C WILLIAM H. FARR (B10, NSWCDD) & OLIVER D. SMITH (EG&G WASC) C PURPOSE C TO FIND THE MINIMUM OF THE QUADRATIC FUNCTION ON THE SURFACE C DEFINED BY THE CONSTRAINT VECTOR. C DESCRIPTION C THIS ROUTINE UTILIZES THE CONSTRAINT VECTOR TO DETERMINE IF ANY C CONSTRAINTS EXIST. IF NOT, THE MINIMUM OF THE QUADRATIC FUNC- C TION IS SET TO THE COMPUTED NEWTON POINT. IF CONSTRAINTS EXIST, C THE CONSTRAINED MINIMUM OF THE QUADRATIC FUNCTION IS COMPUTED. C ASSUMPTIONS C (NONE) C RESTRICTIONS C THIS SUBPROGRAM CONTAINS CODE WHICH DOES NOT COMPLY WITH THE C PROGRAMMING STANDARDS; GROUP LEADER APPROVAL HAS BEEN OBTAINED. C -SPECIFICALLY: C THE ARGUMENT Y IS ACTUALLY INITIALIZED WITHIN THIS ROUTINE, IF C IFLAG IS SET TO ONE; OTHERWISE, IT IS A "BOTH" AS DEFINED. C PARAMETER GLOSSARY C (NONE) C GLOBAL GLOSSARY C (NONE) C ARGUMENT LIST C GIVEN C G (R) = GRADIENT C H (R) = HESSIAN C ICONS (I) = CONSTRAINT VECTOR C N (I) = NUMBER OF UNKNOWN PARAMETERS C TMAX (R) = TRUST REGION MAXIMUM C TMIN (R) = TRUST REGION MINIMUM C X (R) = VECTOR OF PARAMETER ESTIMATES C BOTH C Y (R) = NEWTON POINT OR CONSTRAINED MINIMUM OF THE C QUADRATIC FUNCTION C LOCAL GLOSSARY C DXCONS (R) = STEP VECTOR C HTMP (R) = INTERMEDIATE HESSIAN C IFLAG (I) = CONSTRAINT STATUS FLAG, WHERE 0 INDICATES THE C CONSTRAINTS DO NOT EXIST AND 1 INDICATES THAT C CONSTRAINTS DO EXIST C SM (R) = TEMPORARY SUMMATION C TMP1 (R) = INTERMEDIATE CALCULATION 1 C TMP2 (R) = INTERMEDIATE CALCULATION 2 C TMP3 (R) = INTERMEDIATE CALCULATION 3 C U (R) = UPPER TRIANGULAR FACTORS OF H-MATRIX C ERRORS C (NONE) C ASSOCIATED SUBPROGRAMS C SEE AUTOMATED CODE EXAMINER (ACE) OUTPUT C REFERENCES C SEE PROLOGUE OF MAIN PROGRAM C LANGUAGE C FORTRAN 77 C C *********************** START OF DECLARATIONS ************************ C C PRE-DECLARATION DEFAULT ASSIGNMENT IMPLICIT DOUBLE PRECISION (A-Z) C C PARAMETER SPECIFICATIONS C (NONE) C C GLOBAL SPECIFICATIONS C (NONE) C C ARGUMENT SPECIFICATIONS INTEGER ICONS(3) ,N DIMENSION G(3) ,H(3,3) ,TMAX(3) 1 ,TMIN(3) ,X(3) ,Y(3) C C LOCAL SPECIFICATIONS INTEGER I ,IFLAG ,J DIMENSION DXCONS(3) ,HTMP(3,3) ,TMP1(3) 1 ,TMP2(3) ,TMP3(3) ,U(3,3) C C ********************* START OF FORMAT STATEMENTS ********************* C C (NONE) C C ********************** START OF EXECUTABLE CODE ********************** C C DETERMINE IF ANY CONSTRAINTS EXIST. IFLAG = 0 DO 1000 I = 1, N IF (ICONS(I).NE.0) THEN IFLAG = 1 ENDIF 1000 CONTINUE C ENDDO C IF (IFLAG.EQ.0) THEN C CONSTRAINTS DO NOT EXIST. SET MINIMUM OF THE QUADRATIC C FUNCTION TO THE COMPUTED NEWTON POINT.<