COPYRIGHT (C) 1986 ADAM FRITZ, 133 MAIN ST., AFTON, N.Y. 13730 C C PROGRAM: MAIN PROGRAM FOR PAN-REIF TEST C C VERSION: 1.1 DATE: 04/25/86 C MICROSOFT FORTRAN C C DESCRIPTION: C C INITIALIZE C GET CONTROL PARAMETERS C GENERATE AND DISPLAY TEST MATRIX C COMPUTE AND DISPLAY INVERSE MATRIX C COMPUTE AND DISPLAY RESIDUALS C C AUTHOR: C C ADAM FRITZ C 133 MAIN STREET C AFTON, NEW YORK 13730 C C REFERENCE C C SUBPROGRAMS C C MATGEN C PR C BLAS C OUT (FROM SICE) C C VARIABLES: C C LDA - LEADING DIMENSION OF A C N - ORDER OF A C C A - INPUT: REAL SINGLE PRECISION MATRIX C B - OUTPUT: REAL SINGLE PRECISION MATRIX INVERSE C R - RESIDUALS MATRIX C X - WORKING STORAGE MATRIX C C ITERX - NUMBER OF ITERATIONS C RESIDX - CONVERGENCE CRITERION C C LIN - FORTRAN LOGICAL CONSOLE INPUT C LOUT - FORTRAN LOGICAL CONSOLE OUTPUT C INTEGER I, J, LDA, N, ITERX, ITERXX, LIN, LOUT, PRINT REAL RESIDX REAL A(10,10), B(10,10), R(10,10), X(10,10) DATA ITERXX /100/ C LDA = 10 LIN = 3 LOUT = 3 C WRITE (LOUT, 111) 111 FORMAT (38H ***** TEST PROGRAM FOR PAN-REIF *****/) C C GET PARAMETERS C 10 CONTINUE WRITE (LOUT, 113) 113 FORMAT (12H DIMENSION: ) READ (LIN, 115) N 115 FORMAT (I2) IF (N .LT. 1 .OR. N .GT. LDA) GO TO 10 C 20 CONTINUE WRITE (LOUT, 117) 117 FORMAT (13H ITERATIONS: ) READ (LIN, 119) ITERX 119 FORMAT (I3) IF (ITERX .LT. 1 .OR. ITERX .GT. ITERXX) GO TO 20 C C 30 CONTINUE WRITE (LOUT, 118) 118 FORMAT (11H RESIDUAL: ) READ (LIN, 120) RESIDX 120 FORMAT (E12.5) IF (RESIDX .LE. 0.0) GO TO 30 C C GENERATE TEST MATRIX C CALL MATGEN(A, LDA, N) WRITE (LOUT, 121) 121 FORMAT (28H ORIGINAL SYSTEM (BY COLUMN)/) CALL OUT(A, LDA, N, N) C C COMPUTE INVERSE C CALL PR(A, B, R, X, LDA, N, ITERX, RESIDX) WRITE (LOUT,123) ITERX 123 FORMAT (12H ITERATION: ,I3/) WRITE (LOUT,125) 125 FORMAT (20H INVERSE (BY COLUMN)/) CALL OUT(B, LDA, N, N) C C DISPLAY RESIDUALS C WRITE (LOUT, 129) 129 FORMAT (22H RESIDUALS (BY COLUMN)/) CALL OUT(R, LDA, N, N) C WRITE (LOUT, 131) 131 FORMAT (24H ***** END OF TEST *****//) C END C COPYRIGHT (C) 1986 ADAM FRITZ, 133 MAIN ST., AFTON, N.Y. 13730