C MAIN PROGRAM TO SOLVE A SYSTEM OF NONLINEAR EQUATIONS C PARAMETER (N = 2, LW = 19) REAL X(N), FVEC(N), W(LW), TOL EXTERNAL F C C SET UP PARAMETERS FOR SNSQE C TOL = 1.E-6 X(1) = 2.0 X(2) = 3.0 WRITE (*,800) X(1), X(2) IOPT = 2 NPRINT = 0 C C SOLVE NONLINEAR EQUATIONS C CALL SNSQE (F, F, IOPT, N, X, FVEC, TOL, NPRINT, INFO, W, LW) C C PRINT RESULTS C WRITE (*,*) WRITE (*,*) 'SNSQE RESULTS' IF (INFO .NE. 1) WRITE (*,810) INFO WRITE (*,820) X(1), X(2) WRITE (*,830) FVEC(1), FVEC(2) C WRITE (*,*) WRITE (*,*) 'REFERENCE RESULTS FROM IBM PC/AT' WRITE (*,*) ' ESTIMATE OF SOLUTION ' WRITE (*,*) ' 2.000000 1.000000' WRITE (*,*) ' VALUES OF NONLINEAR FUNCTIONS' WRITE (*,*) ' 0.0000E+00 0.0000E+00' C STOP 800 FORMAT (' INITIAL GUESS', /, 2F12.6) 810 FORMAT (' INFO =', I3) 820 FORMAT (' ESTIMATE OF SOLUTION ', /, 2F12.6) 830 FORMAT (' VALUES OF NONLINEAR FUNCTIONS', /, 2E12.4) END C C SUBROUTINE F (N, X, FVEC, IFLAG) REAL X(N), FVEC(N) C C COMPUTE NONLINEAR FUNCTIONS C FVEC(1) = X(1)*X(2) - X(2)**3 - 1.0 FVEC(2) = X(1)**2*X(2) + X(2) - 5.0 C RETURN END