* SUBROUTINE TIUD25 ALL SYSTEMS 07/12/01 C PORTABILITY : ALL SYSTEMS C 07/12/01 LU : ORIGINAL VERSION * * PURPOSE : * INITIAL VALUES OF VARIABLES FOR DENSE UNCONSTRAINED MINIMIZATION. * * PARAMETERS : * II N NUMBER OF VARIABLES. * RO X(N) VECTOR OF VARIABLES. * RO FMIN LOWER BOUND FOR THE OBJECTIVE FUNCTION. * RO XMAX MAXIMUM STEPSIZE. * II NEXT NUMBER OF THE TEST PROBLEM. * IO IERR ERROR INDICATOR. * SUBROUTINE TIUD25(N,X,FMIN,XMAX,NEXT,IERR) INTEGER N,NA,NEXT,IERR REAL*8 X(N),FMIN,XMAX REAL*8 P,Q,S,T INTEGER I,J,K,MM,N1 REAL*8 Y(20),PAR COMMON /EMPR15/ Y COMMON /EMPR18/ PAR,MM COMMON /EMPR25/ NA REAL*8 ETA9 PARAMETER (ETA9=1.0D 120) FMIN=0.0D 0 XMAX=1.0D 3 IERR=0 NA=N GO TO (10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160, & 170,180,190,200,210,220, & 410,420,430,260,450,460,470,480,490,500,510,520,530,540,550,560, & 570,580,590,600,610,620, & 720,730,740,750,760,780,790,810,830,840,860,870,880,900,910,920, & 930,940,950,960,970,980,990,660,670,680, & 270,280,290,300,320,330,340,350,360,370,380,390),NEXT 10 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 11 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-1.2D 0 ELSE X(I)=1.0D 0 ENDIF 11 CONTINUE RETURN 20 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 21 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-2.0D 0 IF (I.LE.4) X(I)=-3.0D 0 ELSE X(I)=0.0D 0 IF (I.LE.4) X(I)=-1.0D 0 ENDIF 21 CONTINUE RETURN 30 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 31 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=3.0D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)=-1.0D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=0.0D 0 ELSE X(I)=1.0D 0 ENDIF 31 CONTINUE RETURN 40 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 41 I=1,N X(I)=2.0D 0 41 CONTINUE X(1)=1.0D 0 RETURN 50 IF (N.LT.3) GO TO 999 DO 51 I=1,N X(I)=-1.0D 0 51 CONTINUE RETURN 60 IF (N.LT.7) GO TO 999 DO 61 I=1,N X(I)=-1.0D 0 61 CONTINUE RETURN 70 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 71 I=1,N X(I)=-1.0D 0 71 CONTINUE RETURN 80 IF (N.LT.6) GO TO 999 DO 81 I=1,N X(I)=1.0D 0/DBLE(N) 81 CONTINUE RETURN 90 IF (N.LT.6) GO TO 999 DO 91 I=1,N X(I)=1.0D 0/DBLE(N) 91 CONTINUE FMIN=-ETA9 RETURN 100 IF (N.LT.6) GO TO 999 DO 101 I=1,N X(I)=1.0D 0 101 CONTINUE FMIN=-ETA9 RETURN 110 IF (N.LT.5) GO TO 999 N=N-MOD(N,5) DO 111 I=0,N-5,5 X(I+1)=-1.0D 0 X(I+2)=-1.0D 0 X(I+3)=2.0D 0 X(I+4)=-1.0D 0 X(I+5)=-1.0D 0 111 CONTINUE X(1)=-2.0D 0 X(2)=2.0D 0 XMAX=1.0D 0 RETURN 120 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 121 I=2,N,2 X(I-1)=0.0D 0 X(I)=-1.0D 0 121 CONTINUE XMAX=1.0D 1 RETURN 130 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 131 I=2,N,2 X(I-1)=-1.0D 0 X(I)=1.0D 0 131 CONTINUE XMAX=1.0D 1 RETURN 140 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 141 I=1,N Q=P*DBLE(I) X(I)=Q*(1.0D 0-Q) 141 CONTINUE RETURN 150 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 151 I=1,N X(I)=DBLE(I)*DBLE(N+1-I)*P**2 151 CONTINUE FMIN=-ETA9 RETURN 160 IF (N.LT.3) GO TO 999 DO 161 I=1,N X(I)=1.0D 0 161 CONTINUE FMIN=-ETA9 RETURN 170 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 171 I=1,N X(I)=DBLE(I)*DBLE(N+1-I)*P**2 171 CONTINUE FMIN=-ETA9 RETURN 180 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 181 I=1,N X(I)=DBLE(I)*DBLE(N+1-I)*P**2 181 CONTINUE FMIN=-ETA9 RETURN 190 IF (N.LT.3) GO TO 999 P=EXP(2.0D 0)/DBLE(N+1) DO 191 I=1,N X(I)=(P*DBLE(I)+1.0D 0)/3.0D 0 191 CONTINUE FMIN=-ETA9 RETURN 200 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 201 I=1,N X(I)=P*DBLE(I) 201 CONTINUE FMIN=-ETA9 RETURN 210 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 211 I=1,N X(I)=P*DBLE(I)+1.0D 0 211 CONTINUE FMIN=-ETA9 RETURN 220 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 221 I=1,N X(I)=DBLE(I)*DBLE(N+1-I)*P**2 221 CONTINUE FMIN=-ETA9 RETURN 410 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) NA=N DO 411 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-1.2D 0 ELSE X(I)=1.0D 0 ENDIF 411 CONTINUE RETURN 420 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) NA=N DO 421 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=3.0D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)=-1.0D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=0.0D 0 ELSE X(I)=1.0D 0 ENDIF 421 CONTINUE RETURN 430 IF (N.LT.2) GO TO 999 DO 431 I=1,N X(I)=-1.0D 0 431 CONTINUE RETURN 440 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) DO 441 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=3.0D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)=-1.0D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=0.0D 0 ELSE X(I)=1.0D 0 ENDIF 441 CONTINUE NA=N XMAX=1.0D 0 RETURN 450 IF (N.LT.3) GO TO 999 DO 451 I=1,N X(I)=-1.0D 0 451 CONTINUE RETURN 460 IF (N.LT.6) GO TO 999 DO 461 I=1,N X(I)=-1.0D 0 461 CONTINUE RETURN 470 IF (N.LT.2) GO TO 999 DO 471 I=1,N-1 X(I)=0.5D 0 471 CONTINUE X(N)=-2.0D 0 NA=2*(N-1) RETURN 480 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) DO 481 I=1,N X(I)=SIN(DBLE(I))**2 481 CONTINUE NA=5*N RETURN 490 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 491 I=1,N X(I)=5.0D 0 491 CONTINUE NA=3*(N-2) RETURN 500 IF (N.LT.2) GO TO 999 DO 501 I=1,N X(I)=0.2D 0 501 CONTINUE NA=2*(N-1) RETURN 510 CONTINUE IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 511 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-0.8D 0 ELSE X(I)=-0.8D 0 ENDIF 511 CONTINUE NA=2*(N-1) RETURN 520 CONTINUE IF (N.LT.5) GO TO 999 IF (MOD(N-5,3).NE.0) N=N-MOD(N-5,3) DO 521 I=1,N X(I)=-1.0D 0 521 CONTINUE NA=6*((N-5)/3+1) RETURN 530 CONTINUE IF (N.LT.5) GO TO 999 IF (MOD(N-5,3).NE.0) N=N-MOD(N-5,3) DO 531 I=1,N X(I)=-1.0D 0 531 CONTINUE NA=7*((N-5)/3+1) RETURN 540 CONTINUE IF (N.LT.4) GO TO 999 DO 541 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=-0.8D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)= 1.2D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=-1.2D 0 ELSE X(I)= 0.8D 0 ENDIF 541 CONTINUE Y(1)=14.4D 0 Y(2)=6.8D 0 Y(3)=4.2D 0 Y(4)=3.2D 0 542 IF (MOD(N-4,2).NE.0) N=N-MOD(N-4,2) NA=4*((N-4)/2+1) RETURN 550 CONTINUE IF (N.LT.4) GO TO 999 DO 551 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=-0.8D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)= 1.2D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=-1.2D 0 ELSE X(I)= 0.8D 0 ENDIF 551 CONTINUE Y(1)=35.8D 0 Y(2)=11.2D 0 Y(3)=6.2D 0 Y(4)=4.4D 0 GO TO 542 560 CONTINUE IF (N.LT.4) GO TO 999 DO 561 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=-0.8D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)= 1.2D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=-1.2D 0 ELSE X(I)= 0.8D 0 ENDIF 561 CONTINUE Y(1)=30.6D 0 Y(2)=72.2D 0 Y(3)=124.4D 0 Y(4)=187.4D 0 GO TO 542 570 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) NA=N DO 571 I=1,N IF (MOD(I,8).EQ.1) X(I)=1.0D-1 IF (MOD(I,8).EQ.2.OR.MOD(I,8).EQ.0) X(I)=2.0D-1 IF (MOD(I,8).EQ.3.OR.MOD(I,8).EQ.7) X(I)=3.0D-1 IF (MOD(I,8).EQ.4.OR.MOD(I,8).EQ.6) X(I)=4.0D-1 IF (MOD(I,8).EQ.5) X(I)=5.0D-1 571 CONTINUE NA=N RETURN 580 IF (N.LT.3) GO TO 999 DO 581 I=1,N X(I)=1.2D 1 581 CONTINUE RETURN 590 IF (N.LT.7) GO TO 999 DO 591 I=1,N X(I)=-1.0D 0 591 CONTINUE RETURN 600 IF (N.LT.3) GO TO 999 DO 601 I=1,N X(I)=DBLE(I)/DBLE(N+1) X(I)=X(I)*(X(I)-1.0D 0) 601 CONTINUE RETURN 610 CONTINUE IF (N.LT.5) GO TO 999 IF (MOD(N-5,3).NE.0) N=N-MOD(N-5,3) DO 611 I=1,N X(I)=-1.0D 0 611 CONTINUE NA=7*((N-5)/3+1) RETURN 620 IF (N.LT.3) GO TO 999 DO 621 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-1.2D 0 ELSE X(I)= 1.0D 0 ENDIF 621 CONTINUE NA=2*(N-1) RETURN 720 IF (N.LT.5) GO TO 999 N=N-MOD(N,2) DO 721 I=1,N IF (MOD(I,8).EQ.1) X(I)=1.0D-1 IF (MOD(I,8).EQ.2.OR.MOD(I,8).EQ.0) X(I)=2.0D-1 IF (MOD(I,8).EQ.3.OR.MOD(I,8).EQ.7) X(I)=3.0D-1 IF (MOD(I,8).EQ.4.OR.MOD(I,8).EQ.6) X(I)=4.0D-1 IF (MOD(I,8).EQ.5) X(I)=5.0D-1 721 CONTINUE NA=N RETURN 730 IF (N.LT.5) GO TO 999 N=N-MOD(N,5) DO 731 I=1,N X(I)=1.0D 0/DBLE(N) 731 CONTINUE NA=N RETURN 740 IF (N.LT.3) GO TO 999 DO 741 I=1,N X(I)=0.0D 0 741 CONTINUE RETURN 750 IF (N.LT.3) GO TO 999 IF (MOD(N,2).NE.1) N=N-1 DO 751 I=1,N X(I)=1.0D 0 751 CONTINUE NA=N RETURN 760 IF (N.LT.3) GO TO 999 DO 761 I=1,N X(I)=-1.0D 0 761 CONTINUE RETURN 780 IF (N.LT.5) GO TO 999 DO 781 I=1,N X(I)=-2.0D 0 781 CONTINUE RETURN 790 IF (N.LT.7) GO TO 999 DO 791 I=1,N X(I)=-3.0D 0 791 CONTINUE XMAX=1.0D 1 RETURN 810 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 811 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=9.0D 1 ELSE X(I)=6.0D 1 ENDIF 811 CONTINUE NA=N RETURN 830 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) DO 831 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=1.0D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)=2.0D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=2.0D 0 ELSE X(I)=2.0D 0 ENDIF 831 CONTINUE NA=N XMAX=1.0D 1 RETURN 840 IF (N.LT.3) GO TO 999 DO 841 I=1,N X(I)=-1.0D 0 841 CONTINUE RETURN 860 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 861 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=0.0D 0 ELSE X(I)=1.0D 0 ENDIF 861 CONTINUE NA=N RETURN 870 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) DO 871 I=2,N,2 X(I-1)=-3.0D 0 X(I)=-1.0D 0 871 CONTINUE NA=N RETURN 880 IF (N.LT.3) GO TO 999 DO 881 I=1,N X(I)=1.5D 0 881 CONTINUE XMAX=1.0D 0 RETURN 900 IF (N.LT.3) GO TO 999 DO 901 I=1,N X(I)=1.0D 1 901 CONTINUE RETURN 910 IF (N.LT.3) GO TO 999 DO 911 I=1,N X(I)=1.0D 0 911 CONTINUE PAR=1.0D 1 RETURN 920 IF (N.LT.5) GO TO 999 PAR=5.0D 2/DBLE(N+2) DO 921 I=1,N X(I)=((DBLE(I)+0.5D 0)/DBLE(N+2)-0.5D 0)**2 921 CONTINUE RETURN 930 IF (N.LT.10) GO TO 999 N=N-MOD(N,2) MM=N/2 PAR=5.0D 2 DO 931 I=1,MM X(I)=(DBLE(I)/DBLE(MM+1)-0.5D 0)**2 931 CONTINUE DO 932 I=MM+1,N K=I-MM X(I)=DBLE(K)/DBLE(MM+1)-0.5D 0 932 CONTINUE NA=N RETURN 940 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=6.8D 0/DBLE(MM+1)**2 N=MM*MM K=0 DO 942 J=1,MM DO 941 I=1,MM K=K+1 X(K)=1.0D 0 941 CONTINUE 942 CONTINUE NA=N RETURN 950 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=1.0D 0/DBLE(MM+1)**2 N=MM*MM K=0 DO 952 J=1,MM DO 951 I=1,MM K=K+1 X(K)=-1.0D 0 951 CONTINUE 952 CONTINUE NA=N RETURN 960 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=1.0D 0/DBLE(MM+1)**2 N=MM*MM K=0 DO 962 J=1,MM DO 961 I=1,MM K=K+1 X(K)=0.0D 0 961 CONTINUE 962 CONTINUE NA=N RETURN 970 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=5.0D 1/DBLE(MM+1) N=MM*MM K=0 DO 972 J=1,MM DO 971 I=1,MM K=K+1 X(K)=1.0D 0-DBLE(I)*DBLE(J)/DBLE(MM+1)**2 971 CONTINUE 972 CONTINUE NA=N RETURN 980 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=1.0D 0/DBLE(MM+1) N=MM*MM K=0 DO 982 J=1,MM DO 981 I=1,MM K=K+1 X(K)=0.0D 0 981 CONTINUE 982 CONTINUE NA=N RETURN 990 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) N=MM*MM PAR=500.0D 0/DBLE(MM+2)**4 K=0 DO 992 J=1,MM DO 991 I=1,MM K=K+1 X(K)=0.0D 0 991 CONTINUE 992 CONTINUE NA=N RETURN 660 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) N=MM*MM PAR=500.0D 0 K=0 DO 662 J=1,MM DO 661 I=1,MM K=K+1 X(K)=0.0D 0 661 CONTINUE 662 CONTINUE NA=N RETURN 670 IF (N.LT.3) GO TO 999 DO 671 I=1,N X(I)=5.0D 0*MIN(DBLE(I)/DBLE(N+1),1.0D 0-DBLE(I)/DBLE(N+1)) 671 CONTINUE XMAX=1.0D 4 RETURN 680 IF (N.LT.3) GO TO 999 DO 681 I=1,N X(I)=5.0D 0*MIN(DBLE(I)/DBLE(N+1),1.0D 0-DBLE(I)/DBLE(N+1)) 681 CONTINUE RETURN 260 N1=N-1 DO 261 I=1,N1 X(I)=-1.2D 0 261 CONTINUE X(N)=-1.0D 0 RETURN 270 DO 271 I=1,N X(I)=2.0D 0 271 CONTINUE RETURN 280 DO 281 I=1,N X(I)=1.0D 0 281 CONTINUE RETURN 290 DO 291 I=1,N X(I)=-1.0D 0 291 CONTINUE RETURN 300 DO 301 I=1,N X(I)=-1.0D 0 301 CONTINUE RETURN 310 DO 311 I=1,N X(I)=0.5D 0 311 CONTINUE RETURN 320 DO 321 I=1,N X(I)=0.5D 0 321 CONTINUE RETURN 330 DO 331 I=1,N X(I)=1.0D 0 331 CONTINUE RETURN 340 DO 341 I=1,N X(I)=-1.0D 0 341 CONTINUE RETURN 350 DO 351 I=1,N X(I)=1.0D 0 351 CONTINUE RETURN 360 DO 361 I=1,N X(I)=1.0D 0 361 CONTINUE RETURN 370 IF (N.LT.10) GO TO 999 N=N-MOD(N,2) MM=N/2 T=DBLE(2)/DBLE(N+2) DO 371 I=1,MM S=DBLE(I)*T X(I)=S*(1.0D 0-S) X(MM+I)=X(I) 371 CONTINUE NA=N RETURN 380 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) N=MM*MM DO 381 I=1,N X(I)=1.0D 0 381 CONTINUE NA=N RETURN 390 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) N=MM*MM DO 391 I=1,N X(I)=1.0D 0 391 CONTINUE NA=N RETURN 999 IERR=1 RETURN END * SUBROUTINE TIUS25 ALL SYSTEMS 10/12/01 C PORTABILITY : ALL SYSTEMS C 98/12/01 LU : ORIGINAL VERSION * * PURPOSE : * INITIAL VALUES OF VARIABLES AND SPARSITY PATTERN OF THE HESSIAN * MATRIX FOR SPARSE UNCONSTRAINED MINIMIZATION. * * PARAMETERS : * II N NUMBER OF VARIABLES. * II M NUMBER OF ELEMENTS OF THE SPARSE MATRIX. * RO X(N) VECTOR OF VARIABLES. * IO IH(N+1) POINTERS OF THE DIAGONAL ELEMENTS OF THE HESSIAN MATRIX. * IO JH(M) INDICES OF THE NONZERO ELEMENTS OF THE HESSIAN MATRIX IN * THE PACKED ROW. * RO FMIN LOWER BOUND FOR THE OBJECTIVE FUNCTION. * RO XMAX MAXIMUM STEPSIZE. * II NEXT NUMBER OF THE TEST PROBLEM. * IO IERR ERROR INDICATOR. * SUBROUTINE TIUS25(N,M,X,IH,JH,FMIN,XMAX,NEXT,IERR) INTEGER N,M,NEXT,IERR INTEGER IH(N+1),JH(*) REAL*8 X(N),FMIN,XMAX REAL*8 P,Q,T,S INTEGER I,J,K,L,K1,K2,M1,MM,N1,NA REAL*8 Y(20),PAR COMMON /EMPR15/ Y COMMON /EMPR18/ PAR,MM COMMON /EMPR25/ NA REAL*8 ETA9 PARAMETER (ETA9=1.0D 60) FMIN=0.0D 0 XMAX=1.0D 3 IERR=0 NA=N GO TO (10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160, & 170,180,190,200,210,220, & 410,420,430,260,450,460,470,480,490,500,510,520,530,540,550,560, & 570,580,590,600,610,620, & 720,730,740,750,760,780,790,810,830,840,860,870,880,900,910,920, & 930,940,950,960,970,980,990,660,670,680, & 270,280,290,300,320,330,340,350,360,370,380,390),NEXT 10 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 11 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-1.2D 0 ELSE X(I)=1.0D 0 ENDIF 11 CONTINUE 12 M=0 IH(1)=1 DO 13 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IH(I+1)=M+1 13 CONTINUE RETURN 20 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 21 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-2.0D 0 IF (I.LE.4) X(I)=-3.0D 0 ELSE X(I)=0.0D 0 IF (I.LE.4) X(I)=-1.0D 0 ENDIF 21 CONTINUE DO 22 I=1,N-1 J=2*I-1 IH(I)=J JH(J)=I JH(J+1)=I+1 IF (MOD(I,2).EQ.0) JH(J+1)=JH(J+1)+1 22 CONTINUE J=2*N-1 IH(N)=J JH(J)=N M=J IH(N+1)=J+1 RETURN 30 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 31 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=3.0D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)=-1.0D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=0.0D 0 ELSE X(I)=1.0D 0 ENDIF 31 CONTINUE IH(1)=1 IH(2)=4 JH(1)=1 JH(2)=2 JH(3)=4 JH(4)=2 JH(5)=3 K=5 DO 33 I=3,N-3,2 IH(I)=IH(I-2)+5 J=IH(I) DO 32 L=J,J+4 JH(L)=JH(L-5)+2 K=K+1 32 CONTINUE IH(I+1)=IH(I-1)+5 33 CONTINUE IH(N-1)=IH(N-3)+5 IH(N)=IH(N-2)+4 IH(N+1)=IH(N)+1 JH(K+1)=JH(K) JH(K+2)=JH(K)+1 JH(K+3)=JH(K+2) M=IH(N) RETURN 40 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 41 I=1,N X(I)=2.0D 0 41 CONTINUE X(1)=1.0D 0 GO TO 12 50 IF (N.LT.3) GO TO 999 DO 51 I=1,N X(I)=-1.0D 0 51 CONTINUE 52 M=0 IH(1)=1 DO 53 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IH(I+1)=M+1 53 CONTINUE RETURN 60 IF (N.LT.7) GO TO 999 DO 61 I=1,N X(I)=-1.0D 0 61 CONTINUE 62 M=0 IH(1)=1 DO 63 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (I.LE.N-3) THEN M=M+1 JH(M)=I+3 ENDIF IF (I.LE.N-4) THEN M=M+1 JH(M)=I+4 ENDIF IF (I.LE.N-5) THEN M=M+1 JH(M)=I+5 ENDIF IF (I.LE.N-6) THEN M=M+1 JH(M)=I+6 ENDIF IH(I+1)=M+1 63 CONTINUE RETURN 70 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 71 I=1,N X(I)=-1.0D 0 71 CONTINUE 72 M=0 K=N/2 IH(1)=1 DO 73 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.K) THEN M=M+1 JH(M)=I+K ENDIF IH(I+1)=M+1 73 CONTINUE RETURN 80 IF (N.LT.10) GO TO 999 DO 81 I=1,N X(I)=1.0D 0/DBLE(N) 81 CONTINUE M=0 K=N/2 IH(1)=1 DO 82 I=1,N M=M+1 JH(M)=I IF (I+1.LE.N) THEN M=M+1 JH(M)=I+1 ENDIF IF (I+2.LE.N) THEN M=M+1 JH(M)=I+2 ENDIF IF (I+3.LE.N) THEN M=M+1 JH(M)=I+3 ENDIF IF (I+4.LE.N) THEN M=M+1 JH(M)=I+4 ENDIF IF (I+K-2.LE.N) THEN M=M+1 JH(M)=I+K-2 ENDIF IF (I+K-1.LE.N) THEN M=M+1 JH(M)=I+K-1 ENDIF IF (I+K.LE.N) THEN M=M+1 JH(M)=I+K ENDIF IF (I+K+1.LE.N) THEN M=M+1 JH(M)=I+K+1 ENDIF IF (I+K+2.LE.N) THEN M=M+1 JH(M)=I+K+2 ENDIF IH(I+1)=M+1 82 CONTINUE RETURN 90 IF (N.LT.4) GO TO 999 DO 91 I=1,N X(I)=1.0D 0/DBLE(N) 91 CONTINUE FMIN=-ETA9 92 M=0 IH(1)=1 DO 93 I=1,N M=M+1 JH(M)=I IH(I+1)=M+1 93 CONTINUE RETURN 100 IF (N.LT.10) GO TO 999 DO 101 I=1,N X(I)=1.0D 0 101 CONTINUE FMIN=-ETA9 M=0 K=N/2 IH(1)=1 DO 103 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (I.LE.K) THEN M=M+1 JH(M)=I+K ENDIF IH(I+1)=M+1 103 CONTINUE RETURN 110 IF (N.LT.5) GO TO 999 N=N-MOD(N,5) DO 111 I=0,N-5,5 X(I+1)=-1.0D 0 X(I+2)=-1.0D 0 X(I+3)=2.0D 0 X(I+4)=-1.0D 0 X(I+5)=-1.0D 0 111 CONTINUE X(1)=-2.0D 0 X(2)=2.0D 0 XMAX=1.0D 0 112 IH(1)=1 K=1 DO 113 I=1,N,5 M1=I K1=I K2=I+4 DO 114 M=1,5 DO 115 J=K1,K2 JH(K)=J K=K+1 115 CONTINUE K1=K1+1 M1=M1+1 IH(M1)=6-M+IH(M1-1) 114 CONTINUE 113 CONTINUE M=IH(N) RETURN 120 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 121 I=2,N,2 X(I-1)=0.0D 0 X(I)=-1.0D 0 121 CONTINUE XMAX=1.0D 0 GO TO 12 130 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 131 I=2,N,2 X(I-1)=-1.0D 0 X(I)=1.0D 0 131 CONTINUE GO TO 12 140 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 141 I=1,N Q=P*DBLE(I) X(I)=Q*(1.0D 0-Q) 141 CONTINUE GO TO 52 150 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 151 I=1,N X(I)=DBLE(I)*DBLE(N+1-I)*P**2 151 CONTINUE FMIN=-ETA9 XMAX=1.0D 1 GO TO 12 160 IF (N.LT.3) GO TO 999 DO 161 I=1,N X(I)=1.0D 0 161 CONTINUE FMIN=-ETA9 GO TO 52 170 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 171 I=1,N X(I)=DBLE(I)*DBLE(N+1-I)*P**2 171 CONTINUE FMIN=-ETA9 GO TO 52 180 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 181 I=1,N X(I)=DBLE(I)*DBLE(N+1-I)*P**2 181 CONTINUE FMIN=-ETA9 GO TO 52 190 IF (N.LT.3) GO TO 999 P=EXP(2.0D 0)/DBLE(N+1) DO 191 I=1,N X(I)=(P*DBLE(I)+1.0D 0)/3.0D 0 191 CONTINUE FMIN=-ETA9 GO TO 52 200 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 201 I=1,N X(I)=P*DBLE(I) 201 CONTINUE FMIN=-ETA9 GO TO 52 210 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 211 I=1,N X(I)=P*DBLE(I)+1.0D 0 211 CONTINUE FMIN=-ETA9 GO TO 52 220 IF (N.LT.3) GO TO 999 P=1.0D 0/DBLE(N+1) DO 221 I=1,N X(I)=DBLE(I)*DBLE(N+1-I)*P**2 221 CONTINUE FMIN=-ETA9 GO TO 52 410 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) NA=N DO 411 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-1.2D 0 ELSE X(I)=1.0D 0 ENDIF 411 CONTINUE GO TO 812 420 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) NA=N DO 421 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=3.0D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)=-1.0D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=0.0D 0 ELSE X(I)=1.0D 0 ENDIF 421 CONTINUE GO TO 862 430 IF (N.LT.2) GO TO 999 DO 431 I=1,N X(I)=-1.0D 0 431 CONTINUE GO TO 52 440 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) DO 441 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=3.0D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)=-1.0D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=0.0D 0 ELSE X(I)=1.0D 0 ENDIF 441 CONTINUE NA=N XMAX=1.0D 0 GO TO 92 450 IF (N.LT.3) GO TO 999 DO 451 I=1,N X(I)=-1.0D 0 451 CONTINUE GO TO 52 460 IF (N.LT.6) GO TO 999 DO 461 I=1,N X(I)=-1.0D 0 461 CONTINUE GO TO 62 470 IF (N.LT.2) GO TO 999 DO 471 I=1,N-1 X(I)=0.5D 0 471 CONTINUE X(N)=-2.0D 0 NA=2*(N-1) GO TO 12 480 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) DO 481 I=1,N X(I)=SIN(DBLE(I))**2 481 CONTINUE NA=5*N 482 M=0 K=N/2 IH(1)=1 DO 483 I=1,N M=M+1 JH(M)=I IF (I.LE.K) THEN M=M+1 JH(M)=I+K ENDIF IH(I+1)=M+1 483 CONTINUE RETURN 490 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 491 I=1,N X(I)=5.0D 0 491 CONTINUE NA=3*(N-2) 492 M=0 IH(1)=1 DO 493 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (I.LE.N-3.AND.MOD(I,2).EQ.1) THEN M=M+1 JH(M)=I+3 ENDIF IH(I+1)=M+1 493 CONTINUE RETURN 500 IF (N.LT.2) GO TO 999 DO 501 I=1,N X(I)=0.2D 0 501 CONTINUE NA=2*(N-1) GO TO 52 510 CONTINUE IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 511 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-0.8D 0 ELSE X(I)=-0.8D 0 ENDIF 511 CONTINUE NA=2*(N-1) GO TO 12 520 CONTINUE IF (N.LT.5) GO TO 999 IF (MOD(N-5,3).NE.0) N=N-MOD(N-5,3) DO 521 I=1,N X(I)=-1.0D 0 521 CONTINUE NA=6*((N-5)/3+1) M=0 IH(1)=1 DO 523 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (MOD(I,3).EQ.2.AND.I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (MOD(I,3).EQ.1.AND.I.LE.N-3) THEN M=M+1 JH(M)=I+3 ENDIF IF (MOD(I,3).EQ.1.AND.I.LE.N-4) THEN M=M+1 JH(M)=I+4 ENDIF IH(I+1)=M+1 523 CONTINUE RETURN 530 CONTINUE IF (N.LT.5) GO TO 999 IF (MOD(N-5,3).NE.0) N=N-MOD(N-5,3) DO 531 I=1,N X(I)=-1.0D 0 531 CONTINUE NA=7*((N-5)/3+1) M=0 IH(1)=1 DO 533 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (MOD(I,3).EQ.1.AND.I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (MOD(I,3).EQ.2.AND.I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (MOD(I,3).EQ.1.AND.I.LE.N-4) THEN M=M+1 JH(M)=I+4 ENDIF IH(I+1)=M+1 533 CONTINUE RETURN 540 CONTINUE IF (N.LT.4) GO TO 999 DO 541 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=-0.8D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)= 1.2D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=-1.2D 0 ELSE X(I)= 0.8D 0 ENDIF 541 CONTINUE Y(1)=14.4D 0 Y(2)=6.8D 0 Y(3)=4.2D 0 Y(4)=3.2D 0 542 IF (MOD(N-4,2).NE.0) N=N-MOD(N-4,2) NA=4*((N-4)/2+1) GO TO 492 550 CONTINUE IF (N.LT.4) GO TO 999 DO 551 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=-0.8D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)= 1.2D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=-1.2D 0 ELSE X(I)= 0.8D 0 ENDIF 551 CONTINUE Y(1)=35.8D 0 Y(2)=11.2D 0 Y(3)=6.2D 0 Y(4)=4.4D 0 GO TO 542 560 CONTINUE IF (N.LT.4) GO TO 999 DO 561 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=-0.8D 0 ELSE IF (MOD(I,4).EQ.2) THEN X(I)= 1.2D 0 ELSE IF (MOD(I,4).EQ.3) THEN X(I)=-1.2D 0 ELSE X(I)= 0.8D 0 ENDIF 561 CONTINUE Y(1)=30.6D 0 Y(2)=72.2D 0 Y(3)=124.4D 0 Y(4)=187.4D 0 GO TO 542 570 IF (N.LT.4) GO TO 999 N=N-MOD(N,2) DO 571 I=1,N IF (MOD(I,8).EQ.1) X(I)=1.0D-1 IF (MOD(I,8).EQ.2.OR.MOD(I,8).EQ.0) X(I)=2.0D-1 IF (MOD(I,8).EQ.3.OR.MOD(I,8).EQ.7) X(I)=3.0D-1 IF (MOD(I,8).EQ.4.OR.MOD(I,8).EQ.6) X(I)=4.0D-1 IF (MOD(I,8).EQ.5) X(I)=5.0D-1 571 CONTINUE NA=N M=0 IH(1)=1 DO 573 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (MOD(I,2).EQ.1.AND.I.LE.N-3) THEN M=M+1 JH(M)=I+3 ENDIF IF (I.LE.N-4) THEN M=M+1 JH(M)=I+4 ENDIF IH(I+1)=M+1 573 CONTINUE RETURN 580 IF (N.LT.3) GO TO 999 DO 581 I=1,N X(I)=1.2D 1 581 CONTINUE GO TO 52 590 IF (N.LT.7) GO TO 999 DO 591 I=1,N X(I)=-1.0D 0 591 CONTINUE M=0 IH(1)=1 DO 593 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF DO 592 J=MAX(I+3,N-4),N M=M+1 JH(M)=J 592 CONTINUE IH(I+1)=M+1 593 CONTINUE RETURN 600 IF (N.LT.3) GO TO 999 DO 601 I=1,N X(I)=DBLE(I)/DBLE(N+1) X(I)=X(I)*(X(I)-1.0D 0) 601 CONTINUE GO TO 52 610 CONTINUE IF (N.LT.5) GO TO 999 IF (MOD(N-5,3).NE.0) N=N-MOD(N-5,3) DO 611 I=1,N X(I)=-1.0D 0 611 CONTINUE NA=7*((N-5)/3+1) M=0 IH(1)=1 DO 613 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (MOD(I,3).EQ.0.AND.I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (MOD(I,3).EQ.2.AND.I.LE.N-3) THEN M=M+1 JH(M)=I+3 ENDIF IH(I+1)=M+1 613 CONTINUE RETURN 620 IF (N.LT.3) GO TO 999 DO 621 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=-1.2D 0 ELSE X(I)= 1.0D 0 ENDIF 621 CONTINUE NA=2*(N-1) GO TO 52 720 IF (N.LT.5) GO TO 999 N=N-MOD(N,2) DO 721 I=1,N IF (MOD(I,8).EQ.1) X(I)=1.0D-1 IF (MOD(I,8).EQ.2.OR.MOD(I,8).EQ.0) X(I)=2.0D-1 IF (MOD(I,8).EQ.3.OR.MOD(I,8).EQ.7) X(I)=3.0D-1 IF (MOD(I,8).EQ.4.OR.MOD(I,8).EQ.6) X(I)=4.0D-1 IF (MOD(I,8).EQ.5) X(I)=5.0D-1 721 CONTINUE NA=N M=0 IH(1)=1 DO 723 I=1,N IF (I.EQ.1) THEN DO 722 J=1,N M=M+1 JH(M)=J 722 CONTINUE ELSE M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (I.LE.N-3) THEN M=M+1 JH(M)=I+3 ENDIF IF (I.LE.N-4) THEN M=M+1 JH(M)=I+4 ENDIF ENDIF IH(I+1)=M+1 723 CONTINUE RETURN 730 IF (N.LT.5) GO TO 999 N=N-MOD(N,5) DO 731 I=1,N X(I)=1.0D 0/DBLE(N) 731 CONTINUE NA=N GO TO 112 740 IF (N.LT.3) GO TO 999 DO 741 I=1,N X(I)=0.0D 0 741 CONTINUE GO TO 52 750 IF (N.LT.3) GO TO 999 IF (MOD(N,2).NE.1) N=N-1 DO 751 I=1,N X(I)=1.0D 0 751 CONTINUE NA=N 752 M=0 IH(1)=1 DO 753 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (I.LE.N-3) THEN M=M+1 JH(M)=I+3 ENDIF IF (I.LE.N-4.AND.MOD(I,2).EQ.1) THEN M=M+1 JH(M)=I+4 ENDIF IH(I+1)=M+1 753 CONTINUE RETURN 760 IF (N.LT.3) GO TO 999 DO 761 I=1,N X(I)=-1.0D 0 761 CONTINUE GO TO 52 780 IF (N.LT.5) GO TO 999 DO 781 I=1,N X(I)=-2.0D 0 781 CONTINUE 782 M=0 IH(1)=1 DO 783 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (I.LE.N-3) THEN M=M+1 JH(M)=I+3 ENDIF IF (I.LE.N-4) THEN M=M+1 JH(M)=I+4 ENDIF IH(I+1)=M+1 783 CONTINUE RETURN 790 IF (N.LT.7) GO TO 999 DO 791 I=1,N X(I)=-3.0D 0 791 CONTINUE XMAX=1.0D 1 GO TO 62 810 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 811 I=1,N IF(MOD(I,2).EQ.1) THEN X(I)=9.0D 1 ELSE X(I)=6.0D 1 ENDIF 811 CONTINUE NA=N 812 M=0 IH(1)=1 DO 813 I=1,N M=M+1 JH(M)=I IF (I.LE.N-1.AND.MOD(I,2).EQ.1) THEN M=M+1 JH(M)=I+1 ENDIF IH(I+1)=M+1 813 CONTINUE RETURN 830 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) DO 831 I=1,N IF (MOD(I,4).EQ.1) THEN X(I)=1.0D 0 ELSE IF(MOD(I,4).EQ.2) THEN X(I)=2.0D 0 ELSEIF(MOD(I,4).EQ.3) THEN X(I)=2.0D 0 ELSE X(I)=2.0D 0 ENDIF 831 CONTINUE NA=N XMAX=1.0D 1 GO TO 52 840 IF (N.LT.3) GO TO 999 DO 841 I=1,N X(I)=-1.0D 0 841 CONTINUE GO TO 812 860 IF (N.LT.2) GO TO 999 N=N-MOD(N,2) DO 861 I=1,N IF (MOD(I,2).EQ.1) THEN X(I)=0.0D 0 ELSE X(I)=1.0D 0 ENDIF 861 CONTINUE NA=N 862 M=0 IH(1)=1 DO 863 I=1,N M=M+1 JH(M)=I IF (MOD(I,4).NE.0.AND.I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (MOD(I,4).EQ.2.AND.I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (MOD(I,4).EQ.1.AND.I.LE.N-3) THEN M=M+1 JH(M)=I+3 ENDIF IH(I+1)=M+1 863 CONTINUE RETURN 870 IF (N.LT.4) GO TO 999 N=N-MOD(N,4) DO 871 I=2,N,2 X(I-1)=-3.0D 0 X(I)=-1.0D 0 871 CONTINUE NA=N GO TO 52 880 IF (N.LT.3) GO TO 999 DO 881 I=1,N X(I)=1.5D 0 881 CONTINUE XMAX=1.0D 0 GO TO 52 900 IF (N.LT.3) GO TO 999 DO 901 I=1,N X(I)=1.0D 1 901 CONTINUE GO TO 52 910 IF (N.LT.3) GO TO 999 DO 911 I=1,N X(I)=1.0D 0 911 CONTINUE PAR=1.0D 1 GO TO 52 920 IF (N.LT.5) GO TO 999 PAR=5.0D 2/DBLE(N+2) DO 921 I=1,N X(I)=((DBLE(I)+0.5D 0)/DBLE(N+2)-0.5D 0)**2 921 CONTINUE GO TO 782 930 IF (N.LT.10) GO TO 999 N=N-MOD(N,2) MM=N/2 PAR=5.0D 2 DO 931 I=1,MM X(I)=(DBLE(I)/DBLE(MM+1)-0.5D 0)**2 931 CONTINUE DO 932 I=MM+1,N K=I-MM X(I)=DBLE(K)/DBLE(MM+1)-0.5D 0 932 CONTINUE NA=N M=0 IH(1)=1 DO 933 I=1,N IF (I.LE.MM) THEN M=M+1 JH(M)=I IF (I.LE.MM-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.MM-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (I.LE.MM-3) THEN M=M+1 JH(M)=I+3 ENDIF IF (I.LE.MM-4) THEN M=M+1 JH(M)=I+4 ENDIF IF (I.GE.4) THEN M=M+1 JH(M)=MM+I-3 ENDIF IF (I.GE.3) THEN M=M+1 JH(M)=MM+I-2 ENDIF IF (I.GE.2) THEN M=M+1 JH(M)=MM+I-1 ENDIF M=M+1 JH(M)=MM+I IF (I.LE.MM-1) THEN M=M+1 JH(M)=MM+I+1 ENDIF IF (I.LE.MM-2) THEN M=M+1 JH(M)=MM+I+2 ENDIF IF (I.LE.MM-3) THEN M=M+1 JH(M)=MM+I+3 ENDIF ELSE M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.N-2) THEN M=M+1 JH(M)=I+2 ENDIF ENDIF IH(I+1)=M+1 933 CONTINUE RETURN 940 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=6.8D 0/DBLE(M+1)**2 N=MM*MM K=0 DO 942 J=1,MM DO 941 I=1,MM K=K+1 X(K)=1.0D 0 941 CONTINUE 942 CONTINUE NA=N 943 L=0 M=0 IH(1)=1 DO 945 J=1,MM DO 944 I=1,MM M=M+1 JH(M)=L+I IF (I.LE.MM-1) THEN M=M+1 JH(M)=L+I+1 ENDIF IF (I.LE.MM-2) THEN M=M+1 JH(M)=L+I+2 ENDIF IF (J.LE.MM-1) THEN IF (I.GE.2) THEN M=M+1 JH(M)=L+MM+I-1 ENDIF M=M+1 JH(M)=L+MM+I IF (I.LE.MM-1) THEN M=M+1 JH(M)=L+MM+I+1 ENDIF ENDIF IF (J.LE.MM-2) THEN M=M+1 JH(M)=L+MM+MM+I ENDIF IH(L+I+1)=M+1 944 CONTINUE L=L+MM 945 CONTINUE RETURN 950 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=1.0D 0/DBLE(MM+1)**2 N=MM*MM K=0 DO 952 J=1,MM DO 951 I=1,MM K=K+1 X(K)=-1.0D 0 951 CONTINUE 952 CONTINUE NA=N GO TO 943 960 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=1.0D 0/DBLE(MM+1)**2 N=MM*MM K=0 DO 962 J=1,MM DO 961 I=1,MM K=K+1 X(K)=0.0D 0 961 CONTINUE 962 CONTINUE NA=N GO TO 943 970 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=5.0D 1/DBLE(MM+1) N=MM*MM K=0 DO 972 J=1,MM DO 971 I=1,MM K=K+1 X(K)=1.0D 0-DBLE(I)*DBLE(J)/DBLE(M+1)**2 971 CONTINUE 972 CONTINUE NA=N GO TO 943 980 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) PAR=1.0D 0/DBLE(MM+1) N=MM*MM K=0 DO 982 J=1,MM DO 981 I=1,MM K=K+1 X(K)=0.0D 0 981 CONTINUE 982 CONTINUE NA=N GO TO 943 990 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) N=MM*MM PAR=500.0D 0/DBLE(MM+2)**4 K=0 DO 992 J=1,MM DO 991 I=1,MM K=K+1 X(K)=0.0D 0 991 CONTINUE 992 CONTINUE NA=N 993 L=0 M=0 IH(1)=1 DO 995 J=1,MM DO 994 I=1,MM M=M+1 JH(M)=L+I IF (I.LE.MM-1) THEN M=M+1 JH(M)=L+I+1 ENDIF IF (I.LE.MM-2) THEN M=M+1 JH(M)=L+I+2 ENDIF IF (I.LE.MM-3) THEN M=M+1 JH(M)=L+I+3 ENDIF IF (I.LE.MM-4) THEN M=M+1 JH(M)=L+I+4 ENDIF IF (J.LE.MM-1) THEN IF (I.GT.3) THEN M=M+1 JH(M)=L+MM+I-3 ENDIF IF (I.GT.2) THEN M=M+1 JH(M)=L+MM+I-2 ENDIF IF (I.GT.1) THEN M=M+1 JH(M)=L+MM+I-1 ENDIF M=M+1 JH(M)=L+MM+I IF (I.LE.MM-1) THEN M=M+1 JH(M)=L+MM+I+1 ENDIF IF (I.LE.MM-2) THEN M=M+1 JH(M)=L+MM+I+2 ENDIF IF (I.LE.MM-3) THEN M=M+1 JH(M)=L+MM+I+3 ENDIF ENDIF IF (J.LE.MM-2) THEN IF (I.GT.2) THEN M=M+1 JH(M)=L+2*MM+I-2 ENDIF IF (I.GT.1) THEN M=M+1 JH(M)=L+2*MM+I-1 ENDIF M=M+1 JH(M)=L+2*MM+I IF (I.LE.MM-1) THEN M=M+1 JH(M)=L+2*MM+I+1 ENDIF IF (I.LE.MM-2) THEN M=M+1 JH(M)=L+2*MM+I+2 ENDIF ENDIF IF (J.LE.MM-3) THEN IF (I.GT.1) THEN M=M+1 JH(M)=L+3*MM+I-1 ENDIF M=M+1 JH(M)=L+3*MM+I IF (I.LE.MM-1) THEN M=M+1 JH(M)=L+3*MM+I+1 ENDIF ENDIF IF (J.LE.MM-4) THEN M=M+1 JH(M)=L+4*MM+I ENDIF IH(L+I+1)=M+1 994 CONTINUE L=L+MM 995 CONTINUE RETURN 660 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) N=MM*MM PAR=500.0D 0 K=0 DO 662 J=1,MM DO 661 I=1,MM K=K+1 X(K)=0.0D 0 661 CONTINUE 662 CONTINUE NA=N GO TO 993 670 IF (N.LT.3) GO TO 999 DO 671 I=1,N X(I)=5.0D 0*MIN(DBLE(I)/DBLE(N+1),1.0D 0-DBLE(I)/DBLE(N+1)) 671 CONTINUE XMAX=1.0D 4 GO TO 52 680 IF (N.LT.3) GO TO 999 DO 681 I=1,N X(I)=5.0D 0*MIN(DBLE(I)/DBLE(N+1),1.0D 0-DBLE(I)/DBLE(N+1)) 681 CONTINUE GO TO 52 260 N1=N-1 DO 261 I=1,N1 X(I)=-1.2D 0 261 CONTINUE X(N)=-1.0D 0 GO TO 12 270 DO 271 I=1,N X(I)=2.0D 0 271 CONTINUE RETURN 280 DO 281 I=1,N X(I)=1.0D 0 281 CONTINUE GO TO 52 290 DO 291 I=1,N X(I)=-1.0D 0 291 CONTINUE GO TO 52 300 DO 301 I=1,N X(I)=-1.0D 0 301 CONTINUE GO TO 62 310 DO 311 I=1,N X(I)=0.5D 0 311 CONTINUE GO TO 12 320 DO 321 I=1,N X(I)=0.5D 0 321 CONTINUE GO TO 12 330 DO 331 I=1,N X(I)=1.0D 0 331 CONTINUE GO TO 52 340 DO 341 I=1,N X(I)=-1.0D 0 341 CONTINUE GO TO 62 350 DO 351 I=1,N X(I)=1.0D 0 351 CONTINUE GO TO 52 360 DO 361 I=1,N X(I)=1.0D 0 361 CONTINUE GO TO 52 370 IF (N.LT.10) GO TO 999 N=N-MOD(N,2) MM=N/2 T=DBLE(2)/DBLE(N+2) DO 371 I=1,MM S=DBLE(I)*T X(I)=S*(1.0D 0-S) X(MM+I)=X(I) 371 CONTINUE NA=N M=0 IH(1)=1 DO 373 I=1,N IF (I.LE.MM) THEN M=M+1 JH(M)=I IF (I.LE.MM-1) THEN M=M+1 JH(M)=I+1 ENDIF IF (I.LE.MM-2) THEN M=M+1 JH(M)=I+2 ENDIF IF (I.GE.2) THEN M=M+1 JH(M)=MM+I-1 ENDIF M=M+1 JH(M)=MM+I IF (I.LE.MM-1) THEN M=M+1 JH(M)=MM+I+1 ENDIF ELSE M=M+1 JH(M)=I IF (I.LE.N-1) THEN M=M+1 JH(M)=I+1 ENDIF ENDIF IH(I+1)=M+1 373 CONTINUE RETURN 380 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) N=MM*MM DO 381 I=1,N X(I)=1.0D 0 381 CONTINUE NA=N GO TO 943 390 IF (N.LT.16) GO TO 999 MM=INT(SQRT(DBLE(N))) N=MM*MM DO 391 I=1,N X(I)=1.0D 0 391 CONTINUE NA=N GO TO 943 999 IERR=1 RETURN END * SUBROUTINE TFFU25 ALL SYSTEMS 07/12/01 C PORTABILITY : ALL SYSTEMS C 07/12/01 LU : ORIGINAL VERSION * * PURPOSE : * VALUES OF MODEL FUNCTIONS FOR UNCONSTRAINED MINIMIZATION. * UNIVERSAL VERSION. * * PARAMETERS : * II N NUMBER OF VARIABLES. * RI X(N) VECTOR OF VARIABLES. * RO F VALUE OF THE MODEL FUNCTION. * II NEXT NUMBER OF THE TEST PROBLEM. * SUBROUTINE TFFU25(N,X,F,NEXT) INTEGER N,NA,NEXT REAL*8 X(N),F REAL*8 FA INTEGER I,J,K,L,M,IA,IB,IC,I1,I2,J1,J2,KA,LA REAL*8 A,B,C,D,P,Q,R,S,S1,S2,S3,T,U,V,ALFA,H,H2,PI REAL*8 A1,A2,A3,A4,AL,AL1,AL2,BE,BE1,BE2,CA,CB,EX,FF,GA REAL*8 Y(20),PAR COMMON /EMPR15/ Y COMMON /EMPR18/ PAR,M COMMON /EMPR25/ NA PI=3.14159265358979323846D 0 F=0.0D 0 GO TO (10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160, & 170,180,190,200,210,220, & 410,420,430,260,450,460,470,480,490,500,510,520,530,540,550,560, & 570,580,590,600,610,620, & 720,730,740,750,760,780,790,810,830,840,860,870,880,900,910,920, & 930,940,950,960,970,980,990,660,670,680, & 270,280,290,300,320,330,340,350,360,370,380,390),NEXT 10 DO 11 J=2,N A=X(J-1)**2-X(J) B=X(J-1)-1.0D 0 F=F+1.0D 2*A**2+B**2 11 CONTINUE RETURN 20 DO 21 J=2,N-2,2 A=X(J-1)**2-X(J) B=X(J-1)-1.0D 0 C=X(J+1)**2-X(J+2) D=X(J+1)-1.0D 0 U=X(J)+X(J+2)-2.0D 0 V=X(J)-X(J+2) F=F+1.0D 2*A**2+B**2+9.0D 1*C**2+D**2+ & 1.0D 1*U**2+0.1D 0*V**2 21 CONTINUE RETURN 30 DO 31 J=2,N-2,2 A=X(J-1)+1.0D 1*X(J) B=X(J+1)-X(J+2) C=X(J)-2.0D 0*X(J+1) D=X(J-1)-X(J+2) F=F+A**2+5.0D 0*B**2+C**4+1.0D 1*D**4 31 CONTINUE RETURN 40 DO 41 J=2,N-2,2 A=EXP(X(J-1)) B=A-X(J) D=X(J)-X(J+1) P=X(J+1)-X(J+2) Q=SIN(P)/COS(P) U=X(J-1) V=X(J+2)-1.0D 0 F=F+B**4+1.0D 2*D**6+Q**4+U**8+V**2 41 CONTINUE RETURN 50 P=7.0D 0/3.0D 0 DO 51 J=1,N A=(3.0D 0-2.0D 0*X(J))*X(J)+1.0D 0 IF (J.GT.1) A=A-X(J-1) IF (J.LT.N) A=A-X(J+1) F=F+ABS(A)**P 51 CONTINUE RETURN 60 P=7.0D 0/3.0D 0 DO 62 J=1,N A=(2.0D 0+5.0D 0*X(J)**2)*X(J)+1.0D 0 DO 61 I=MAX(1,J-5),MIN(N,J+1) IF (I.NE.J) A=A+X(I)*(1.0D 0+X(I)) 61 CONTINUE F=F+ABS(A)**P 62 CONTINUE RETURN 70 P=7.0D 0/3.0D 0 K=N/2 DO 71 J=1,N A=(3.0D 0-2.0D 0*X(J))*X(J)+1.0D 0 IF (J.GT.1) A=A-X(J-1) IF (J.LT.N) A=A-X(J+1) F=F+ABS(A)**P IF (J.LE.K) THEN F=F+ABS(X(J)+X(J+K))**P ENDIF 71 CONTINUE RETURN 80 K=N/2 DO 82 J=1,N P=0.0D 0 DO 81 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 81 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) 81 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) ENDIF F=F+(DBLE(N+J)-P)**2/DBLE(N) 82 CONTINUE RETURN 90 K=N/2 DO 92 J=1,N P=0.0D 0 DO 91 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 91 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) 91 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) ENDIF F=F+(P+DBLE(J)*(1.0D 0-COS(X(J))))/DBLE(N) 92 CONTINUE RETURN 100 K=N/2 DO 102 J=1,N P=0.0D 0 Q=1.0D 0+DBLE(J)/1.0D 1 DO 101 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 101 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 P=P+A*SIN(Q*X(J)+B*X(I)+C) 101 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 P=P+A*SIN(Q*X(J)+B*X(I)+C) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 P=P+A*SIN(Q*X(J)+B*X(I)+C) ENDIF F=F+P 102 CONTINUE F=F/DBLE(N) RETURN 110 P=-0.2008D-2 Q=-0.1900D-2 R=-0.0261D-2 DO 112 I=0,N-5,5 A=1.0D 0 B=0.0D 0 DO 111 J=1,5 A=A*X(I+J) B=B+X(I+J)**2 111 CONTINUE A=EXP(A) B=B-1.0D 1-P C=X(I+2)*X(I+3)-5.0D 0*X(I+4)*X(I+5)-Q D=X(I+1)**3+X(I+2)**3+1.0D 0-R F=F+A+1.0D 1*(B**2+C**2+D**2) 112 CONTINUE RETURN 120 DO 121 J=2,N A=X(J-1)-3.0D 0 B=X(J-1)-X(J) F=F+A**2+B**2+EXP(2.0D 1*B) 121 CONTINUE RETURN 130 DO 131 J=2,N A=X(J)**2 B=X(J-1)**2 C=A+1.0D 0 D=B+1.0D 0 F=F+B**C+A**D 131 CONTINUE RETURN 140 P=1.0D 0/DBLE(N+1) Q=0.5D 0*P**2 DO 141 J=1,N A=2.0D 0*X(J)+Q*(X(J)+DBLE(J)*P+1.0D 0)**3 IF(J.GT.1) A=A-X(J-1) IF(J.LT.N) A=A-X(J+1) F=F+A**2 141 CONTINUE RETURN 150 P=1.0D 0/DBLE(N+1) Q=2.0D 0/P R=2.0D 0*P DO 151 J=2,N A=X(J-1)-X(J) F=F+Q*X(J-1)*A IF (ABS(A).LE.1.0D-6) THEN F=F+R*EXP(X(J))*(1.0D 0+A/2.0D 0*(1.0D 0+A/3.0D 0*(1.0D 0+ & A/4.0D 0))) ELSE B=EXP(X(J-1))-EXP(X(J)) F=F+R*B/A ENDIF 151 CONTINUE F=F+Q*X(N)**2+R*(EXP(X(1))-1.0D 0)/X(1) & +R*(EXP(X(N))-1.0D 0)/X(N) RETURN 160 DO 161 J=1,N A=DBLE(J)*(1.0D 0-COS(X(J))) IF(J.GT.1) A=A+DBLE(J)*SIN(X(J-1)) IF(J.LT.N) A=A-DBLE(J)*SIN(X(J+1)) F=F+A 161 CONTINUE RETURN 170 P=1.0D 0/DBLE(N+1) DO 171 J=1,N IF (J.EQ.1) THEN F=F+0.25D 0*X(J)**2/P+1.25D-1*X(J+1)**2/P+ & P*(EXP(X(J))-1.0D 0) ELSE IF (J.EQ.N) THEN F=F+0.25D 0*X(J)**2/P+1.25D-1*X(J-1)**2/P+ & P*(EXP(X(J))-1.0D 0) ELSE F=F+1.25D-1*(X(J+1)-X(J-1))**2/P+P*(EXP(X(J))-1.0D 0) ENDIF 171 CONTINUE RETURN 180 P=1.0D 0/DBLE(N+1) DO 181 J=1,N Q=DBLE(J)*P IF (J.EQ.1) THEN F=F+0.5D 0*X(J)**2/P+0.25D 0*X(J+1)**2/P- & P*(X(J)**2+2.0D 0*X(J)*Q) ELSE IF (J.EQ.N) THEN F=F+0.5D 0*X(J)**2/P+0.25D 0*X(J-1)**2/P- & P*(X(J)**2+2.0D 0*X(J)*Q) ELSE F=F+2.5D-1*(X(J+1)-X(J-1))**2/P-P*(X(J)**2+ & 2.0D 0*X(J)*Q) ENDIF 181 CONTINUE RETURN 190 P=1.0D 0/DBLE(N+1) DO 191 J=1,N Q=EXP(2.0D 0*DBLE(J)*P) IF (J.EQ.1) THEN R=1.0D 0/3.0D 0 F=F+0.5D 0*(X(J)-R)**2/P+7.0D 0*R**2+ & 2.5D-1*(X(J+1)-R)**2/P+P*(X(J)**2+2.0D 0*X(J)*Q) ELSE IF (J.EQ.N) THEN R=EXP(2.0D 0)/3.0D 0 F=F+0.5D 0*(X(J)-R)**2/P+7.0D 0*R**2+ & 2.5D-1*(X(J-1)-R)**2/P+P*(X(J)**2+2.0D 0*X(J)*Q) ELSE F=F+2.5D-1*(X(J+1)-X(J-1))**2/P+P*(X(J)**2+ & 2.0D 0*X(J)*Q) ENDIF 191 CONTINUE RETURN 200 P=1.0D 0/DBLE(N+1) DO 201 J=1,N IF (J.EQ.1) THEN F=F+(0.5D 0*X(J)**2/P-P)+ & (2.5D-1*X(J+1)**2/P-P)*EXP(-2.0D 0*X(J)**2) ELSE IF (J.EQ.N) THEN F=F+(0.5D 0*X(J)**2/P-P)*EXP(-2.0D 0)+ & (2.5D-1*X(J-1)**2/P-P)*EXP(-2.0D 0*X(J)**2) ELSE F=F+(2.5D-1*(X(J+1)-X(J-1))**2/P-P)*EXP(-2.0D 0*X(J)**2) ENDIF 201 CONTINUE RETURN 210 P=1.0D 0/DBLE(N+1) DO 211 J=1,N IF (J.EQ.1) THEN A=0.5D 0*(X(J+1)-1.0D 0)/P B=(X(J)-1.0D 0)/P U=ATAN(A) V=ATAN(B) F=F+P*(X(J)**2+A*U-LOG(SQRT(1.0D 0+A**2)))+ & 0.5D 0*P*(1.0D 0+B*V-LOG(SQRT(1.0D 0+B**2))) ELSE IF (J.EQ.N) THEN A=0.5D 0*(2.0D 0-X(J-1))/P B=(2.0D 0-X(J))/P U=ATAN(A) V=ATAN(B) F=F+P*(X(J)**2+A*U-LOG(SQRT(1.0D 0+A**2)))+ & 0.5D 0*P*(4.0D 0+B*V-LOG(SQRT(1.0D 0+B**2))) ELSE A=0.5D 0*(X(J+1)-X(J-1))/P U=ATAN(A) F=F+P*(X(J)**2+A*U-LOG(SQRT(1.0D 0+A**2))) ENDIF 211 CONTINUE RETURN 220 P=1.0D 0/DBLE(N+1) DO 221 J=1,N IF (J.EQ.1) THEN A= 0.5D 0*X(J+1)/P B= X(J)/P F=F+P*(1.0D 2*(X(J)-A**2)**2+(1.0D 0-A)**2)+ & 0.5D 0*P*(1.0D 2*B**4+(1.0D 0-B)**2) ELSE IF (J.EQ.N) THEN A=-0.5D 0*X(J-1)/P B=-X(J)/P F=F+P*(1.0D 2*(X(J)-A**2)**2+(1.0D 0-A)**2)+ & 0.5D 0*P*(1.0D 2*B**4+(1.0D 0-B)**2) ELSE A=0.5D 0*(X(J+1)-X(J-1))/P F=F+P*(1.0D 2*(X(J)-A**2)**2+(1.0D 0-A)**2) ENDIF 221 CONTINUE RETURN 410 DO 411 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=1.0D 1*(X(KA+1)-X(KA)**2) ELSE FA=1.0D 0-X(KA-1) ENDIF F=F+FA**2 411 CONTINUE F=0.5D 0*F RETURN 420 DO 421 KA=1,NA IF(MOD(KA,4).EQ.1) THEN FA=X(KA)+1.0D 1*X(KA+1) ELSEIF(MOD(KA,4).EQ.2) THEN FA=2.23606797749979D 0*(X(KA+1)-X(KA+2)) ELSEIF(MOD(KA,4).EQ.3) THEN FA=(X(KA-1)-2.0D 0*X(KA))**2 ELSE FA=3.16227766016838D 0*(X(KA-3)-X(KA))**2 ENDIF F=F+FA**2 421 CONTINUE F=0.5D 0*F RETURN 430 DO 431 KA=1,NA FA=(3.0D 0-2.0D 0*X(KA))*X(KA)+1.0D 0 IF(KA.GT.1) FA=FA-X(KA-1) IF(KA.LT.N) FA=FA-2.0D 0*X(KA+1) F=F+FA**2 431 CONTINUE F=0.5D 0*F RETURN 440 DO 441 J=1,N A=DBLE(J) F=F+(A*X(J)/(1.0D 0+X(J)))**2 441 CONTINUE RETURN 450 DO 451 KA=1,NA I=KA FA=(3.0D 0-2.0D 0*X(I))*X(I)+1.0D 0 IF (I.GT.1) FA=FA-X(I-1) IF (I.LT.N) FA=FA-X(I+1) F=F+FA**2 451 CONTINUE F=0.5D 0*F RETURN 460 DO 463 KA=1,NA I=KA FA=(2.0D 0+5.0D 0*X(I)**2)*X(I)+1.0D 0 DO 461 J=MAX(1,I-5),MIN(N,I+1) IF (I.NE.J) FA=FA+X(J)*(1.0D 0+X(J)) 461 CONTINUE F=F+FA**2 463 CONTINUE F=0.5D 0*F RETURN 470 DO 471 KA=1,NA I=(KA+1)/2 IF (MOD(KA,2).EQ.1) THEN FA=X(I)+X(I+1)*((5.0D 0-X(I+1))*X(I+1)-2.0D 0)-1.3D 1 ELSE FA=X(I)+X(I+1)*((1.0D 0+X(I+1))*X(I+1)-1.4D 1)-2.9D 1 ENDIF F=F+FA**2 471 CONTINUE F=0.5D 0*F RETURN 480 DO 481 KA=1,NA I=MOD(KA,N/2)+1 J=I+N/2 M=5*N IF (KA.LE.M/2) THEN IA=1 ELSE IA=2 ENDIF IB=5-KA/(M/4) IC=MOD(KA,5)+1 FA=(X(I)**IA-X(J)**IB)**IC F=F+FA**2 481 CONTINUE F=0.5D 0*F RETURN 490 DO 491 KA=1,NA I=2*((KA+5)/6)-1 IF (MOD(KA,6).EQ.1) THEN FA=X(I)+3.0D 0*X(I+1)*(X(I+2)-1.0D 0)+X(I+3)**2-1.0D 0 ELSEIF (MOD(KA,6).EQ.2) THEN FA=(X(I)+X(I+1))**2+(X(I+2)-1.0D 0)**2-X(I+3)-3.0D 0 ELSEIF (MOD(KA,6).EQ.3) THEN FA=X(I)*X(I+1)-X(I+2)*X(I+3) ELSEIF (MOD(KA,6).EQ.4) THEN FA=2.0D 0*X(I)*X(I+2)+X(I+1)*X(I+3)-3.0D 0 ELSEIF (MOD(KA,6).EQ.5) THEN FA=(X(I)+X(I+1)+X(I+2)+X(I+3))**2+(X(I)-1.0D 0)**2 ELSE FA=X(I)*X(I+1)*X(I+2)*X(I+3)+(X(I+3)-1.0D 0)**2-1.0D 0 ENDIF F=F+FA**2 491 CONTINUE F=0.5D 0*F RETURN 500 DO 501 KA=1,NA I=(KA+1)/2 J=MOD(KA,2) IF (J.EQ.0) THEN FA=6.0D 0-EXP(2.0D 0*X(I))-EXP(2.0D 0*X(I+1)) ELSEIF (I.EQ.1) THEN FA=4.0D 0-EXP(X(I))-EXP(X(I+1)) ELSEIF (I.EQ.N) THEN FA=8.0D 0-EXP(3.0D 0*X(I-1))-EXP(3.0D 0*X(I)) ELSE FA=8.0D 0-EXP(3.0D 0*X(I-1))-EXP(3.0D 0*X(I))+ & 4.0D 0-EXP(X(I))-EXP(X(I+1)) ENDIF F=F+FA**2 501 CONTINUE F=0.5D 0*F RETURN 510 DO 511 KA=1,NA I=(KA+1)/2 IF (MOD(KA,2).EQ.1) THEN FA=1.0D 1*(2.0D 0*X(I)/(1.0D 0+X(I)**2)-X(I+1)) ELSE FA=X(I)-1.0D 0 ENDIF F=F+FA**2 511 CONTINUE F=0.5D 0*F RETURN 520 DO 521 KA=1,NA I=3*((KA+5)/6)-2 IF (MOD(KA,6).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) ELSEIF (MOD(KA,6).EQ.2) THEN FA=X(I+2)-1.0D 0 ELSEIF (MOD(KA,6).EQ.3) THEN FA=(X(I+3)-1.0D 0)**2 ELSEIF (MOD(KA,6).EQ.4) THEN FA=(X(I+4)-1.0D 0)**3 ELSEIF (MOD(KA,6).EQ.5) THEN FA=X(I)**2*X(I+3)+SIN(X(I+3)-X(I+4))-1.0D 1 ELSE FA=X(I+1)+(X(I+2)**2*X(I+3))**2-2.0D 1 ENDIF F=F+FA**2 521 CONTINUE F=0.5D 0*F RETURN 530 DO 531 KA=1,NA I=3*((KA+6)/7)-2 IF (MOD(KA,7).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) ELSEIF (MOD(KA,7).EQ.2) THEN FA=1.0D 1*(X(I+1)**2-X(I+2)) ELSEIF (MOD(KA,7).EQ.3) THEN FA=(X(I+2)-X(I+3))**2 ELSEIF (MOD(KA,7).EQ.4) THEN FA=(X(I+3)-X(I+4))**2 ELSEIF (MOD(KA,7).EQ.5) THEN FA=X(I)+X(I+1)**2+X(I+2)-3.0D 1 ELSEIF (MOD(KA,7).EQ.6) THEN FA=X(I+1)-X(I+2)**2+X(I+3)-1.0D 1 ELSE FA=X(I)*X(I+4)-1.0D 1 ENDIF F=F+FA**2 531 CONTINUE F=0.5D 0*F RETURN 540 DO 546 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 542 K=1,3 A=DBLE(K*K)/DBLE(L) DO 541 J=1,4 IF (X(I+J).EQ.0) X(I+J)=1.0D-16 A=A*SIGN(1.0D 0,X(I+J))*ABS(X(I+J))**(DBLE(J)/DBLE(K*L)) 541 CONTINUE FA=FA+A 542 CONTINUE F=F+FA**2 546 CONTINUE F=0.5D 0*F RETURN 550 DO 556 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 552 K=1,3 A=0.0D 0 DO 551 J=1,4 A=A+X(I+J)*(DBLE(J)/DBLE(K*L)) 551 CONTINUE FA=FA+EXP(A)*DBLE(K*K)/DBLE(L) 552 CONTINUE F=F+FA**2 556 CONTINUE F=0.5D 0*F RETURN 560 DO 563 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 561 J=1,4 FA=FA+DBLE((1-2*MOD(J,2))*L*J*J)*SIN(X(I+J))+ & DBLE(L*L*J)*COS(X(I+J)) 561 CONTINUE F=F+FA**2 563 CONTINUE F=0.5D 0*F RETURN 570 DO 571 KA=1,NA ALFA=0.5D 0 IF (KA.EQ.1) THEN FA=ALFA-(1.0D 0-ALFA)*X(3)-X(1)*(1.0D 0+4.0D 0*X(2)) ELSEIF(KA.EQ.2) THEN FA=-(2.0D 0-ALFA)*X(4)-X(2)*(1.0D 0+4.0D 0*X(1)) ELSEIF(KA.EQ.N-1) THEN FA=ALFA*X(N-3)-X(N-1)*(1.0D 0+4.0D 0*X(N)) ELSEIF (KA.EQ.N) THEN FA=ALFA*X(N-2)-(2.0D 0-ALFA)-X(N)*(1.0D 0+4.0D 0*X(N-1)) ELSEIF (MOD(KA,2).EQ.1) THEN FA=ALFA*X(KA-2)-(1.0D 0-ALFA)*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA+1)) ELSE FA=ALFA*X(KA-2)-(2.0D 0-ALFA)*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA-1)) ENDIF F=F+FA**2 571 CONTINUE F=0.5D 0*F RETURN 580 DO 581 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2) ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2) ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) ENDIF F=F+FA**2 581 CONTINUE F=0.5D 0*F RETURN 590 DO 591 KA=1,NA IF (KA.EQ.1) THEN FA=-2.0D 0*X(KA)**2+3.0D 0*X(KA)-2.0D 0*X(KA+1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 ELSEIF (KA.LE.N-1) THEN FA=-2.0D 0*X(KA)**2+3.0D 0*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 ELSE FA=-2.0D 0*X(N)**2+3.0D 0*X(N)-X(N-1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 ENDIF F=F+FA**2 591 CONTINUE F=0.5D 0*F RETURN 600 DO 601 KA=1,NA U=1.0D 0/DBLE(N+1) V=DBLE(KA)*U FA=2.0D 0*X(KA)+0.5D 0*U*U*(X(KA)+V+1.0D 0)**3+1.0D 0 IF(KA.GT.1) FA=FA-X(KA-1) IF(KA.LT.N) FA=FA-X(KA+1) F=F+FA**2 601 CONTINUE F=0.5D 0*F RETURN 610 DO 611 KA=1,NA I=3*((KA+6)/7)-2 IF (MOD(KA,7).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) ELSEIF (MOD(KA,7).EQ.2) THEN FA=X(I+1)+X(I+2)-2.0D 0 ELSEIF (MOD(KA,7).EQ.3) THEN FA=X(I+3)-1.0D 0 ELSEIF (MOD(KA,7).EQ.4) THEN FA=X(I+4)-1.0D 0 ELSEIF (MOD(KA,7).EQ.5) THEN FA=X(I)+3.0D 0*X(I+1) ELSEIF (MOD(KA,7).EQ.6) THEN FA=X(I+2)+X(I+3)-2.0D 0*X(I+4) ELSE FA=1.0D 1*(X(I+1)**2-X(I+4)) ENDIF F=F+FA**2 611 CONTINUE F=0.5D 0*F RETURN 620 DO 621 KA=1,NA I=KA/2 IF (KA.EQ.1) THEN FA=X(KA)-1.0D 0 ELSE IF (MOD(KA,2).EQ.0) THEN FA=1.0D 1*(X(I)**2-X(I+1)) ELSE A=2.0D 0*EXP(-(X(I)-X(I+1))**2) B=EXP(-2.0D 0*(X(I+1)-X(I+2))**2) FA=A+B ENDIF F=F+FA**2 621 CONTINUE F=0.5D 0*F RETURN 720 DO 721 KA=1,NA A1=0.414214D 0 IF (KA.EQ.1) THEN FA=X(1)-(1.0D 0-X(1))*X(3)-A1*(1.0D 0+4.0D 0*X(2)) ELSEIF (KA.EQ.2) THEN FA=-(1.0D 0-X(1))*X(4)-A1*(1.0D 0+4.0D 0*X(2)) ELSEIF (KA.EQ.3) THEN FA=A1*X(1)-(1.0D 0-X(1))*X(5)-X(3)*(1.0D 0+4.0D 0*X(2)) ELSEIF (KA.LE.N-2) THEN FA=X(1)*X(KA-2)-(1.0D 0-X(1))*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA-1)) ELSEIF (KA.EQ.N-1) THEN FA=X(1)*X(N-3)-X(N-1)*(1.0D 0+4.0D 0*X(N-2)) ELSE FA=X(1)*X(N-2)-(1.0D 0-X(1))-X(N)*(1.0D 0+4.0D 0*X(N-1)) ENDIF F=F+FA**2 721 CONTINUE F=0.5D 0*F RETURN 730 DO 733 KA=1,NA J=(KA-1)/5 FA=5.0D 0-DBLE(J+1)*(1.0D 0-COS(X(KA)))-SIN(X(KA)) J=J*5 DO 731 I=J+1,J+5 FA=FA-COS(X(I)) 731 CONTINUE F=F+FA**2 733 CONTINUE F=0.5D 0*F RETURN 740 DO 741 KA=1,NA IF (KA.LT.2) THEN FA=3.0D 0*X(KA)**3+2.0D 0*X(KA+1)-5.0D 0+ & SIN(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1)) ELSEIF (KA.LT.N) THEN FA=3.0D 0*X(KA)**3+2.0D 0*X(KA+1)-5.0D 0+ & SIN(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1))+4.0D 0*X(KA)- & X(KA-1)*EXP(X(KA-1)-X(KA))-3.0D 0 ELSE FA=4.0D 0*X(KA)-X(KA-1)*EXP(X(KA-1)-X(KA))-3.0D 0 ENDIF F=F+FA**2 741 CONTINUE F=0.5D 0*F RETURN 750 DO 751 KA=1,NA IF (MOD(KA,2).EQ.1) THEN FA=0.0D 0 IF (KA.NE.1) FA=FA-6.0D 0*(X(KA-2)-X(KA))**3+1.0D 1- & 4.0D 0*X(KA-1)-2.0D 0*SIN(X(KA-2)-X(KA-1)-X(KA))* & SIN(X(KA-2)+X(KA-1)-X(KA)) IF (KA.NE.N) FA=FA+3.0D 0*(X(KA)-X(KA+2))**3-5.0D 0+ & 2.0D 0*X(KA+1)+SIN(X(KA)-X(KA+1)-X(KA+2))* & SIN(X(KA)+X(KA+1)-X(KA+2)) ELSE EX=EXP(X(KA-1)-X(KA)-X(KA+1)) FA=4.0D 0*X(KA)-(X(KA-1)-X(KA+1))*EX-3.0D 0 ENDIF F=F+FA**2 751 CONTINUE F=0.5D 0*F RETURN 760 DO 761 KA=1,NA H=2.0D 0 IF (KA.EQ.1) THEN FA=((3.0D 0-H*X(1))*X(1)-2.0D 0*X(2)+1.0D 0)**2 ELSEIF (KA.LE.N-1) THEN FA=((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)**2 ELSE FA=((3.0D 0-H*X(N))*X(N)-X(N-1)+1.0D 0)**2 ENDIF F=F+FA**2 761 CONTINUE F=0.5D 0*F RETURN 780 DO 781 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2 ELSEIF (KA.LT.3) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2 ELSEIF (KA.LT.N-1) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+X(KA+1)- & X(KA+2)**2 ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2) ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) & +X(KA-1)**2-X(KA-2) ENDIF F=F+FA**2 781 CONTINUE F=0.5D 0*F RETURN 790 DO 791 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2+ & X(KA+2)-X(KA+3)**2 ELSEIF (KA.LT.3) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2+X(KA+1)-X(KA+2)**2+ & X(KA+2)-X(KA+3)**2 ELSEIF (KA.LT.4) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2+X(KA+2)-X(KA+3)**2 ELSEIF (KA.LT.N-2) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2-X(KA-3)+X(KA+2)-X(KA+3)**2 ELSEIF (KA.LT.N-1) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2-X(KA-3)+X(KA+2) ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)+X(KA-2)**2-X(KA-3) ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) & +X(KA-1)**2-X(KA-2)+X(KA-2)**2-X(KA-3) ENDIF F=F+FA**2 791 CONTINUE F=0.5D 0*F RETURN 810 DO 811 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=X(KA)+((5.0D 0-X(KA+1))*X(KA+1)-2.0D 0)*X(KA+1)-1.3D 1 ELSE FA=X(KA-1)+((X(KA)+1.0D 0)*X(KA)-1.4D 1)*X(KA)-2.9D 1 ENDIF F=F+FA**2 811 CONTINUE F=0.5D 0*F RETURN 830 DO 831 KA=1,NA IF(MOD(KA,4).EQ.1) THEN FA=(EXP(X(KA))-X(KA+1))**2 ELSEIF (MOD(KA,4).EQ.2) THEN FA=1.0D 1*(X(KA)-X(KA+1))**3 ELSEIF (MOD(KA,4).EQ.3) THEN FA=X(KA)-X(KA+1) FA=(SIN(FA)/COS(FA))**2 ELSE FA=X(KA)-1.0D 0 ENDIF F=F+FA**2 831 CONTINUE F=0.5D 0*F RETURN 840 DO 841 KA=1,NA IF(KA.LT.2) THEN FA=X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0+2.0D 0*X(KA+1) ELSEIF (KA.LT.N) THEN FA=X(KA-1)+X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0+2.0D 0*X(KA+1) ELSE FA=X(KA-1)+X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0 ENDIF F=F+FA**2 841 CONTINUE F=0.5D 0*F RETURN 860 DO 861 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=1.0D 4*X(KA)*X(KA+1)-1.0D 0 ELSE FA=EXP(-X(KA-1))+EXP(-X(KA))-1.0001D 0 ENDIF F=F+FA**2 861 CONTINUE F=0.5D 0*F RETURN 870 DO 871 KA=1,NA IF(MOD(KA,4).EQ.1) THEN FA=-2.0D 2*X(KA)*(X(KA+1)-X(KA)**2)-(1.0D 0-X(KA)) ELSEIF(MOD(KA,4).EQ.2) THEN FA=2.0D 2*(X(KA)-X(KA-1)**2)+2.02D 1*(X(KA)-1.0D 0)+ & 1.98D 1*(X(KA+2)-1.0D 0) ELSEIF(MOD(KA,4).EQ.3) THEN FA=-1.8D 2*X(KA)*(X(KA+1)-X(KA)**2)-(1.0D 0-X(KA)) ELSE FA=1.8D 2*(X(KA)-X(KA-1)**2)+2.02D 1*(X(KA)-1.0D 0)+ & 1.98D 1*(X(KA-2)-1.0D 0) ENDIF F=F+FA**2 871 CONTINUE F=0.5D 0*F RETURN 880 DO 881 KA=1,NA IF (KA.LT.2) THEN FA=X(KA)-EXP(COS(DBLE(KA)*(X(KA)+X(KA+1)))) ELSEIF (KA.LT.N) THEN FA=X(KA)-EXP(COS(DBLE(KA)*(X(KA-1)+X(KA)+X(KA+1)))) ELSE FA=X(KA)-EXP(COS(DBLE(KA)*(X(KA-1)+X(KA)))) ENDIF F=F+FA**2 881 CONTINUE F=0.5D 0*F RETURN 900 DO 901 KA=1,NA IF(KA.EQ.1) THEN FA=3.0D 0*X(KA)*(X(KA+1)-2.0D 0*X(KA))+0.25D 0*X(KA+1)**2 ELSEIF(KA.EQ.N) THEN FA=3.0D 0*X(KA)*(2.0D 1-2.0D 0*X(KA)+X(KA-1))+ & 0.25D 0*(2.0D 1-X(KA-1))**2 ELSE FA=3.0D 0*X(KA)*(X(KA+1)-2.0D 0*X(KA)+X(KA-1))+ & 0.25D 0*(X(KA+1)-X(KA-1))**2 ENDIF F=F+FA**2 901 CONTINUE F=0.5D 0*F RETURN 910 DO 911 KA=1,NA H=1.0D 0/DBLE(N+1) IF (KA.LT.2) THEN FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA+1) ELSE IF (KA.LT.N) THEN FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA-1)-X(KA+1) ELSE FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA-1)-1.0D 0 ENDIF F=F+FA**2 911 CONTINUE F=0.5D 0*F RETURN 920 DO 921 KA=1,NA FA=6.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 A3=0.0D 0 IF (KA.GT.1) THEN FA=FA-4.0D 0*X(KA-1) A1=A1-X(KA-1) A2=A2+X(KA-1) A3=A3+2.0D 0*X(KA-1) ENDIF IF (KA.GT.2) THEN FA=FA+X(KA-2) A3=A3-X(KA-2) ENDIF IF (KA.LT.N-1) THEN FA=FA+X(KA+2) A3=A3+X(KA+2) ENDIF IF (KA.LT.N) THEN FA=FA-4.0D 0*X(KA+1) A1=A1+X(KA+1) A2=A2+X(KA+1) A3=A3-2.0D 0*X(KA+1) ENDIF IF (KA.GE.N-1) THEN FA=FA+1.0D 0 A3=A3+1.0D 0 ENDIF IF (KA.GE.N) THEN FA=FA-4.0D 0 A1=A1+1.0D 0 A2=A2+1.0D 0 A3=A3-2.0D 0 ENDIF FA=FA-0.5D 0*PAR*(A1*A2-X(KA)*A3) F=F+FA**2 921 CONTINUE F=0.5D 0*F RETURN 930 DO 931 KA=1,NA H=1.0D 0/DBLE(M+1) IF(KA.LE.M) THEN J=KA+M FA=6.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 IF (KA.EQ.1) THEN A1=A1+1.0D 0 ENDIF IF (KA.GT.1) THEN FA=FA-4.0D 0*X(KA-1) A1=A1-X(J-1) A2=A2+2.0D 0*X(KA-1) ENDIF IF (KA.GT.2) THEN FA=FA+X(KA-2) A2=A2-X(KA-2) ENDIF IF (KA.LT.M-1) THEN FA=FA+X(KA+2) A2=A2+X(KA+2) ENDIF IF (KA.LT.M) THEN FA=FA-4.0D 0*X(KA+1) A1=A1+X(J+1) A2=A2-2.0D 0*X(KA+1) ENDIF IF (KA.EQ.M) THEN A1=A1+1.0D 0 ENDIF FA=FA+0.5D 0*PAR*H*(X(KA)*A2+X(J)*A1*H**2) ELSE J=KA-M FA=-2.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 IF (J.EQ.1) THEN A2=A2+1.0D 0 ENDIF IF (J.GT.1) THEN FA=FA+X(KA-1) A1=A1-X(J-1) A2=A2-X(KA-1) ENDIF IF (J.LT.M) THEN FA=FA+X(KA+1) A1=A1+X(J+1) A2=A2+X(KA+1) ENDIF IF (J.EQ.M) THEN A2=A2+1.0D 0 ENDIF FA=FA+0.5D 0*PAR*H*(X(KA)*A1+X(J)*A2) ENDIF F=F+FA**2 931 CONTINUE F=0.5D 0*F RETURN 940 DO 941 KA=1,NA FA=4.0D 0*X(KA)-PAR*EXP(X(KA)) J=(KA-1)/M+1 I=KA-(J-1)*M IF(I.GT.1) FA=FA-X(KA-1) IF(I.LT.M) FA=FA-X(KA+1) IF(J.GT.1) FA=FA-X(KA-M) IF(J.LT.M) FA=FA-X(KA+M) F=F+FA**2 941 CONTINUE F=0.5D 0*F RETURN 950 DO 951 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=4.0D 0*X(KA)+PAR*X(KA)**3/(1.0D 0+PAR*DBLE(I)**2+ & PAR*DBLE(J)**2) IF(I.EQ.1) FA=FA-1.0D 0 IF(I.GT.1) FA=FA-X(KA-1) IF(I.LT.M) FA=FA-X(KA+1) IF(I.EQ.M) FA=FA-2.0D 0+EXP(DBLE(J)/DBLE(M+1)) IF(J.EQ.1) FA=FA-1.0D 0 IF(J.GT.1) FA=FA-X(KA-M) IF(J.LT.M) FA=FA-X(KA+M) IF(J.EQ.M) FA=FA-2.0D 0+EXP(DBLE(I)/DBLE(M+1)) F=F+FA**2 951 CONTINUE F=0.5D 0*F RETURN 960 DO 961 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M A1=DBLE(I)/DBLE(M+1) A2=DBLE(J)/DBLE(M+1) FA=4.0D 0*X(KA)-PAR*SIN(2.0D 0*PI*X(KA))- & 1.0D 4*((A1-0.25D 0)**2+(A2-0.75D 0)**2)*PAR IF(I.EQ.1) FA=FA-X(KA+1)-PAR*SIN(PI*X(KA+1)*DBLE(M+1)) IF(I.GT.1.AND.I.LT.M) FA=FA-X(KA+1)-X(KA-1)- & PAR*SIN(PI*(X(KA+1)-X(KA-1))*DBLE(M+1)) IF(I.EQ.M) FA=FA-X(KA-1)+PAR*SIN(PI*X(KA-1)*DBLE(M+1)) IF(J.EQ.1) FA=FA-X(KA+M)-PAR*SIN(PI*X(KA+M)*DBLE(M+1)) IF(J.GT.1.AND.J.LT.M) FA=FA-X(KA+M)-X(KA-M)- & PAR*SIN(PI*(X(KA+M)-X(KA-M))*DBLE(M+1)) IF(J.EQ.M) FA=FA-X(KA-M)+PAR*SIN(PI*X(KA-M)*DBLE(M+1)) F=F+FA**2 961 CONTINUE F=0.5D 0*F RETURN 970 DO 971 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=8.0D 0*X(KA)**2 IF(I.EQ.1) FA=FA-2.0D 0*X(KA)*(X(KA+1)+1.0D 0)- & 0.5D 0*(X(KA+1)-1.0D 0)**2- & 1.5D 0*X(KA)**2*(X(KA+1)-1.0D 0)*PAR IF(I.GT.1.AND.I.LT.M) FA=FA-2.0D 0*X(KA)*(X(KA+1)+X(KA-1))- & 0.5D 0*(X(KA+1)-X(KA-1))**2- & 1.5D 0*X(KA)**2*(X(KA+1)-X(KA-1))*PAR IF(I.EQ.M) FA=FA-2.0D 0*X(KA)*X(KA-1)- & 0.5D 0*X(KA-1)**2+ & 1.5D 0*X(KA)**2*X(KA-1)*PAR IF(J.EQ.1) FA=FA-2.0D 0*X(KA)*(X(KA+M)+1.0D 0)- & 0.5D 0*(X(KA+M)-1.0D 0)**2 IF(J.GT.1.AND.J.LT.M) FA=FA-2.0D 0*X(KA)*(X(KA+M)+X(KA-M))- & 0.5D 0*(X(KA+M)-X(KA-M))**2 IF(J.EQ.M) FA=FA-2.0D 0*X(KA)*X(KA-M)- & 0.5D 0*X(KA-M)**2 IF (I.EQ.1.AND.J.EQ.1) FA=FA-PAR/DBLE(M+1) F=F+FA**2 971 CONTINUE F=0.5D 0*F RETURN 980 DO 981 KA=1,NA A3=0.0D 0 J=(KA-1)/M+1 I=KA-(J-1)*M A1=PAR*DBLE(I) A2=PAR*DBLE(J) FA=4.0D 0*X(KA)-2.0D 3*A1*A2*(1.0D 0-A1)*(1.0D 0-A2)*PAR**2 IF(I.GT.1) THEN FA=FA-X(KA-1) A3=A3-X(KA-1) ENDIF IF(I.LT.M) THEN FA=FA-X(KA+1) A3=A3+X(KA+1) ENDIF IF(J.GT.1) THEN FA=FA-X(KA-M) A3=A3-X(KA-M) ENDIF IF(J.LT.M) THEN FA=FA-X(KA+M) A3=A3+X(KA+M) ENDIF FA=FA+2.0D 1*PAR*A3*X(KA) F=F+FA**2 981 CONTINUE F=0.5D 0*F RETURN 990 DO 991 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=2.0D 1*X(KA)-PAR*MAX(0.0D 0,X(KA))- & SIGN(PAR,(DBLE(I)/DBLE(M+2)-0.5D 0)) IF (J.GT.2) THEN FA=FA+X(KA-M-M) ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA-M-1) ENDIF FA=FA-8.0D 0*X(KA-M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA-M+1) ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN FA=FA+X(KA-2) ENDIF FA=FA-8.0D 0*X(KA-1) ENDIF IF (I.LT.M) THEN FA=FA-8.0D 0*X(KA+1) IF (I.LT.M-1) THEN FA=FA+X(KA+2) ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA+M-1) ENDIF FA=FA-8.0D 0*X(KA+M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA+M+1) ENDIF ENDIF IF (J.LT.M-1) THEN FA=FA+X(KA+M+M) ENDIF F=F+FA**2 991 CONTINUE F=0.5D 0*F RETURN 660 DO 662 KA=1,NA H=0.5D 0/DBLE(M+2) J=(KA-1)/M+1 I=KA-(J-1)*M FA=2.0D 1*X(KA) A1=0.0D 0 A2=0.0D 0 A3=0.0D 0 A4=0.0D 0 IF (J.GT.2) THEN FA=FA+X(KA-M-M) A4=A4+X(KA-M-M) ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA-M-1) A3=A3+X(KA-M-1) A4=A4+X(KA-M-1) ENDIF FA=FA-8.0D 0*X(KA-M) A1=A1-X(KA-M) A4=A4-4.0D 0*X(KA-M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA-M+1) A3=A3-X(KA-M+1) A4=A4+X(KA-M+1) ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN FA=FA+X(KA-2) A3=A3+X(KA-2) ENDIF FA=FA-8.0D 0*X(KA-1) A2=A2-X(KA-1) A3=A3-4.0D 0*X(KA-1) ENDIF IF (I.LT.M) THEN FA=FA-8.0D 0*X(KA+1) A2=A2+X(KA+1) A3=A3+4.0D 0*X(KA+1) IF (I.LT.M-1) THEN FA=FA+X(KA+2) A3=A3-X(KA+2) ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA+M-1) A3=A3+X(KA+M-1) A4=A4-X(KA+M-1) ENDIF FA=FA-8.0D 0*X(KA+M) A1=A1+X(KA+M) A4=A4+4.0D 0*X(KA+M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA+M+1) A3=A3-X(KA+M+1) A4=A4-X(KA+M+1) ENDIF ENDIF IF (J.LT.M-1) THEN FA=FA+X(KA+M+M) A4=A4-X(KA+M+M) ENDIF IF (J.EQ.M) THEN IF (I.GT.1) THEN FA=FA-H-H A3=A3-H A4=A4+H ENDIF FA=FA+8.0D 0*H A1=A1-H A4=A4-4.0D 0*H IF (I.LT.M) THEN FA=FA-2.0D 0*H A3=A3+H A4=A4+H ENDIF FA=FA+H A4=A4-H ENDIF IF (J.EQ.M-1) THEN FA=FA-H A4=A4+H ENDIF FA=FA+0.25D 0*PAR*(A1*A3-A2*A4) F=F+FA**2 662 CONTINUE F=0.5D 0*F RETURN 670 DO 671 KA=1,NA H=1.0D 0/DBLE(N+1) A1=DBLE(KA)*H A2=(A1-0.5D 0)**2 IF (KA.LT.2) THEN FA=2.0D 0*X(KA)-X(KA+1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) ELSEIF (KA.LT.N) THEN FA=2.0D 0*X(KA)-X(KA+1)-X(KA-1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) ELSE FA=2.0D 0*X(KA)-X(KA-1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) ENDIF F=F+FA**2 671 CONTINUE F=0.5D 0*F RETURN 680 DO 681 KA=1,NA H=1.0D 0/DBLE(N+1) A1=DBLE(KA)*H A2=(A1-0.5D 0)**2 IF (A1.GE.0.5D 0) THEN A3= 1.0D 6 ELSE A3=-1.0D 6 ENDIF IF (KA.LT.2) THEN FA=2.0D 0*X(KA)-X(KA+1)+H**2*(X(KA)**3*EXP(X(KA))+ & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*X(KA+1)+A3) ELSEIF (KA.LT.N) THEN FA=2.0D 0*X(KA)-X(KA+1)-X(KA-1)+H**2*(X(KA)**3*EXP(X(KA))+ & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*(X(KA+1)-X(KA-1))+ & A3) ELSE FA=2.0D 0*X(KA)-X(KA-1)+H**2*(X(KA)**3*EXP(X(KA))- & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*X(KA-1)-A3) ENDIF F=F+FA**2 681 CONTINUE F=0.5D 0*F RETURN 260 DO 261 KA=1,NA IF (KA.EQ.1) THEN FA=1.0D 0-X(1) ELSE FA=10.0D 0*DBLE(KA-1)*(X(KA)-X(KA-1))**2 ENDIF F=F+FA**2 261 CONTINUE F=0.5D 0*F RETURN 270 DO 271 KA=1,NA IF (KA.EQ.N) THEN FA=X(KA)-0.1D 0*X(1)**2 ELSE FA=X(KA)-0.1D 0*X(KA+1)**2 ENDIF F=F+FA**2 271 CONTINUE F=0.5D 0*F RETURN 280 DO 281 KA=1,NA S=(1.0D 0/DBLE(N+1))**2*EXP(X(KA)) IF (N.EQ.1) THEN FA=-2.0D 0*X(KA)-S ELSE IF(KA.EQ.1) THEN FA=-2.0D 0*X(KA)+X(KA+1)-S ELSE IF(KA.EQ.N) THEN FA=X(KA-1)-2.0D 0*X(KA)-S ELSE FA=X(KA-1)-2.0D 0*X(KA)+X(KA+1)-S ENDIF F=F+FA**2 281 CONTINUE F=0.5D 0*F RETURN 290 DO 291 KA=1,NA S=0.1D 0 IF (N.EQ.1) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0 ELSE IF (KA.EQ.1) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-2.0D 0*X(KA+1) ELSE IF(KA.EQ.N) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-X(KA-1) ELSE FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-X(KA-1)-2.0D 0*X(KA+1) ENDIF F=F+FA**2 291 CONTINUE F=0.5D 0*F RETURN 300 DO 303 KA=1,NA S1=1.0D 0 S2=1.0D 0 S3=1.0D 0 J1=3 J2=3 IF(KA-J1.GT.1) THEN I1=KA-J1 ELSE I1=1 ENDIF IF(KA+J2.LT.N) THEN I2=KA+J2 ELSE I2=N ENDIF S=0.0D 0 DO 301 J=I1,I2 IF (J.NE.KA) S=S+X(J)+X(J)**2 301 CONTINUE FA=(S1+S2*X(KA)**2)*X(KA)+1.D 0-S3*S F=F+FA**2 303 CONTINUE F=0.5D 0*F RETURN 310 DO 311 KA=1,NA IF (KA.EQ.1) THEN FA=X(1)**2-1.0D 0 ELSE FA=X(KA-1)**2+LOG(X(KA))-1.0D 0 ENDIF F=F+FA**2 311 CONTINUE F=0.5D 0*F RETURN 320 DO 321 KA=1,NA IF (KA.EQ.1) THEN FA=X(1) ELSE FA=COS(X(KA-1))+X(KA)-1.0D 0 ENDIF F=F+FA**2 321 CONTINUE F=0.5D 0*F RETURN 330 DO 331 KA=1,NA S=(1.0D 0/DBLE(N+1))**2 IF (N.EQ.1) THEN FA=2.0D 0*X(KA)-1.0D 0+S*(X(KA)+SIN(X(KA))) ELSE IF (KA.EQ.1) THEN FA=2.0D 0*X(KA)-X(KA+1)+S*(X(KA)+SIN(X(KA))) ELSE IF (KA.EQ.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-1.0D 0+S*(X(KA)+SIN(X(KA))) ELSE FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)+S*(X(KA)+SIN(X(KA))) ENDIF F=F+FA**2 331 CONTINUE F=0.5D 0*F RETURN 340 DO 343 KA=1,NA IF(KA-5.GT.1) THEN I1=KA-5 ELSE I1=1 ENDIF IF (KA+1.LT.N) THEN I2=KA+1 ELSE I2=N ENDIF S=0.0D 0 DO 341 J=I1,I2 IF(J.NE.KA) S=S+X(J)*(1.0D 0+X(J)) 341 CONTINUE FA=X(KA)*(2.0D 0+5.0D 0*X(KA)**2)+1.0D 0-S F=F+FA**2 343 CONTINUE F=0.5D 0*F RETURN 350 DO 351 KA=1,NA H=1.0D 0/DBLE(N+1) T=2.0D 0*H**2 IF (KA.EQ.1) THEN FA=2.0D 0*X(KA)-X(KA+1)-T*X(KA)**2-H*X(KA+1) ELSE IF (1.LT.KA.AND.KA.LT.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)-T*X(KA)**2-H*(X(KA+1)-X(KA-1)) ELSE IF (KA.EQ.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-0.5D 0-T*X(KA)**2-H*(0.5D 0-X(KA-1)) ENDIF F=F+FA**2 351 CONTINUE F=0.5D 0*F RETURN 360 DO 361 KA=1,NA A=-9.0D-3 B=1.0D-3 AL=0.0D 0 BE=25.0D 0 GA=20.0D 0 CA=0.3D 0 CB=0.3D 0 H=(B-A)/DBLE(N+1) T=A+DBLE(KA)*H H=H**2 S=DBLE(KA)/DBLE(N+1) U=AL*(1.0D 0-S)+BE*S+X(KA) FF=CB*EXP(GA*(U-BE))-CA*EXP(GA*(AL-U)) IF (T.LE.0) THEN FF=FF+CA ELSE FF=FF-CB ENDIF IF (N.EQ.1) THEN FA=-AL+2.0D 0*X(KA)-BE+H*FF ELSE IF (KA.EQ.1) THEN FA=-AL+2.0D 0*X(KA)-X(KA+1)+H*FF ELSE IF (KA.LT.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)+H*FF ELSE FA=-X(KA-1)+2.0D 0*X(KA)-BE+H*FF ENDIF F=F+FA**2 361 CONTINUE F=0.5D 0*F RETURN 370 DO 371 KA=1,NA AL1=0.0D 0 AL2=0.0D 0 BE1=0.0D 0 BE2=0.0D 0 H=1.0D 0/DBLE(M+1) T=DBLE(KA)*H IF (KA.EQ.1) THEN S1=2.0D 0*X(KA)-X(KA+1) B=AL1 ELSE IF (KA.EQ.M+1) THEN S1=2.0D 0*X(KA)-X(KA+1) B=AL2 ELSE IF (KA.EQ.M) THEN S1=-X(KA-1)+2.0D 0*X(KA) B=BE1 ELSE IF (KA.EQ.N) THEN S1=-X(KA-1)+2.0D 0*X(KA) B=BE2 ELSE S1=-X(KA-1)+2.0D 0*X(KA)-X(KA+1) B=0.0D 0 ENDIF IF (KA.LE.M) THEN S2=X(KA)**2+X(KA)+0.1D 0*X(M+KA)**2-1.2D 0 ELSE S2=0.2D 0*X(KA-M)**2+X(KA)**2+2.0D 0*X(KA)-0.6D 0 ENDIF FA=S1+H**2*S2-B F=F+FA**2 371 CONTINUE F=0.5D 0*F RETURN 380 DO 381 KA=1,NA L=MOD(KA,M) IF (L.EQ.0) THEN K=KA/M L=M ELSE K=INT(KA/M)+1 ENDIF LA=1.0D 0 H=1.0D 0/DBLE(M+1) H2=LA*H*H IF (L.EQ.1.AND.K.EQ.1) THEN FA=4.0D 0*X(1)-X(2)-X(M+1)+H2*EXP(X(1)) ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN FA=4.0D 0*X(L)-X(L-1)-X(L+1)-X(L+M)+H2*EXP(X(L)) ENDIF IF (L.EQ.M.AND.K.EQ.1) THEN FA=4.0D 0*X(M)-X(M-1)-X(M+M)+H2*EXP(X(M)) ENDIF IF (L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)-X(KA+M)+H2*EXP(X(KA)) ENDIF IF (L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-M)-X(KA-1)-X(KA+M)+H2*EXP(X(KA)) ENDIF IF (L.EQ.1.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF (L.EQ.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF (1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)-X(KA+M)+H2*EXP(X(KA)) ENDIF F=F+FA**2 381 CONTINUE F=0.5D 0*F RETURN 390 DO 391 KA=1,NA L=MOD(KA,M) IF (L.EQ.0) THEN K=KA/M L=M ELSE K=INT(KA/M)+1 ENDIF H=1.0D 0/DBLE(M+1) H2=H*H IF (L.EQ.1.AND.K.EQ.1) THEN FA=4.0D 0*X(1)-X(2)-X(M+1)+H2*X(1)**2-24.0D 0/(H+1.0D 0)**2 ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN FA=4.0D 0*X(L)-X(L-1)-X(L+1)-X(L+M)+H2*X(L)**2 & -12.0D 0/(DBLE(L)*H+1.0D 0)**2 ENDIF IF (L.EQ.M.AND.K.EQ.1) THEN FA=4.0D 0*X(M)-X(M-1)-X(M+M)+H2*X(M)**2 & -12.0D 0/(DBLE(M)*H+1.0D 0)**2-12.0D 0/(H+2.0D 0)**2 ENDIF IF (L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)-X(KA+M)+H2*X(KA)**2 & -12.0D 0/(DBLE(K)*H+1.0D 0)**2 ENDIF IF (L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-M)-X(KA-1)-X(KA+M)+H2*X(KA)**2 & -12.0D 0/(DBLE(K)*H+2.0D 0)**2 ENDIF IF (L.EQ.1.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)+H2*X(KA)**2 & -12.0D 0/(DBLE(M)*H+1.0D 0)**2-12.0D 0/(H+2.0D 0)**2 ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)+H2*X(KA)**2 & -12.0D 0/(DBLE(L)*H+2.0D 0)**2 ENDIF IF (L.EQ.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA-M)+H2*X(KA)**2 & -24.0D 0/(DBLE(M)*H+2.0D 0)**2 ENDIF IF (1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)-X(KA+M)+H2*X(KA)**2 ENDIF F=F+FA**2 391 CONTINUE F=0.5D 0*F RETURN END * SUBROUTINE TFGU25 ALL SYSTEMS 07/12/01 C PORTABILITY : ALL SYSTEMS C 07/12/01 LU : ORIGINAL VERSION * * PURPOSE : * GRADIENTS OF MODEL FUNCTIONS FOR UNCONSTRAINED MINIMIZATION. * UNIVERSAL VERSION. * * PARAMETERS : * II N NUMBER OF VARIABLES. * RI X(N) VECTOR OF VARIABLES. * RI G(N) GRADIENG OF THE MODEL FUNCTION. * II NEXT NUMBER OF THE TEST PROBLEM. * SUBROUTINE TFGU25(N,X,G,NEXT) INTEGER N,NA,NEXT REAL*8 X(N),G(N) REAL*8 FA INTEGER I,J,K,L,M,IA,IB,IC,I1,I2,J1,J2,KA,LA REAL*8 A,B,C,D,E,P,Q,R,S,S1,S2,S3,T,U,V,W,EX,ALFA,H,H2,PI REAL*8 A1,A2,A3,A4,AL,AL1,AL2,BE,BE1,BE2,CA,CB,D1S,D2S,FF,FG,GA REAL*8 GA1(2),GA2(2),GA3(6),GA4(6) REAL*8 Y(20),PAR COMMON /EMPR15/ Y COMMON /EMPR18/ PAR,M COMMON /EMPR25/ NA PI=3.14159265358979323846D 0 CALL UXVSET(N,0.0D 0,G) GO TO (10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160, & 170,180,190,200,210,220, & 410,420,430,260,450,460,470,480,490,500,510,520,530,540,550,560, & 570,580,590,600,610,620, & 720,730,740,750,760,780,790,810,830,840,860,870,880,900,910,920, & 930,940,950,960,970,980,990,660,670,680, & 270,280,290,300,320,330,340,350,360,370,380,390),NEXT 10 DO 11 J=2,N A=X(J-1)**2-X(J) B=X(J-1)-1.0D 0 G(J-1)=G(J-1)+4.0D 2*X(J-1)*A+2.0D 0*B G(J)=G(J)-2.0D 2*A 11 CONTINUE RETURN 20 DO 21 J=2,N-2,2 A=X(J-1)**2-X(J) B=X(J-1)-1.0D 0 C=X(J+1)**2-X(J+2) D=X(J+1)-1.0D 0 U=X(J)+X(J+2)-2.0D 0 V=X(J)-X(J+2) G(J-1)=G(J-1)+4.0D 2*X(J-1)*A+2.0D 0*B G(J)=G(J)-2.0D 2*A+2.0D 1*U+0.2D 0*V G(J+1)=G(J+1)+3.6D 2*X(J+1)*C+2.0D 0*D G(J+2)=G(J+2)-1.8D 2*C+2.0D 1*U-0.2D 0*V 21 CONTINUE RETURN 30 DO 31 J=2,N-2,2 A=X(J-1)+1.0D 1*X(J) B=X(J+1)-X(J+2) C=X(J)-2.0D 0*X(J+1) D=X(J-1)-X(J+2) G(J-1)=G(J-1)+2.0D 0*A+4.0D 1*D**3 G(J)=G(J)+2.0D 1*A+4.0D 0*C**3 G(J+1)=G(J+1)-8.0D 0*C**3+1.0D 1*B G(J+2)=G(J+2)-4.0D 1*D**3-1.0D 1*B 31 CONTINUE RETURN 40 DO 41 J=2,N-2,2 A=EXP(X(J-1)) B=A-X(J) D=X(J)-X(J+1) P=X(J+1)-X(J+2) C=COS(P) Q=SIN(P)/COS(P) U=X(J-1) V=X(J+2)-1.0D 0 B=4.0D 0*B**3 D=6.0D 2*D**5 Q=4.0D 0*Q**3/C**2 G(J-1)=G(J-1)+A*B+8.0D 0*U**7 G(J)=G(J)+D-B G(J+1)=G(J+1)+Q-D G(J+2)=G(J+2)+2.0D 0*V-Q 41 CONTINUE RETURN 50 P=7.0D 0/3.0D 0 DO 51 J=1,N A=(3.0D 0-2.0D 0*X(J))*X(J)+1.0D 0 IF (J.GT.1) A=A-X(J-1) IF (J.LT.N) A=A-X(J+1) B=P*ABS(A)**(P-1.0D 0)*SIGN(1.0D 0,A) G(J)=G(J)+B*(3.0D 0-4.0D 0*X(J)) IF (J.GT.1) G(J-1)=G(J-1)-B IF (J.LT.N) G(J+1)=G(J+1)-B 51 CONTINUE RETURN 60 P=7.0D 0/3.0D 0 DO 63 J=1,N A=(2.0D 0+5.0D 0*X(J)**2)*X(J)+1.0D 0 DO 61 I=MAX(1,J-5),MIN(N,J+1) IF (I.NE.J) A=A+X(I)*(1.0D 0+X(I)) 61 CONTINUE B=P*ABS(A)**(P-1.0D 0)*SIGN(1.0D 0,A) G(J)=G(J)+B*(2.0D 0+1.5D 1*X(J)**2) DO 62 I=MAX(1,J-5),MIN(N,J+1) IF (I.NE.J) G(I)=G(I)+B*(1.0D 0+2.0D 0*X(I)) 62 CONTINUE 63 CONTINUE RETURN 70 P=7.0D 0/3.0D 0 K=N/2 DO 71 J=1,N A=(3.0D 0-2.0D 0*X(J))*X(J)+1.0D 0 IF (J.GT.1) A=A-X(J-1) IF (J.LT.N) A=A-X(J+1) B=P*ABS(A)**(P-1.0D 0)*SIGN(1.0D 0,A) G(J)=G(J)+B*(3.0D 0-4.0D 0*X(J)) IF (J.GT.1) G(J-1)=G(J-1)-B IF (J.LT.N) G(J+1)=G(J+1)-B IF (J.LE.K) THEN A=X(J)+X(J+K) B=P*ABS(A)**(P-1.0D 0)*SIGN(1.0D 0,A) G(J)=G(J)+B G(J+K)=G(J+K)+B ENDIF 71 CONTINUE RETURN 80 K=N/2 DO 83 J=1,N P=0.0D 0 DO 81 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 81 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) 81 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) ENDIF P=2.0D 0*(DBLE(N+J)-P)/DBLE(N) DO 82 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 82 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 G(I)=G(I)-P*(A*COS(X(I))-B*SIN(X(I))) 82 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 G(I)=G(I)-P*(A*COS(X(I))-B*SIN(X(I))) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 G(I)=G(I)-P*(A*COS(X(I))-B*SIN(X(I))) ENDIF 83 CONTINUE RETURN 90 K=N/2 Q=1.0D 0/DBLE(N) DO 92 J=1,N P=0.0D 0 DO 91 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 91 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) G(I)=G(I)+Q*(A*COS(X(I))-B*SIN(X(I))) 91 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) G(I)=G(I)+Q*(A*COS(X(I))-B*SIN(X(I))) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) G(I)=G(I)+Q*(A*COS(X(I))-B*SIN(X(I))) ENDIF G(J)=G(J)+Q*DBLE(J)*SIN(X(J)) 92 CONTINUE RETURN 100 K=N/2 DO 102 J=1,N P=0.0D 0 Q=1.0D 0+DBLE(J)/1.0D 1 DO 101 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 101 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 P=P+A*SIN(Q*X(J)+B*X(I)+C) R=A*COS(Q*X(J)+B*X(I)+C)/DBLE(N) G(J)=G(J)+R*Q G(I)=G(I)+R*B 101 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 R=A*COS(Q*X(J)+B*X(I)+C)/DBLE(N) G(J)=G(J)+R*Q G(I)=G(I)+R*B ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 R=A*COS(Q*X(J)+B*X(I)+C)/DBLE(N) G(J)=G(J)+R*Q G(I)=G(I)+R*B ENDIF 102 CONTINUE RETURN 110 P=-0.2008D-2 Q=-0.1900D-2 R=-0.0261D-2 DO 112 I=0,N-5,5 A=1.0D 0 B=0.0D 0 DO 111 J=1,5 A=A*X(I+J) B=B+X(I+J)**2 111 CONTINUE W=EXP(A) A=A*W B=B-1.0D 1-P C=X(I+2)*X(I+3)-5.0D 0*X(I+4)*X(I+5)-Q D=X(I+1)**3+X(I+2)**3+1.0D 0-R G(I+1)=G(I+1)+A/X(I+1)+2.0D 1*(2.0D 0*B*X(I+1)+ & 3.0D 0*D*X(I+1)**2) G(I+2)=G(I+2)+A/X(I+2)+2.0D 1*(2.0D 0*B*X(I+2)+ & C*X(I+3)+3.0D 0*D*X(I+2)**2) G(I+3)=G(I+3)+A/X(I+3)+2.0D 1*(2.0D 0*B*X(I+3)+C*X(I+2)) G(I+4)=G(I+4)+A/X(I+4)+2.0D 1*(2.0D 0*B*X(I+4)- & 5.0D 0*C*X(I+5)) G(I+5)=G(I+5)+A/X(I+5)+2.0D 1*(2.0D 0*B*X(I+5)-5.0D 0*C*X(I+4)) 112 CONTINUE RETURN 120 DO 121 J=2,N A=X(J-1)-3.0D 0 B=X(J-1)-X(J) G(J-1)=G(J-1)+2.0D 0*A+2.0D 0*B+2.0D 1*EXP(2.0D 1*B) G(J)=G(J)-2.0D 0*B-2.0D 1*EXP(2.0D 1*B) 121 CONTINUE RETURN 130 DO 131 J=2,N A=X(J)**2 B=X(J-1)**2 C=A+1.0D 0 D=B+1.0D 0 P=0.0D 0 IF (A.GT.P) P=LOG(A) Q=0.0D 0 IF (B.GT.Q) Q=LOG(B) G(J-1)=G(J-1)+2.0D 0*X(J-1)*(C*B**A+P*A**D) G(J)=G(J)+2.0D 0*X(J)*(D*A**B+Q*B**C) 131 CONTINUE RETURN 140 P=1.0D 0/DBLE(N+1) Q=0.5D 0*P**2 DO 141 J=1,N A=2.0D 0*X(J)+Q*(X(J)+DBLE(J)*P+1.0D 0)**3 IF(J.GT.1) A=A-X(J-1) IF(J.LT.N) A=A-X(J+1) G(J)=G(J)+A*(4.0D 0+6.0D 0*Q*(X(J)+DBLE(J)*P+1.0D 0)**2.0D 0) IF(J.GT.1) G(J-1)=G(J-1)-2.0D 0*A IF(J.LT.N) G(J+1)=G(J+1)-2.0D 0*A 141 CONTINUE RETURN 150 P=1.0D 0/DBLE(N+1) Q=2.0D 0/P R=2.0D 0*P DO 151 J=2,N A=X(J-1)-X(J) G(J-1)=G(J-1)+Q*(2.0D 0*X(J-1)-X(J)) G(J)=G(J)-Q*X(J-1) IF (ABS(A).LE.1.0D-6) THEN G(J-1)=G(J-1)+R*EXP(X(J))*(1.0D 0/2.0D 0+A*(1.0D 0/3.0D 0+ & A/8.0D 0)) G(J)=G(J)+R*EXP(X(J))*(1.0D 0/2.0D 0+A*(1.0D 0/6.0D 0+ & A/24.0D 0)) ELSE B=EXP(X(J-1))-EXP(X(J)) G(J-1)=G(J-1)+R*(EXP(X(J-1))*A-B)/A**2 G(J)=G(J)-R*(EXP(X(J))*A-B)/A**2 ENDIF 151 CONTINUE G(1)=G(1)+R*(EXP(X(1))*(X(1)-1.0D 0)+1.0D 0)/X(1)**2 G(N)=G(N)+2.0D 0*Q*X(N) & +R*(EXP(X(N))*(X(N)-1.0D 0)+1.0D 0)/X(N)**2 RETURN 160 DO 161 J=1,N A=DBLE(J)*SIN(X(J)) G(J)=G(J)+A IF(J.GT.1) G(J-1)=G(J-1)+DBLE(J)*COS(X(J-1)) IF(J.LT.N) G(J+1)=G(J+1)-DBLE(J)*COS(X(J+1)) 161 CONTINUE RETURN 170 P=1.0D 0/DBLE(N+1) DO 171 J=1,N IF (J.EQ.1) THEN G(J)=G(J)+0.5D 0*X(J)/P+P*EXP(X(J)) G(J+1)=G(J+1)+0.25D 0*X(J+1)/P ELSE IF (J.EQ.N) THEN G(J)=G(J)+0.5D 0*X(J)/P+P*EXP(X(J)) G(J-1)=G(J-1)+0.25D 0*X(J-1)/P ELSE A=0.25D 0*(X(J+1)-X(J-1))/P G(J)=G(J)+P*EXP(X(J)) G(J-1)=G(J-1)-A G(J+1)=G(J+1)+A ENDIF 171 CONTINUE RETURN 180 P=1.0D 0/DBLE(N+1) DO 181 J=1,N Q=DBLE(J)*P IF (J.EQ.1) THEN G(J)=G(J)+X(J)/P-2.0D 0*P*(X(J)+Q) G(J+1)=G(J+1)+0.5D 0*X(J+1)/P ELSE IF (J.EQ.N) THEN G(J)=G(J)+X(J)/P-2.0D 0*P*(X(J)+Q) G(J-1)=G(J-1)+0.5D 0*X(J-1)/P ELSE A=0.5D 0*(X(J+1)-X(J-1))/P G(J)=G(J)-2.0D 0*P*(X(J)+Q) G(J-1)=G(J-1)-A G(J+1)=G(J+1)+A ENDIF 181 CONTINUE RETURN 190 P=1.0D 0/DBLE(N+1) DO 191 J=1,N Q=EXP(2.0D 0*DBLE(J)*P) IF (J.EQ.1) THEN R=1.0D 0/3.0D 0 A=0.5D 0*(X(J+1)-R)/P G(J)=G(J)+2.0D 0*P*(X(J)+Q)+(X(J)-R)/P G(J+1)=G(J+1)+A ELSE IF (J.EQ.N) THEN R=EXP(2.0D 0)/3.0D 0 A=0.5D 0*(X(J-1)-R)/P G(J)=G(J)+2.0D 0*P*(X(J)+Q)+(X(J)-R)/P G(J-1)=G(J-1)+A ELSE A=0.5D 0*(X(J+1)-X(J-1))/P G(J)=G(J)+2.0D 0*P*(X(J)+Q) G(J-1)=G(J-1)-A G(J+1)=G(J+1)+A ENDIF 191 CONTINUE RETURN 200 P=1.0D 0/DBLE(N+1) DO 201 J=1,N A=EXP(-2.0D 0*X(J)**2) IF (J.EQ.1) THEN B=0.5D 0*X(J+1)/P G(J)=G(J)+X(J)/P-4.0D 0*X(J)*A*P*(B**2-1.0D 0) G(J+1)=G(J+1)+A*B ELSE IF (J.EQ.N) THEN B=0.5D 0*X(J-1)/P G(J)=G(J)+X(J)/P*EXP(-2.0D 0)-4.0D 0*X(J)*A*P*(B**2-1.0D 0) G(J-1)=G(J-1)+A*B ELSE B=0.5D 0*(X(J+1)-X(J-1))/P G(J)=G(J)-4.0D 0*X(J)*A*P*(B**2-1.0D 0) G(J-1)=G(J-1)-A*B G(J+1)=G(J+1)+A*B ENDIF 201 CONTINUE RETURN 210 P=1.0D 0/DBLE(N+1) DO 211 J=1,N IF (J.EQ.1) THEN A=0.5D 0*(X(J+1)-1.0D 0)/P B=(X(J)-1.0D 0)/P U=ATAN(A) V=ATAN(B) G(J)=G(J)+2.0D 0*P*X(J)+0.5D 0*V G(J+1)=G(J+1)+0.5D 0*U ELSE IF (J.EQ.N) THEN A=0.5D 0*(2.0D 0-X(J-1))/P B=(2.0D 0-X(J))/P U=ATAN(A) V=ATAN(B) G(J)=G(J)+2.0D 0*P*X(J)-0.5D 0*V G(J-1)=G(J-1)-0.5D 0*U ELSE A=0.5D 0*(X(J+1)-X(J-1))/P U=ATAN(A) G(J)=G(J)+2.0D 0*P*X(J) G(J-1)=G(J-1)-0.5D 0*U G(J+1)=G(J+1)+0.5D 0*U ENDIF 211 CONTINUE RETURN 220 P=1.0D 0/DBLE(N+1) DO 221 J=1,N IF (J.EQ.1) THEN A= 0.5D 0*X(J+1)/P B= X(J)/P G(J)=G(J)+2.0D 2*P*(X(J)-A**2)+2.0D 2*B**3-(1.0D 0-B) G(J+1)=G(J+1)-2.0D 2*(X(J)-A**2)*A-(1.0D 0-A) ELSE IF (J.EQ.N) THEN A=-0.5D 0*X(J-1)/P B=-X(J)/P G(J)=G(J)+2.0D 2*P*(X(J)-A**2)-2.0D 2*B**3+(1.0D 0-B) G(J-1)=G(J-1)+2.0D 2*(X(J)-A**2)*A+(1.0D 0-A) ELSE A=0.5D 0*(X(J+1)-X(J-1))/P G(J)=G(J)+2.0D 2*P*(X(J)-A**2) G(J-1)=G(J-1)+2.0D 2*(X(J)-A**2)*A+(1.0D 0-A) G(J+1)=G(J+1)-2.0D 2*(X(J)-A**2)*A-(1.0D 0-A) ENDIF 221 CONTINUE RETURN 410 DO 411 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=1.0D 1*(X(KA+1)-X(KA)**2) G(KA)=G(KA)-2.0D 1*X(KA)*FA G(KA+1)=G(KA+1)+1.0D 1*FA ELSE FA=1.0D 0-X(KA-1) G(KA-1)=G(KA-1)-FA ENDIF 411 CONTINUE RETURN 420 DO 421 KA=1,NA IF(MOD(KA,4).EQ.1) THEN FA=X(KA)+1.0D 1*X(KA+1) G(KA)=G(KA)+FA G(KA+1)=G(KA+1)+1.0D 1*FA ELSEIF(MOD(KA,4).EQ.2) THEN FA=2.23606797749979D 0*(X(KA+1)-X(KA+2)) G(KA+1)=G(KA+1)+2.23606797749979D 0*FA G(KA+2)=G(KA+2)-2.23606797749979D 0*FA ELSEIF(MOD(KA,4).EQ.3) THEN A=X(KA-1)-2.0D 0*X(KA) FA=A**2 G(KA-1)=G(KA-1)+2.0D 0*A*FA G(KA)=G(KA)-4.0D 0*A*FA ELSE FA=3.16227766016838D 0*(X(KA-3)-X(KA))**2 A=2.0D 0*(X(KA-3)-X(KA)) G(KA-3)=G(KA-3)+3.16227766016838D 0*A*FA G(KA)=G(KA)-3.16227766016838D 0*A*FA ENDIF 421 CONTINUE RETURN 430 DO 431 KA=1,NA FA=(3.0D 0-2.0D 0*X(KA))*X(KA)+1.0D 0 IF(KA.GT.1) FA=FA-X(KA-1) IF(KA.LT.N) FA=FA-2.0D 0*X(KA+1) G(KA)=G(KA)+(3.0D 0-4.0D 0*X(KA))*FA IF(KA.GT.1) G(KA-1)=G(KA-1)-FA IF(KA.LT.N) G(KA+1)=G(KA+1)-2.0D 0*FA 431 CONTINUE RETURN 440 DO 441 J=1,N A=DBLE(J) G(J)=2.0D 0*A**2*X(J)/(1.0D 0+X(J))**3 441 CONTINUE RETURN 450 DO 451 KA=1,NA I=KA FA=(3.0D 0-2.0D 0*X(I))*X(I)+1.0D 0 IF (I.GT.1) FA=FA-X(I-1) IF (I.LT.N) FA=FA-X(I+1) G(I)=G(I)+(3.0D 0-4.0D 0*X(I))*FA IF (I.GT.1) G(I-1)=G(I-1)-FA IF (I.LT.N) G(I+1)=G(I+1)-FA 451 CONTINUE RETURN 460 DO 463 KA=1,NA I=KA FA=(2.0D 0+5.0D 0*X(I)**2)*X(I)+1.0D 0 DO 461 J=MAX(1,I-5),MIN(N,I+1) IF (I.NE.J) FA=FA+X(J)*(1.0D 0+X(J)) 461 CONTINUE DO 462 J=MAX(1,I-5),MIN(N,I+1) IF (I.NE.J) G(J)=G(J)+(1.0D 0+2.0D 0*X(J))*FA 462 CONTINUE G(I)=G(I)+(2.0D 0+1.5D 1*X(I)**2)*FA 463 CONTINUE RETURN 470 DO 471 KA=1,NA I=(KA+1)/2 IF (MOD(KA,2).EQ.1) THEN FA=X(I)+X(I+1)*((5.0D 0-X(I+1))*X(I+1)-2.0D 0)-1.3D 1 G(I)=G(I)+FA G(I+1)=G(I+1)+(1.0D 1*X(I+1)-3.0D 0*X(I+1)**2-2.0D 0)*FA ELSE FA=X(I)+X(I+1)*((1.0D 0+X(I+1))*X(I+1)-1.4D 1)-2.9D 1 G(I)=G(I)+FA G(I+1)=G(I+1)+(2.0D 0*X(I+1)+3.0D 0*X(I+1)**2-1.4D 1)*FA ENDIF 471 CONTINUE RETURN 480 DO 481 KA=1,NA I=MOD(KA,N/2)+1 J=I+N/2 M=5*N IF (KA.LE.M/2) THEN IA=1 ELSE IA=2 ENDIF IB=5-KA/(M/4) IC=MOD(KA,5)+1 FA=(X(I)**IA-X(J)**IB)**IC A=DBLE(IA) B=DBLE(IB) C=DBLE(IC) D=X(I)**IA-X(J)**IB IF (D.NE.0.0D 0) THEN E=C*D**(IC-1) IF (X(I).EQ.0.0D 0.AND.IA.LE.1) THEN ELSE G(I)=G(I)+E*A*X(I)**(IA-1)*FA ENDIF IF (X(J).EQ.0.0D 0.AND.IB.LE.1) THEN ELSE G(J)=G(J)-E*B*X(J)**(IB-1)*FA ENDIF ENDIF 481 CONTINUE RETURN 490 DO 491 KA=1,NA I=2*((KA+5)/6)-1 IF (MOD(KA,6).EQ.1) THEN FA=X(I)+3.0D 0*X(I+1)*(X(I+2)-1.0D 0)+X(I+3)**2-1.0D 0 G(I)=G(I)+FA G(I+1)=G(I+1)+3.0D 0*(X(I+2)-1.0D 0)*FA G(I+2)=G(I+2)+3.0D 0*X(I+1)*FA G(I+3)=G(I+3)+2.0D 0*X(I+3)*FA ELSEIF (MOD(KA,6).EQ.2) THEN FA=(X(I)+X(I+1))**2+(X(I+2)-1.0D 0)**2-X(I+3)-3.0D 0 G(I)=G(I)+2.0D 0*(X(I)+X(I+1))*FA G(I+1)=G(I+1)+2.0D 0*(X(I)+X(I+1))*FA G(I+2)=G(I+2)+2.0D 0*(X(I+2)-1.0D 0)*FA G(I+3)=G(I+3)-FA ELSEIF (MOD(KA,6).EQ.3) THEN FA=X(I)*X(I+1)-X(I+2)*X(I+3) G(I)=G(I)+X(I+1)*FA G(I+1)=G(I+1)+X(I)*FA G(I+2)=G(I+2)-X(I+3)*FA G(I+3)=G(I+3)-X(I+2)*FA ELSEIF (MOD(KA,6).EQ.4) THEN FA=2.0D 0*X(I)*X(I+2)+X(I+1)*X(I+3)-3.0D 0 G(I)=G(I)+2.0D 0*X(I+2)*FA G(I+1)=G(I+1)+X(I+3)*FA G(I+2)=G(I+2)+2.0D 0*X(I)*FA G(I+3)=G(I+3)+X(I+1)*FA ELSEIF (MOD(KA,6).EQ.5) THEN FA=(X(I)+X(I+1)+X(I+2)+X(I+3))**2+(X(I)-1.0D 0)**2 G(I)=G(I)+(2.0D 0*(X(I)+X(I+1)+X(I+2)+X(I+3))+ & 2.0D 0*(X(I)-1.0D 0))*FA G(I+1)=G(I+1)+2.0D 0*(X(I)+X(I+1)+X(I+2)+X(I+3))*FA G(I+2)=G(I+2)+2.0D 0*(X(I)+X(I+1)+X(I+2)+X(I+3))*FA G(I+3)=G(I+3)+2.0D 0*(X(I)+X(I+1)+X(I+2)+X(I+3))*FA ELSE FA=X(I)*X(I+1)*X(I+2)*X(I+3)+(X(I+3)-1.0D 0)**2-1.0D 0 G(I)=G(I)+X(I+1)*X(I+2)*X(I+3)*FA G(I+1)=G(I+1)+X(I)*X(I+2)*X(I+3)*FA G(I+2)=G(I+2)+X(I)*X(I+1)*X(I+3)*FA G(I+3)=G(I+3)+(X(I)*X(I+1)*X(I+2)+2.0D 0*(X(I+3)-1.0D 0))*FA ENDIF 491 CONTINUE RETURN 500 DO 501 KA=1,NA I=(KA+1)/2 J=MOD(KA,2) IF (J.EQ.0) THEN FA=6.0D 0-EXP(2.0D 0*X(I))-EXP(2.0D 0*X(I+1)) G(I)=G(I)-2.0D 0*EXP(2.0D 0*X(I))*FA G(I+1)=G(I+1)-2.0D 0*EXP(2.0D 0*X(I+1))*FA ELSEIF (I.EQ.1) THEN FA=4.0D 0-EXP(X(I))-EXP(X(I+1)) G(I)=G(I)-EXP(X(I))*FA G(I+1)=G(I+1)-EXP(X(I+1))*FA ELSEIF (I.EQ.N) THEN FA=8.0D 0-EXP(3.0D 0*X(I-1))-EXP(3.0D 0*X(I)) G(I-1)=G(I-1)-3.0D 0*EXP(3.0D 0*X(I-1))*FA G(I)=G(I)-3.0D 0*EXP(3.0D 0*X(I))*FA ELSE FA=8.0D 0-EXP(3.0D 0*X(I-1))-EXP(3.0D 0*X(I))+ & 4.0D 0-EXP(X(I))-EXP(X(I+1)) G(I-1)=G(I-1)-3.0D 0*EXP(3.0D 0*X(I-1))*FA G(I)=G(I)-(3.0D 0*EXP(3.0D 0*X(I))+EXP(X(I)))*FA G(I+1)=G(I+1)-EXP(X(I+1))*FA ENDIF 501 CONTINUE RETURN 510 DO 511 KA=1,NA I=(KA+1)/2 IF (MOD(KA,2).EQ.1) THEN FA=1.0D 1*(2.0D 0*X(I)/(1.0D 0+X(I)**2)-X(I+1)) G(I)=G(I)+2.0D 1*(1.0D 0-X(I)**2)/(1.0D 0+X(I)**2)**2*FA G(I+1)=G(I+1)-1.0D 1*FA ELSE FA=X(I)-1.0D 0 G(I)=G(I)+FA ENDIF 511 CONTINUE RETURN 520 DO 521 KA=1,NA I=3*((KA+5)/6)-2 IF (MOD(KA,6).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) G(I)=G(I)+2.0D 1*X(I)*FA G(I+1)=G(I+1)-1.0D 1*FA ELSEIF (MOD(KA,6).EQ.2) THEN FA=X(I+2)-1.0D 0 G(I+2)=G(I+2)+FA ELSEIF (MOD(KA,6).EQ.3) THEN FA=(X(I+3)-1.0D 0)**2 G(I+3)=G(I+3)+2.0D 0*(X(I+3)-1.0D 0)*FA ELSEIF (MOD(KA,6).EQ.4) THEN FA=(X(I+4)-1.0D 0)**3 G(I+4)=G(I+4)+3.0D 0*(X(I+4)-1.0D 0)**2*FA ELSEIF (MOD(KA,6).EQ.5) THEN FA=X(I)**2*X(I+3)+SIN(X(I+3)-X(I+4))-1.0D 1 G(I)=G(I)+2.0D 0*X(I)*X(I+3)*FA G(I+3)=G(I+3)+(X(I)**2+COS(X(I+3)-X(I+4)))*FA G(I+4)=G(I+4)-COS(X(I+3)-X(I+4))*FA ELSE FA=X(I+1)+(X(I+2)**2*X(I+3))**2-2.0D 1 G(I+1)=G(I+1)+FA G(I+2)=G(I+2)+4.0D 0*X(I+2)*(X(I+2)*X(I+3))**2*FA G(I+3)=G(I+3)+2.0D 0*X(I+2)**4*X(I+3)*FA ENDIF 521 CONTINUE RETURN 530 DO 531 KA=1,NA I=3*((KA+6)/7)-2 IF (MOD(KA,7).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) G(I)=G(I)+2.0D 1*X(I)*FA G(I+1)=G(I+1)-1.0D 1*FA ELSEIF (MOD(KA,7).EQ.2) THEN FA=1.0D 1*(X(I+1)**2-X(I+2)) G(I+1)=G(I+1)+2.0D 1*X(I+1)*FA G(I+2)=G(I+2)-1.0D 1*FA ELSEIF (MOD(KA,7).EQ.3) THEN FA=(X(I+2)-X(I+3))**2 G(I+2)=G(I+2)+2.0D 0*(X(I+2)-X(I+3))*FA G(I+3)=G(I+3)-2.0D 0*(X(I+2)-X(I+3))*FA ELSEIF (MOD(KA,7).EQ.4) THEN FA=(X(I+3)-X(I+4))**2 G(I+3)=G(I+3)+2.0D 0*(X(I+3)-X(I+4))*FA G(I+4)=G(I+4)-2.0D 0*(X(I+3)-X(I+4))*FA ELSEIF (MOD(KA,7).EQ.5) THEN FA=X(I)+X(I+1)**2+X(I+2)-3.0D 1 G(I)=G(I)+FA G(I+1)=G(I+1)+2.0D 0*X(I+1)*FA G(I+2)=G(I+2)+FA ELSEIF (MOD(KA,7).EQ.6) THEN FA=X(I+1)-X(I+2)**2+X(I+3)-1.0D 1 G(I+1)=G(I+1)+FA G(I+2)=G(I+2)-2.0D 0*X(I+2)*FA G(I+3)=G(I+3)+FA ELSE FA=X(I)*X(I+4)-1.0D 1 G(I)=G(I)+X(I+4)*FA G(I+4)=G(I+4)+X(I)*FA ENDIF 531 CONTINUE RETURN 540 DO 546 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 542 K=1,3 A=DBLE(K*K)/DBLE(L) DO 541 J=1,4 IF (X(I+J).EQ.0) X(I+J)=1.0D-16 A=A*SIGN(1.0D 0,X(I+J))*ABS(X(I+J))**(DBLE(J)/DBLE(K*L)) 541 CONTINUE FA=FA+A 542 CONTINUE DO 545 K=1,3 A=DBLE(K*K)/DBLE(L) DO 543 J=1,4 A=A*SIGN(1.0D 0,X(I+J))*ABS(X(I+J))**(DBLE(J)/DBLE(K*L)) 543 CONTINUE DO 544 J=1,4 G(I+J)=G(I+J)+(DBLE(J)/DBLE(K*L))*A/X(I+J)*FA 544 CONTINUE 545 CONTINUE 546 CONTINUE RETURN 550 DO 556 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 552 K=1,3 A=0.0D 0 DO 551 J=1,4 A=A+X(I+J)*(DBLE(J)/DBLE(K*L)) 551 CONTINUE FA=FA+EXP(A)*DBLE(K*K)/DBLE(L) 552 CONTINUE DO 555 K=1,3 A=0.0D 0 DO 553 J=1,4 A=A+X(I+J)*(DBLE(J)/DBLE(K*L)) 553 CONTINUE A=EXP(A)*DBLE(K*K)/DBLE(L) DO 554 J=1,4 G(I+J)=G(I+J)+A*(DBLE(J)/DBLE(K*L))*FA 554 CONTINUE 555 CONTINUE 556 CONTINUE RETURN 560 DO 563 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 561 J=1,4 FA=FA+DBLE((1-2*MOD(J,2))*L*J*J)*SIN(X(I+J))+ & DBLE(L*L*J)*COS(X(I+J)) 561 CONTINUE DO 562 J=1,4 G(I+J)=G(I+J)+(DBLE((1-2*MOD(J,2))*L*J*J)*COS(X(I+J))- & DBLE(L*L*J)*SIN(X(I+J)))*FA 562 CONTINUE 563 CONTINUE RETURN 570 DO 571 KA=1,NA ALFA=0.5D 0 IF (KA.EQ.1) THEN FA=ALFA-(1.0D 0-ALFA)*X(3)-X(1)*(1.0D 0+4.0D 0*X(2)) G(1)=G(1)-(1.0D 0+4.0D 0*X(2))*FA G(2)=G(2)-4.0D 0*X(1)*FA G(3)=G(3)+(ALFA-1.0D 0)*FA ELSEIF(KA.EQ.2) THEN FA=-(2.0D 0-ALFA)*X(4)-X(2)*(1.0D 0+4.0D 0*X(1)) G(1)=G(1)-4.0D 0*X(2)*FA G(2)=G(2)-(1.0D 0+4.0D 0*X(1))*FA G(4)=G(4)+(ALFA-2.0D 0)*FA ELSEIF(KA.EQ.N-1) THEN FA=ALFA*X(N-3)-X(N-1)*(1.0D 0+4.0D 0*X(N)) G(N-3)=G(N-3)+ALFA*FA G(N-1)=G(N-1)-(1.0D 0+4.0D 0*X(N))*FA G(N)=G(N)-4.0D 0*X(N-1)*FA ELSEIF (KA.EQ.N) THEN FA=ALFA*X(N-2)-(2.0D 0-ALFA)-X(N)*(1.0D 0+4.0D 0*X(N-1)) G(N-2)=G(N-2)+ALFA*FA G(N-1)=G(N-1)-4.0D 0*X(N)*FA G(N)=G(N)-(1.0D 0+4.0D 0*X(N-1))*FA ELSEIF (MOD(KA,2).EQ.1) THEN FA=ALFA*X(KA-2)-(1.0D 0-ALFA)*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA+1)) G(KA-2)=G(KA-2)+ALFA*FA G(KA)=G(KA)-(1.0D 0+4.0D 0*X(KA+1))*FA G(KA+1)=G(KA+1)-4.0D 0*X(KA)*FA G(KA+2)=G(KA+2)+(ALFA-1.0D 0)*FA ELSE FA=ALFA*X(KA-2)-(2.0D 0-ALFA)*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA-1)) G(KA-2)=G(KA-2)+ALFA*FA G(KA-1)=G(KA-1)-4.0D 0*X(KA)*FA G(KA)=G(KA)-(1.0D 0+4.0D 0*X(KA-1))*FA G(KA+2)=G(KA+2)+(ALFA-2.0D 0)*FA ENDIF 571 CONTINUE RETURN 580 DO 581 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2) G(KA)=G(KA)+4.0D 0*FA G(KA+1)=G(KA+1)-8.0D 0*X(KA+1)*FA ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2) G(KA-1)=G(KA-1)-8.0D 0*X(KA)*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-8.0D 0*X(KA+1)*FA ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) G(KA-1)=G(KA-1)-8.0D 0*X(KA)*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+2.0D 0)*FA ENDIF 581 CONTINUE RETURN 590 DO 591 KA=1,NA IF (KA.EQ.1) THEN FA=-2.0D 0*X(KA)**2+3.0D 0*X(KA)-2.0D 0*X(KA+1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 G(N-4)=G(N-4)+3.0D 0*FA G(N-3)=G(N-3)-FA G(N-2)=G(N-2)-FA G(N-1)=G(N-1)+0.50D 0*FA G(N)=G(N)-FA G(KA)=G(KA)-(4.0D 0*X(KA)-3.0D 0)*FA G(KA+1)=G(KA+1)-2.0D 0*FA ELSEIF (KA.LE.N-1) THEN FA=-2.0D 0*X(KA)**2+3.0D 0*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 G(N-4)=G(N-4)+3.0D 0*FA G(N-3)=G(N-3)-FA G(N-2)=G(N-2)-FA G(N-1)=G(N-1)+0.50D 0*FA G(N)=G(N)-FA G(KA-1)=G(KA-1)-FA G(KA)=G(KA)-(4.0D 0*X(KA)-3.0D 0)*FA G(KA+1)=G(KA+1)-2.0D 0*FA ELSE FA=-2.0D 0*X(N)**2+3.0D 0*X(N)-X(N-1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 G(N-4)=G(N-4)+3.0D 0*FA G(N-3)=G(N-3)-FA G(N-2)=G(N-2)-FA G(N-1)=G(N-1)-0.50D 0*FA G(N)=G(N)-(4.0D 0*X(N)-2.0D 0)*FA ENDIF 591 CONTINUE RETURN 600 DO 601 KA=1,NA U=1.0D 0/DBLE(N+1) V=DBLE(KA)*U FA=2.0D 0*X(KA)+0.5D 0*U*U*(X(KA)+V+1.0D 0)**3+1.0D 0 IF(KA.GT.1) FA=FA-X(KA-1) IF(KA.LT.N) FA=FA-X(KA+1) G(KA)=G(KA)+(2.0D 0+1.5D 0*U**2*(X(KA)+V+1.0D 0)**2)*FA IF(KA.GT.1) G(KA-1)=G(KA-1)-FA IF(KA.LT.N) G(KA+1)=G(KA+1)-FA 601 CONTINUE RETURN 610 DO 611 KA=1,NA I=3*((KA+6)/7)-2 IF (MOD(KA,7).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) G(I)=G(I)+2.0D 1*X(I)*FA G(I+1)=G(I+1)-1.0D 1*FA ELSEIF (MOD(KA,7).EQ.2) THEN FA=X(I+1)+X(I+2)-2.0D 0 G(I+1)=G(I+1)+FA G(I+2)=G(I+2)+FA ELSEIF (MOD(KA,7).EQ.3) THEN FA=X(I+3)-1.0D 0 G(I+3)=G(I+3)+FA ELSEIF (MOD(KA,7).EQ.4) THEN FA=X(I+4)-1.0D 0 G(I+4)=G(I+4)+FA ELSEIF (MOD(KA,7).EQ.5) THEN FA=X(I)+3.0D 0*X(I+1) G(I)=G(I)+FA G(I+1)=G(I+1)+3.0D 0*FA ELSEIF (MOD(KA,7).EQ.6) THEN FA=X(I+2)+X(I+3)-2.0D 0*X(I+4) G(I+2)=G(I+2)+FA G(I+3)=G(I+3)+FA G(I+4)=G(I+4)-2.0D 0*FA ELSE FA=1.0D 1*(X(I+1)**2-X(I+4)) G(I+1)=G(I+1)+2.0D 1*X(I+1)*FA G(I+4)=G(I+4)-1.0D 1*FA ENDIF 611 CONTINUE RETURN 620 DO 621 KA=1,NA I=KA/2 IF (KA.EQ.1) THEN FA=X(KA)-1.0D 0 G(KA)=G(KA)+FA ELSE IF (MOD(KA,2).EQ.0) THEN FA=1.0D 1*(X(I)**2-X(I+1)) G(I)=G(I)+2.0D 1*X(I)*FA G(I+1)=G(I+1)-1.0D 1*FA ELSE A=2.0D 0*EXP(-(X(I)-X(I+1))**2) B=EXP(-2.0D 0*(X(I+1)-X(I+2))**2) FA=A+B G(I)=G(I)-2.0D 0*(X(I)-X(I+1))*A*FA G(I+1)=G(I+1)+(2.0D 0*(X(I)-X(I+1))*A-4.0D 0*(X(I+1)-X(I+2))*B)*FA G(I+2)=G(I+2)+4.0D 0*(X(I+1)-X(I+2))*B*FA ENDIF 621 CONTINUE RETURN 720 DO 721 KA=1,NA A1=0.414214D 0 IF (KA.EQ.1) THEN FA=X(1)-(1.0D 0-X(1))*X(3)-A1*(1.0D 0+4.0D 0*X(2)) G(1)=G(1)+(1.0D 0+X(3))*FA G(2)=G(2)-4.0D 0*A1*FA G(3)=G(3)-(1.0D 0-X(1))*FA ELSEIF (KA.EQ.2) THEN FA=-(1.0D 0-X(1))*X(4)-A1*(1.0D 0+4.0D 0*X(2)) G(1)=G(1)+X(4)*FA G(2)=G(2)-4.0D 0*A1*FA G(4)=G(4)-(1.0D 0-X(1))*FA ELSEIF (KA.EQ.3) THEN FA=A1*X(1)-(1.0D 0-X(1))*X(5)-X(3)*(1.0D 0+4.0D 0*X(2)) G(1)=G(1)+(A1+X(5))*FA G(2)=G(2)-4.0D 0*X(3)*FA G(3)=G(3)-(1.0D 0+4.0D 0*X(2))*FA G(5)=G(5)-(1.0D 0-X(1))*FA ELSEIF (KA.LE.N-2) THEN FA=X(1)*X(KA-2)-(1.0D 0-X(1))*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA-1)) G(1)=G(1)+(X(KA-2)+X(KA+2))*FA G(KA-2)=G(KA-2)+X(1)*FA G(KA-1)=G(KA-1)-4.0D 0*X(KA)*FA G(KA)=G(KA)-(1.0D 0+4.0D 0*X(KA-1))*FA G(KA+2)=G(KA+2)-(1.0D 0-X(1))*FA ELSEIF (KA.EQ.N-1) THEN FA=X(1)*X(N-3)-X(N-1)*(1.0D 0+4.0D 0*X(N-2)) G(1)=G(1)+X(N-3)*FA G(N-3)=G(N-3)+X(1)*FA G(N-2)=G(N-2)-4.0D 0*X(N-1)*FA G(N-1)=G(N-1)-(1.0D 0+4.0D 0*X(N-2))*FA ELSE FA=X(1)*X(N-2)-(1.0D 0-X(1))-X(N)*(1.0D 0+4.0D 0*X(N-1)) G(1)=G(1)+(X(N-2)+1.0D 0)*FA G(N-2)=G(N-2)+X(1)*FA G(N-1)=G(N-1)-4.0D 0*X(N)*FA G(N)=G(N)-(1.0D 0+4.0D 0*X(N-1))*FA ENDIF 721 CONTINUE RETURN 730 DO 733 KA=1,NA J=(KA-1)/5 FA=5.0D 0-DBLE(J+1)*(1.0D 0-COS(X(KA)))-SIN(X(KA)) J=J*5 DO 731 I=J+1,J+5 FA=FA-COS(X(I)) G(I)=G(I)+SIN(X(I)) 731 CONTINUE G(KA)=G(KA)-(DBLE(J+1)*SIN(X(KA))-COS(X(KA)))*FA DO 732 I=J+1,J+5 G(I)=G(I)+SIN(X(I))*FA 732 CONTINUE 733 CONTINUE RETURN 740 DO 741 KA=1,NA IF (KA.LT.2) THEN FA=3.0D 0*X(KA)**3+2.0D 0*X(KA+1)-5.0D 0+ & SIN(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1)) D1S=COS(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1)) D2S=SIN(X(KA)-X(KA+1))*COS(X(KA)+X(KA+1)) G(KA)=G(KA)+(9.0D 0*X(KA)**2+D1S+D2S)*FA G(KA+1)=G(KA+1)+(2.0D 0-D1S+D2S)*FA ELSEIF (KA.LT.N) THEN FA=3.0D 0*X(KA)**3+2.0D 0*X(KA+1)-5.0D 0+ & SIN(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1))+4.0D 0*X(KA)- & X(KA-1)*EXP(X(KA-1)-X(KA))-3.0D 0 D1S=COS(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1)) D2S=SIN(X(KA)-X(KA+1))*COS(X(KA)+X(KA+1)) EX=EXP(X(KA-1)-X(KA)) G(KA-1)=G(KA-1)-(EX+X(KA-1)*EX)*FA G(KA)=G(KA)+(9.0D 0*X(KA)**2+D1S+D2S+4.0D 0+X(KA-1)*EX)*FA G(KA+1)=G(KA+1)+(2.0D 0-D1S+D2S)*FA ELSE FA=4.0D 0*X(KA)-X(KA-1)*EXP(X(KA-1)-X(KA))-3.0D 0 EX=EXP(X(KA-1)-X(KA)) G(KA-1)=G(KA-1)-(EX+X(KA-1)*EX)*FA G(KA)=G(KA)+(4.0D 0+X(KA-1)*EX)*FA ENDIF 741 CONTINUE RETURN 750 DO 751 KA=1,NA IF (MOD(KA,2).EQ.1) THEN FA=0.0D 0 IF (KA.NE.1) FA=FA-6.0D 0*(X(KA-2)-X(KA))**3+1.0D 1- & 4.0D 0*X(KA-1)-2.0D 0*SIN(X(KA-2)-X(KA-1)-X(KA))* & SIN(X(KA-2)+X(KA-1)-X(KA)) IF (KA.NE.N) FA=FA+3.0D 0*(X(KA)-X(KA+2))**3-5.0D 0+ & 2.0D 0*X(KA+1)+SIN(X(KA)-X(KA+1)-X(KA+2))* & SIN(X(KA)+X(KA+1)-X(KA+2)) IF (KA.NE.1) THEN D1S=COS(X(KA-2)-X(KA-1)-X(KA))*SIN(X(KA-2)+X(KA-1)-X(KA)) D2S=SIN(X(KA-2)-X(KA-1)-X(KA))*COS(X(KA-2)+X(KA-1)-X(KA)) G(KA-2)=G(KA-2)-(18.0D 0*(X(KA-2)-X(KA))**2+2.0D 0*(D1S+D2S))*FA G(KA-1)=G(KA-1)-(4.0D 0-2.0D 0*(D1S-D2S))*FA G(KA)=G(KA)+(18.0D 0*(X(KA-2)-X(KA))**2+2.0D 0*(D1S+D2S))*FA ENDIF IF (KA.NE.N) THEN D1S=COS(X(KA)-X(KA+1)-X(KA+2))*SIN(X(KA)+X(KA+1)-X(KA+2)) D2S=SIN(X(KA)-X(KA+1)-X(KA+2))*COS(X(KA)+X(KA+1)-X(KA+2)) G(KA)=G(KA)+(9.0D 0*(X(KA)-X(KA+2))**2+D1S+D2S)*FA G(KA+1)=G(KA+1)+(2.0D 0-D1S+D2S)*FA G(KA+2)=G(KA+2)-(9.0D 0*(X(KA)-X(KA+2))**2+D1S+D2S)*FA ENDIF ELSE EX=EXP(X(KA-1)-X(KA)-X(KA+1)) FA=4.0D 0*X(KA)-(X(KA-1)-X(KA+1))*EX-3.0D 0 W=X(KA-1)-X(KA+1) G(KA-1)=G(KA-1)-(EX+W*EX)*FA G(KA)=G(KA)+(4.0D 0+W*EX)*FA G(KA+1)=G(KA+1)+(EX+W*EX)*FA ENDIF 751 CONTINUE RETURN 760 DO 761 KA=1,NA H=2.0D 0 IF (KA.EQ.1) THEN FA=((3.0D 0-H*X(1))*X(1)-2.0D 0*X(2)+1.0D 0)**2 G(1)=G(1)+2.0D 0*((3.0D 0-H*X(1))*X(1)-2.0D 0*X(2)+1.0D 0)* & (3.0D 0-2.0D 0*H*X(1))*FA G(2)=G(2)-4.0D 0*((3.0D 0-H*X(1))*X(1)-2.0D 0*X(2)+1.0D 0)*FA ELSEIF (KA.LE.N-1) THEN FA=((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)**2 G(KA-1)=G(KA-1)-2.0D 0* & ((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)*FA G(KA)=G(KA)+2.0D 0* & ((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)* & (3.0D 0-2.0D 0*H*X(KA))*FA G(KA+1)=G(KA+1)-4.0D 0* & ((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)*FA ELSE FA=((3.0D 0-H*X(N))*X(N)-X(N-1)+1.0D 0)**2 G(N-1)=G(N-1)-2.0D 0*((3.0D 0-H*X(N))*X(N)-X(N-1)+1.0D 0)*FA G(N)=G(N)+2.0D 0*((3.0D 0-H*X(N))*X(N)-X(N-1)+1.0D 0)* & (3.0D 0-2.0D 0*H*X(N))*FA ENDIF 761 CONTINUE RETURN 780 DO 781 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2 G(KA)=G(KA)+4.0D 0*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-2.0D 0*X(KA+2)*FA ELSEIF (KA.LT.3) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2 G(KA-1)=G(KA-1)-8.0D 0*X(KA)*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-2.0D 0*X(KA+2)*FA ELSEIF (KA.LT.N-1) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+X(KA+1)- & X(KA+2)**2 G(KA-2)=G(KA-2)-FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-2.0D 0*X(KA+2)*FA ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2) G(KA-2)=G(KA-2)-FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-8.0D 0*X(KA+1)*FA ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) & +X(KA-1)**2-X(KA-2) G(KA-2)=G(KA-2)-FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+2.0D 0)*FA ENDIF 781 CONTINUE RETURN 790 DO 791 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2+ & X(KA+2)-X(KA+3)**2 G(KA)=G(KA)+4.0D 0*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA G(KA+3)=G(KA+3)-2.0D 0*X(KA+3)*FA ELSEIF (KA.LT.3) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2+X(KA+1)-X(KA+2)**2+ & X(KA+2)-X(KA+3)**2 G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA G(KA+3)=G(KA+3)-2.0D 0*X(KA+3)*FA ELSEIF (KA.LT.4) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2+X(KA+2)-X(KA+3)**2 G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA G(KA+3)=G(KA+3)-2.0D 0*X(KA+3)*FA ELSEIF (KA.LT.N-2) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2-X(KA-3)+X(KA+2)-X(KA+3)**2 G(KA-3)=G(KA-3)-FA G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA G(KA+3)=G(KA+3)-2.0D 0*X(KA+3)*FA ELSEIF (KA.LT.N-1) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2-X(KA-3)+X(KA+2) G(KA-3)=G(KA-3)-FA G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)+X(KA-2)**2-X(KA-3) G(KA-3)=G(KA-3)-FA G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) & +X(KA-1)**2-X(KA-2)+X(KA-2)**2-X(KA-3) G(KA-3)=G(KA-3)-FA G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+2.0D 0)*FA ENDIF 791 CONTINUE RETURN 810 DO 811 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=X(KA)+((5.0D 0-X(KA+1))*X(KA+1)-2.0D 0)*X(KA+1)-1.3D 1 G(KA)=G(KA)+FA G(KA+1)=G(KA+1)+(10.0D 0*X(KA+1)-3.0D 0*X(KA+1)**2-2.0D 0)*FA ELSE FA=X(KA-1)+((X(KA)+1.0D 0)*X(KA)-1.4D 1)*X(KA)-2.9D 1 G(KA-1)=G(KA-1)+FA G(KA)=G(KA)+(3.0D 0*X(KA)**2+2.0D 0*X(KA)-1.4D 1)*FA ENDIF 811 CONTINUE RETURN 830 DO 831 KA=1,NA IF(MOD(KA,4).EQ.1) THEN A=EXP(X(KA))-X(KA+1) FA=A**2 G(KA)=G(KA)+2.0D 0*A*EXP(X(KA))*FA G(KA+1)=G(KA+1)-2.0D 0*A*FA ELSEIF (MOD(KA,4).EQ.2) THEN FA=1.0D 1*(X(KA)-X(KA+1))**3 A=3.0D 1*(X(KA)-X(KA+1))**2*FA G(KA)=G(KA)+A G(KA+1)=G(KA+1)-A ELSEIF (MOD(KA,4).EQ.3) THEN A=X(KA)-X(KA+1) FA=(SIN(A)/COS(A))**2 B=2.0D 0*SIN(A)/(COS(A))**3*FA G(KA)=G(KA)+B G(KA+1)=G(KA+1)-B ELSE FA=X(KA)-1.0D 0 G(KA)=G(KA)+FA ENDIF 831 CONTINUE RETURN 840 DO 841 KA=1,NA IF(KA.LT.2) THEN FA=X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0+2.0D 0*X(KA+1) G(KA)=G(KA)+(X(KA)-3.0D 0)*FA G(KA+1)=G(KA+1)+2.0D 0*FA ELSEIF (KA.LT.N) THEN FA=X(KA-1)+X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0+2.0D 0*X(KA+1) G(KA-1)=G(KA-1)+FA G(KA)=G(KA)+(X(KA)-3.0D 0)*FA G(KA+1)=G(KA+1)+2.0D 0*FA ELSE FA=X(KA-1)+X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0 G(KA-1)=G(KA-1)+FA G(KA)=G(KA)+(X(KA)-3.0D 0)*FA ENDIF 841 CONTINUE RETURN 860 DO 861 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=1.0D 4*X(KA)*X(KA+1)-1.0D 0 G(KA)=G(KA)+1.0D 4*X(KA+1)*FA G(KA+1)=G(KA+1)+1.0D 4*X(KA)*FA ELSE FA=EXP(-X(KA-1))+EXP(-X(KA))-1.0001D 0 G(KA-1)=G(KA-1)-EXP(-X(KA-1))*FA G(KA)=G(KA)-EXP(-X(KA))*FA ENDIF 861 CONTINUE RETURN 870 DO 871 KA=1,NA IF(MOD(KA,4).EQ.1) THEN FA=-2.0D 2*X(KA)*(X(KA+1)-X(KA)**2)-(1.0D 0-X(KA)) G(KA)=G(KA)-(2.0D 2*(X(KA+1)-3.0D 0*X(KA)**2)-1.0D 0)*FA G(KA+1)=G(KA+1)-2.0D 2*X(KA)*FA ELSEIF(MOD(KA,4).EQ.2) THEN FA=2.0D 2*(X(KA)-X(KA-1)**2)+2.02D 1*(X(KA)-1.0D 0)+ & 1.98D 1*(X(KA+2)-1.0D 0) G(KA-1)=G(KA-1)-4.0D 2*X(KA-1)*FA G(KA)=G(KA)+2.202D 2*FA G(KA+2)=G(KA+2)+1.98D 1*FA ELSEIF(MOD(KA,4).EQ.3) THEN FA=-1.8D 2*X(KA)*(X(KA+1)-X(KA)**2)-(1.0D 0-X(KA)) G(KA)=G(KA)-(1.8D 2*(X(KA+1)-3.0D 0*X(KA)**2)-1.0D 0)*FA G(KA+1)=G(KA+1)-1.8D 2*X(KA)*FA ELSE FA=1.8D 2*(X(KA)-X(KA-1)**2)+2.02D 1*(X(KA)-1.0D 0)+ & 1.98D 1*(X(KA-2)-1.0D 0) G(KA-2)=G(KA-2)+1.98D 1*FA G(KA-1)=G(KA-1)-3.6D 2*X(KA-1)*FA G(KA)=G(KA)+2.002D 2*FA ENDIF 871 CONTINUE RETURN 880 DO 881 KA=1,NA IF (KA.LT.2) THEN A=EXP(COS(DBLE(KA)*(X(KA)+X(KA+1)))) B=A*DBLE(KA)*SIN(DBLE(KA)*(X(KA)+X(KA+1))) FA=X(KA)-A G(KA+1)=G(KA+1)+B*FA G(KA)=G(KA)+(B+1.0D 0)*FA ELSEIF (KA.LT.N) THEN A=EXP(COS(DBLE(KA)*(X(KA-1)+X(KA)+X(KA+1)))) B=A*SIN(DBLE(KA)*(X(KA-1)+X(KA)+X(KA+1)))*DBLE(KA) FA=X(KA)-A G(KA-1)=G(KA-1)+B*FA G(KA+1)=G(KA+1)+B*FA G(KA)=G(KA)+(B+1.0D 0)*FA ELSE A=EXP(COS(DBLE(KA)*(X(KA-1)+X(KA)))) B=A*SIN(DBLE(KA)*(X(KA-1)+X(KA)))*DBLE(KA) FA=X(KA)-A G(KA-1)=G(KA-1)+B*FA G(KA)=G(KA)+(B+1.0D 0)*FA ENDIF 881 CONTINUE RETURN 900 DO 901 KA=1,NA IF(KA.EQ.1) THEN FA=3.0D 0*X(KA)*(X(KA+1)-2.0D 0*X(KA))+0.25D 0*X(KA+1)**2 G(KA)=G(KA)+3.0D 0*(X(KA+1)-4.0D 0*X(KA))*FA G(KA+1)=G(KA+1)+(3.0D 0*X(KA)+0.5D 0*X(KA+1))*FA ELSEIF(KA.EQ.N) THEN FA=3.0D 0*X(KA)*(2.0D 1-2.0D 0*X(KA)+X(KA-1))+ & 0.25D 0*(2.0D 1-X(KA-1))**2 G(KA-1)=G(KA-1)+(3.0D 0*X(KA)-0.5D 0*(2.0D 1-X(KA-1)))*FA G(KA)=G(KA)+3.0D 0*(2.0D 1-4.0D 0*X(KA)+X(KA-1))*FA ELSE FA=3.0D 0*X(KA)*(X(KA+1)-2.0D 0*X(KA)+X(KA-1))+ & 0.25D 0*(X(KA+1)-X(KA-1))**2 G(KA-1)=G(KA-1)+(3.0D 0*X(KA)-0.5D 0*(X(KA+1)-X(KA-1)))*FA G(KA)=G(KA)+3.0D 0*(X(KA+1)-4.0D 0*X(KA)+X(KA-1))*FA G(KA+1)=G(KA+1)+(3.0D 0*X(KA)+0.5D 0*(X(KA+1)-X(KA-1)))*FA ENDIF 901 CONTINUE RETURN 910 DO 911 KA=1,NA H=1.0D 0/DBLE(N+1) IF (KA.LT.2) THEN FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA+1) G(KA)=G(KA)+(2.0D 0+PAR**2*H**2*COSH(PAR*X(KA)))*FA G(KA+1)=G(KA+1)-FA ELSE IF (KA.LT.N) THEN FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA-1)-X(KA+1) G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+PAR**2*H**2*COSH(PAR*X(KA)))*FA G(KA+1)=G(KA+1)-FA ELSE FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA-1)-1.0D 0 G(KA)=G(KA)+(2.0D 0+PAR**2*H**2*COSH(PAR*X(KA)))*FA G(KA-1)=G(KA-1)-FA ENDIF 911 CONTINUE RETURN 920 DO 921 KA=1,NA FA=6.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 A3=0.0D 0 IF (KA.GT.1) THEN FA=FA-4.0D 0*X(KA-1) A1=A1-X(KA-1) A2=A2+X(KA-1) A3=A3+2.0D 0*X(KA-1) ENDIF IF (KA.GT.2) THEN FA=FA+X(KA-2) A3=A3-X(KA-2) ENDIF IF (KA.LT.N-1) THEN FA=FA+X(KA+2) A3=A3+X(KA+2) ENDIF IF (KA.LT.N) THEN FA=FA-4.0D 0*X(KA+1) A1=A1+X(KA+1) A2=A2+X(KA+1) A3=A3-2.0D 0*X(KA+1) ENDIF IF (KA.GE.N-1) THEN FA=FA+1.0D 0 A3=A3+1.0D 0 ENDIF IF (KA.GE.N) THEN FA=FA-4.0D 0 A1=A1+1.0D 0 A2=A2+1.0D 0 A3=A3-2.0D 0 ENDIF FA=FA-0.5D 0*PAR*(A1*A2-X(KA)*A3) G(KA)=G(KA)+6.0D 0*FA GA1(1)=0.0D 0 GA1(2)=0.0D 0 GA2(1)=0.0D 0 GA2(2)=0.0D 0 IF (KA.GT.1) THEN G(KA-1)=G(KA-1)-(4.0D 0-PAR*X(KA))*FA GA1(1)=-1.0D 0 GA2(1)= 1.0D 0 ENDIF IF (KA.GT.2) THEN G(KA-2)=G(KA-2)+(1.0D 0-0.5D 0*PAR*X(KA))*FA ENDIF IF (KA.LT.N-1) THEN G(KA+2)=G(KA+2)+(1.0D 0+0.5D 0*PAR*X(KA))*FA ENDIF IF (KA.LT.N) THEN G(KA+1)=G(KA+1)-(4.0D 0+PAR*X(KA))*FA GA1(2)= 1.0D 0 GA2(2)= 1.0D 0 ENDIF G(KA)=G(KA)+0.5D 0*PAR*A3*FA IF (KA.GT.1) & G(KA-1)=G(KA-1)-0.5D 0*PAR*(GA1(1)*A2+A1*GA2(1))*FA IF (KA.LT.N) & G(KA+1)=G(KA+1)-0.5D 0*PAR*(GA1(2)*A2+A1*GA2(2))*FA 921 CONTINUE RETURN 930 DO 931 KA=1,NA H=1.0D 0/DBLE(M+1) IF(KA.LE.M) THEN J=KA+M FA=6.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 IF (KA.EQ.1) THEN A1=A1+1.0D 0 ENDIF IF (KA.GT.1) THEN FA=FA-4.0D 0*X(KA-1) A1=A1-X(J-1) A2=A2+2.0D 0*X(KA-1) ENDIF IF (KA.GT.2) THEN FA=FA+X(KA-2) A2=A2-X(KA-2) ENDIF IF (KA.LT.M-1) THEN FA=FA+X(KA+2) A2=A2+X(KA+2) ENDIF IF (KA.LT.M) THEN FA=FA-4.0D 0*X(KA+1) A1=A1+X(J+1) A2=A2-2.0D 0*X(KA+1) ENDIF IF (KA.EQ.M) THEN A1=A1+1.0D 0 ENDIF FA=FA+0.5D 0*PAR*H*(X(KA)*A2+X(J)*A1*H**2) ELSE J=KA-M FA=-2.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 IF (J.EQ.1) THEN A2=A2+1.0D 0 ENDIF IF (J.GT.1) THEN FA=FA+X(KA-1) A1=A1-X(J-1) A2=A2-X(KA-1) ENDIF IF (J.LT.M) THEN FA=FA+X(KA+1) A1=A1+X(J+1) A2=A2+X(KA+1) ENDIF IF (J.EQ.M) THEN A2=A2+1.0D 0 ENDIF FA=FA+0.5D 0*PAR*H*(X(KA)*A1+X(J)*A2) ENDIF IF(KA.LE.M) THEN G(KA)=G(KA)+6.0D 0*FA IF (KA.GT.1) THEN G(KA-1)=G(KA-1)-(4.0D 0-PAR*H*X(KA))*FA G(J-1)=G(J-1)-0.5D 0*PAR*H**3*X(J)*FA ENDIF IF (KA.GT.2) THEN G(KA-2)=G(KA-2)+(1.0D 0-0.5D 0*PAR*H*X(KA))*FA ENDIF IF (KA.LT.M-1) THEN G(KA+2)=G(KA+2)+(1.0D 0+0.5D 0*PAR*H*X(KA))*FA ENDIF IF (KA.LT.M) THEN G(KA+1)=G(KA+1)-(4.0D 0+PAR*H*X(KA))*FA G(J+1)=G(J+1)+0.5D 0*PAR*H**3*X(J)*FA ENDIF G(KA)=G(KA)+0.5D 0*PAR*H*A2*FA G(J)=G(J)+0.5D 0*PAR*H**3*A1*FA ELSE G(KA)=G(KA)-2.0D 0*FA IF (J.GT.1) THEN G(KA-1)=G(KA-1)+(1.0D 0-0.5D 0*PAR*H*X(J))*FA G(J-1)=G(J-1)-0.5D 0*PAR*H*X(KA)*FA ENDIF IF (J.LT.M) THEN G(KA+1)=G(KA+1)+(1.0D 0+0.5D 0*PAR*H*X(J))*FA G(J+1)=G(J+1)+0.5D 0*PAR*H*X(KA)*FA ENDIF G(KA)=G(KA)+0.5D 0*PAR*H*A1*FA G(J)=G(J)+0.5D 0*PAR*H*A2*FA ENDIF 931 CONTINUE RETURN 940 DO 941 KA=1,NA FA=4.0D 0*X(KA)-PAR*EXP(X(KA)) J=(KA-1)/M+1 I=KA-(J-1)*M IF(I.GT.1) FA=FA-X(KA-1) IF(I.LT.M) FA=FA-X(KA+1) IF(J.GT.1) FA=FA-X(KA-M) IF(J.LT.M) FA=FA-X(KA+M) G(KA)=G(KA)+(4.0D 0-PAR*EXP(X(KA)))*FA IF(J.GT.1) G(KA-M)=G(KA-M)-FA IF(I.GT.1) G(KA-1)=G(KA-1)-FA IF(I.LT.M) G(KA+1)=G(KA+1)-FA IF(J.LT.M) G(KA+M)=G(KA+M)-FA 941 CONTINUE RETURN 950 DO 951 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=4.0D 0*X(KA)+PAR*X(KA)**3/(1.0D 0+PAR*DBLE(I)**2+ & PAR*DBLE(J)**2) IF(I.EQ.1) FA=FA-1.0D 0 IF(I.GT.1) FA=FA-X(KA-1) IF(I.LT.M) FA=FA-X(KA+1) IF(I.EQ.M) FA=FA-2.0D 0+EXP(DBLE(J)/DBLE(M+1)) IF(J.EQ.1) FA=FA-1.0D 0 IF(J.GT.1) FA=FA-X(KA-M) IF(J.LT.M) FA=FA-X(KA+M) IF(J.EQ.M) FA=FA-2.0D 0+EXP(DBLE(I)/DBLE(M+1)) G(KA)=G(KA)+(4.0D 0+3.0D 0*PAR*X(KA)**2/(1.0D 0+PAR*DBLE(I)**2+ & PAR*DBLE(J)**2))*FA IF(J.GT.1) G(KA-M)=G(KA-M)-FA IF(I.GT.1) G(KA-1)=G(KA-1)-FA IF(I.LT.M) G(KA+1)=G(KA+1)-FA IF(J.LT.M) G(KA+M)=G(KA+M)-FA 951 CONTINUE RETURN 960 DO 961 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M A1=DBLE(I)/DBLE(M+1) A2=DBLE(J)/DBLE(M+1) FA=4.0D 0*X(KA)-PAR*SIN(2.0D 0*PI*X(KA))- & 1.0D 4*((A1-0.25D 0)**2+(A2-0.75D 0)**2)*PAR IF(I.EQ.1) FA=FA-X(KA+1)-PAR*SIN(PI*X(KA+1)*DBLE(M+1)) IF(I.GT.1.AND.I.LT.M) FA=FA-X(KA+1)-X(KA-1)- & PAR*SIN(PI*(X(KA+1)-X(KA-1))*DBLE(M+1)) IF(I.EQ.M) FA=FA-X(KA-1)+PAR*SIN(PI*X(KA-1)*DBLE(M+1)) IF(J.EQ.1) FA=FA-X(KA+M)-PAR*SIN(PI*X(KA+M)*DBLE(M+1)) IF(J.GT.1.AND.J.LT.M) FA=FA-X(KA+M)-X(KA-M)- & PAR*SIN(PI*(X(KA+M)-X(KA-M))*DBLE(M+1)) IF(J.EQ.M) FA=FA-X(KA-M)+PAR*SIN(PI*X(KA-M)*DBLE(M+1)) G(KA)=G(KA)+(4.0D 0-2.0D 0*PI*PAR*COS(2.0D 0*PI*X(KA)))*FA IF(I.EQ.1) G(KA+1)=G(KA+1)- & (1.0D 0+PI*DBLE(M+1)*PAR*COS(PI*X(KA+1)*DBLE(M+1)))*FA IF(I.GT.1.AND.I.LT.M) THEN G(KA-1)=G(KA-1)- & (1.0D 0-PI*DBLE(M+1)*PAR*COS(PI*(X(KA+1)-X(KA-1))*DBLE(M+1)))*FA G(KA+1)=G(KA+1)- & (1.0D 0+PI*DBLE(M+1)*PAR*COS(PI*(X(KA+1)-X(KA-1))*DBLE(M+1)))*FA ENDIF IF(I.EQ.M) G(KA-1)=G(KA-1)- & (1.0D 0-PI*DBLE(M+1)*PAR*COS(PI*X(KA-1)*DBLE(M+1)))*FA IF(J.EQ.1) G(KA+M)=G(KA+M)- & (1.0D 0+PI*DBLE(M+1)*PAR*COS(PI*X(KA+M)*DBLE(M+1)))*FA IF(J.GT.1.AND.J.LT.M) THEN G(KA-M)=G(KA-M)- & (1.0D 0-PI*DBLE(M+1)*PAR*COS(PI*(X(KA+M)-X(KA-M))*DBLE(M+1)))*FA G(KA+M)=G(KA+M)- & (1.0D 0+PI*DBLE(M+1)*PAR*COS(PI*(X(KA+M)-X(KA-M))*DBLE(M+1)))*FA ENDIF IF(J.EQ.M) G(KA-M)=G(KA-M)- & (1.0D 0-PI*DBLE(M+1)*PAR*COS(PI*X(KA-M)*DBLE(M+1)))*FA 961 CONTINUE RETURN 970 DO 971 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=8.0D 0*X(KA)**2 IF(I.EQ.1) FA=FA-2.0D 0*X(KA)*(X(KA+1)+1.0D 0)- & 0.5D 0*(X(KA+1)-1.0D 0)**2- & 1.5D 0*X(KA)**2*(X(KA+1)-1.0D 0)*PAR IF(I.GT.1.AND.I.LT.M) FA=FA-2.0D 0*X(KA)*(X(KA+1)+X(KA-1))- & 0.5D 0*(X(KA+1)-X(KA-1))**2- & 1.5D 0*X(KA)**2*(X(KA+1)-X(KA-1))*PAR IF(I.EQ.M) FA=FA-2.0D 0*X(KA)*X(KA-1)- & 0.5D 0*X(KA-1)**2+ & 1.5D 0*X(KA)**2*X(KA-1)*PAR IF(J.EQ.1) FA=FA-2.0D 0*X(KA)*(X(KA+M)+1.0D 0)- & 0.5D 0*(X(KA+M)-1.0D 0)**2 IF(J.GT.1.AND.J.LT.M) FA=FA-2.0D 0*X(KA)*(X(KA+M)+X(KA-M))- & 0.5D 0*(X(KA+M)-X(KA-M))**2 IF(J.EQ.M) FA=FA-2.0D 0*X(KA)*X(KA-M)- & 0.5D 0*X(KA-M)**2 IF (I.EQ.1.AND.J.EQ.1) FA=FA-PAR/DBLE(M+1) G(KA)=G(KA)+1.6D 1*X(KA)*FA IF(I.EQ.1) THEN G(KA)=G(KA)-(2.0D 0*(X(KA+1)+1.0D 0)+3.0D 0*X(KA)* & (X(KA+1)-1.0D 0)*PAR)*FA G(KA+1)=G(KA+1)-(2.0D 0*X(KA)+(X(KA+1)-1.0D 0)+ & 1.5D 0*X(KA)**2*PAR)*FA ENDIF IF(I.GT.1.AND.I.LT.M) THEN G(KA)=G(KA)-(2.0D 0*(X(KA+1)+X(KA-1))+3.0D 0*X(KA)* & (X(KA+1)-X(KA-1))*PAR)*FA G(KA-1)=G(KA-1)-(2.0D 0*X(KA)-(X(KA+1)-X(KA-1))- & 1.5D 0*X(KA)**2*PAR)*FA G(KA+1)=G(KA+1)-(2.0D 0*X(KA)+(X(KA+1)-X(KA-1))+ & 1.5D 0*X(KA)**2*PAR)*FA ENDIF IF(I.EQ.M) THEN G(KA)=G(KA)-(2.0D 0*X(KA-1)-3.0D 0*X(KA)*X(KA-1)*PAR)*FA G(KA-1)=G(KA-1)-(2.0D 0*X(KA)+X(KA-1)-1.5D 0*X(KA)**2*PAR)*FA ENDIF IF(J.EQ.1) THEN G(KA)=G(KA)-2.0D 0*(X(KA+M)+1.0D 0)*FA G(KA+M)=G(KA+M)-(2.0D 0*X(KA)+(X(KA+M)-1.0D 0))*FA ENDIF IF(J.GT.1.AND.J.LT.M) THEN G(KA)=G(KA)-2.0D 0*(X(KA+M)+X(KA-M))*FA G(KA-M)=G(KA-M)-(2.0D 0*X(KA)-(X(KA+M)-X(KA-M)))*FA G(KA+M)=G(KA+M)-(2.0D 0*X(KA)+(X(KA+M)-X(KA-M)))*FA ENDIF IF(J.EQ.M) THEN G(KA)=G(KA)-2.0D 0*X(KA-M)*FA G(KA-M)=G(KA-M)-(2.0D 0*X(KA)+X(KA-M))*FA ENDIF 971 CONTINUE RETURN 980 DO 981 KA=1,NA A3=0.0D 0 J=(KA-1)/M+1 I=KA-(J-1)*M A1=PAR*DBLE(I) A2=PAR*DBLE(J) FA=4.0D 0*X(KA)-2.0D 3*A1*A2*(1.0D 0-A1)*(1.0D 0-A2)*PAR**2 IF(I.GT.1) THEN FA=FA-X(KA-1) A3=A3-X(KA-1) ENDIF IF(I.LT.M) THEN FA=FA-X(KA+1) A3=A3+X(KA+1) ENDIF IF(J.GT.1) THEN FA=FA-X(KA-M) A3=A3-X(KA-M) ENDIF IF(J.LT.M) THEN FA=FA-X(KA+M) A3=A3+X(KA+M) ENDIF FA=FA+2.0D 1*PAR*A3*X(KA) G(KA)=G(KA)+4.0D 0*FA IF(I.GT.1) THEN G(KA-1)=G(KA-1)-(1.0D 0+2.0D 1*PAR*X(KA))*FA ENDIF IF(I.LT.M) THEN G(KA+1)=G(KA+1)-(1.0D 0-2.0D 1*PAR*X(KA))*FA ENDIF IF(J.GT.1) THEN G(KA-M)=G(KA-M)-(1.0D 0+2.0D 1*PAR*X(KA))*FA ENDIF IF(J.LT.M) THEN G(KA+M)=G(KA+M)-(1.0D 0-2.0D 1*PAR*X(KA))*FA ENDIF G(KA)=G(KA)+2.0D 1*PAR*A3*FA 981 CONTINUE RETURN 990 DO 991 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=2.0D 1*X(KA)-PAR*MAX(0.0D 0,X(KA))- & SIGN(PAR,(DBLE(I)/DBLE(M+2)-0.5D 0)) IF (J.GT.2) THEN FA=FA+X(KA-M-M) ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA-M-1) ENDIF FA=FA-8.0D 0*X(KA-M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA-M+1) ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN FA=FA+X(KA-2) ENDIF FA=FA-8.0D 0*X(KA-1) ENDIF IF (I.LT.M) THEN FA=FA-8.0D 0*X(KA+1) IF (I.LT.M-1) THEN FA=FA+X(KA+2) ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA+M-1) ENDIF FA=FA-8.0D 0*X(KA+M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA+M+1) ENDIF ENDIF IF (J.LT.M-1) THEN FA=FA+X(KA+M+M) ENDIF G(KA)=G(KA)+(2.0D 1-PAR)*FA IF (J.GT.2) THEN G(KA-M-M)=G(KA-M-M)+FA ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN G(KA-M-1)=G(KA-M-1)+2.0D 0*FA ENDIF G(KA-M)=G(KA-M)-8.0D 0*FA IF (I.LT.M) THEN G(KA-M+1)=G(KA-M+1)+2.0D 0*FA ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN G(KA-2)=G(KA-2)+FA ENDIF G(KA-1)=G(KA-1)-8.0D 0*FA ENDIF IF (I.LT.M) THEN G(KA+1)=G(KA+1)-8.0D 0*FA IF (I.LT.M-1) THEN G(KA+2)=G(KA+2)+FA ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN G(KA+M-1)=G(KA+M-1)+2.0D 0*FA ENDIF G(KA+M)=G(KA+M)-8.0D 0*FA IF (I.LT.M) THEN G(KA+M+1)=G(KA+M+1)+2.0D 0*FA ENDIF ENDIF IF (J.LT.M-1) THEN G(KA+M+M)=G(KA+M+M)+FA ENDIF 991 CONTINUE RETURN 660 DO 662 KA=1,NA H=0.5D 0/DBLE(M+2) J=(KA-1)/M+1 I=KA-(J-1)*M FA=2.0D 1*X(KA) A1=0.0D 0 A2=0.0D 0 A3=0.0D 0 A4=0.0D 0 IF (J.GT.2) THEN FA=FA+X(KA-M-M) A4=A4+X(KA-M-M) ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA-M-1) A3=A3+X(KA-M-1) A4=A4+X(KA-M-1) ENDIF FA=FA-8.0D 0*X(KA-M) A1=A1-X(KA-M) A4=A4-4.0D 0*X(KA-M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA-M+1) A3=A3-X(KA-M+1) A4=A4+X(KA-M+1) ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN FA=FA+X(KA-2) A3=A3+X(KA-2) ENDIF FA=FA-8.0D 0*X(KA-1) A2=A2-X(KA-1) A3=A3-4.0D 0*X(KA-1) ENDIF IF (I.LT.M) THEN FA=FA-8.0D 0*X(KA+1) A2=A2+X(KA+1) A3=A3+4.0D 0*X(KA+1) IF (I.LT.M-1) THEN FA=FA+X(KA+2) A3=A3-X(KA+2) ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA+M-1) A3=A3+X(KA+M-1) A4=A4-X(KA+M-1) ENDIF FA=FA-8.0D 0*X(KA+M) A1=A1+X(KA+M) A4=A4+4.0D 0*X(KA+M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA+M+1) A3=A3-X(KA+M+1) A4=A4-X(KA+M+1) ENDIF ENDIF IF (J.LT.M-1) THEN FA=FA+X(KA+M+M) A4=A4-X(KA+M+M) ENDIF IF (J.EQ.M) THEN IF (I.GT.1) THEN FA=FA-H-H A3=A3-H A4=A4+H ENDIF FA=FA+8.0D 0*H A1=A1-H A4=A4-4.0D 0*H IF (I.LT.M) THEN FA=FA-2.0D 0*H A3=A3+H A4=A4+H ENDIF FA=FA+H A4=A4-H ENDIF IF (J.EQ.M-1) THEN FA=FA-H A4=A4+H ENDIF FA=FA+0.25D 0*PAR*(A1*A3-A2*A4) G(KA)=G(KA)+2.0D 1*FA A1=0.0D 0 A2=0.0D 0 A3=0.0D 0 A4=0.0D 0 GA1(1)=0.0D 0 GA1(2)=0.0D 0 GA2(1)=0.0D 0 GA2(2)=0.0D 0 DO 661 K=1,6 GA3(K)=0.0D 0 GA4(K)=0.0D 0 661 CONTINUE IF (J.GT.2) THEN G(KA-M-M)=G(KA-M-M)+FA GA4(1)=GA4(1)+1.0D 0 A4=A4+X(KA-M-M) ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN G(KA-M-1)=G(KA-M-1)+2.0D 0*FA GA3(1)=GA3(1)+1.0D 0 GA4(2)=GA4(2)+1.0D 0 A3=A3+X(KA-M-1) A4=A4+X(KA-M-1) ENDIF G(KA-M)=G(KA-M)-8.0D 0*FA GA1(1)=GA1(1)-1.0D 0 A1=A1-X(KA-M) IF (I.LT.M) THEN G(KA-M+1)=G(KA-M+1)+2.0D 0*FA GA3(2)=GA3(2)-1.0D 0 GA4(3)=GA4(3)+1.0D 0 A3=A3-X(KA-M+1) A4=A4+X(KA-M+1) ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN G(KA-2)=G(KA-2)+FA GA3(3)=GA3(3)+1.0D 0 A3=A3+X(KA-2) ENDIF G(KA-1)=G(KA-1)-8.0D 0*FA GA2(1)=GA2(1)-1.0D 0 A2=A2-X(KA-1) ENDIF IF (I.LT.M) THEN G(KA+1)=G(KA+1)-8.0D 0*FA GA2(2)=GA2(2)+1.0D 0 A2=A2+X(KA+1) IF (I.LT.M-1) THEN G(KA+2)=G(KA+2)+FA GA3(4)=GA3(4)-1.0D 0 A3=A3-X(KA+2) ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN G(KA+M-1)=G(KA+M-1)+2.0D 0*FA GA3(5)=GA3(5)+1.0D 0 GA4(4)=GA4(4)-1.0D 0 A3=A3+X(KA+M-1) A4=A4-X(KA+M-1) ENDIF G(KA+M)=G(KA+M)-8.0D 0*FA GA1(2)=GA1(2)+1.0D 0 A1=A1+X(KA+M) IF (I.LT.M) THEN G(KA+M+1)=G(KA+M+1)+2.0D 0*FA GA3(6)=GA3(6)-1.0D 0 GA4(5)=GA4(5)-1.0D 0 A3=A3-X(KA+M+1) A4=A4-X(KA+M+1) ENDIF ENDIF IF (J.LT.M-1) THEN G(KA+M+M)=G(KA+M+M)+FA GA4(6)=GA4(6)-1.0D 0 A4=A4-X(KA+M+M) ENDIF IF (J.EQ.M) THEN IF (I.GT.1) THEN A3=A3-H A4=A4+H ENDIF A1=A1-H IF (I.LT.M) THEN A3=A3+H A4=A4+H ENDIF A4=A4-H ENDIF IF (J.EQ.M-1) THEN A4=A4+H ENDIF IF (KA.GT.M+M) & G(KA-M-M)=G(KA-M-M)+0.25D 0*PAR*(-A2*GA4(1))*FA IF (KA.GT.M+1) & G(KA-M-1)=G(KA-M-1)+0.25D 0*PAR*(+A1*GA3(1)-A2*GA4(2))*FA IF (KA.GT.M) & G(KA-M)=G(KA-M)+0.25D 0*PAR*(GA1(1)*A3)*FA IF (KA.GT.M-1) & G(KA-M+1)=G(KA-M+1)+0.25D 0*PAR*(+A1*GA3(2)-A2*GA4(3))*FA IF (KA.GT.2) & G(KA-2)=G(KA-2)+0.25D 0*PAR*(+A1*GA3(3))*FA IF (KA.GT.1) & G(KA-1)=G(KA-1)+0.25D 0*PAR*(-GA2(1)*A4)*FA IF (KA.LE.N-1) & G(KA+1)=G(KA+1)+0.25D 0*PAR*(-GA2(2)*A4)*FA IF (KA.LE.N-2) & G(KA+2)=G(KA+2)+0.25D 0*PAR*(+A1*GA3(4))*FA IF (KA.LE.N-M+1) & G(KA+M-1)=G(KA+M-1)+0.25D 0*PAR*(+A1*GA3(5)-A2*GA4(4))*FA IF (KA.LE.N-M) & G(KA+M)=G(KA+M)+0.25D 0*PAR*(GA1(2)*A3)*FA IF (KA.LE.N-M-1) & G(KA+M+1)=G(KA+M+1)+0.25D 0*PAR*(+A1*GA3(6)-A2*GA4(5))*FA IF (KA.LE.N-M-M) & G(KA+M+M)=G(KA+M+M)+0.25D 0*PAR*(-A2*GA4(6))*FA 662 CONTINUE RETURN 670 DO 671 KA=1,NA H=1.0D 0/DBLE(N+1) A1=DBLE(KA)*H A2=(A1-0.5D 0)**2 IF (KA.LT.2) THEN FA=2.0D 0*X(KA)-X(KA+1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) G(KA+1)=G(KA+1)-FA G(KA)=G(KA)+ & (2.0D 0+H**2*(3*X(KA)**2+2.0D-4*(2.0D-4*A2-1.0D 0)))*FA ELSEIF (KA.LT.N) THEN FA=2.0D 0*X(KA)-X(KA+1)-X(KA-1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+ & (2.0D 0+H**2*(3*X(KA)**2+2.0D-4*(2.0D-4*A2-1.0D 0)))*FA G(KA+1)=G(KA+1)-FA ELSE FA=2.0D 0*X(KA)-X(KA-1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+ & (2.0D 0+H**2*(3*X(KA)**2+2.0D-4*(2.0D-4*A2-1.0D 0)))*FA ENDIF 671 CONTINUE RETURN 680 DO 681 KA=1,NA H=1.0D 0/DBLE(N+1) A1=DBLE(KA)*H A2=(A1-0.5D 0)**2 IF (A1.GE.0.5D 0) THEN A3= 1.0D 6 ELSE A3=-1.0D 6 ENDIF IF (KA.LT.2) THEN FA=2.0D 0*X(KA)-X(KA+1)+H**2*(X(KA)**3*EXP(X(KA))+ & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*X(KA+1)+A3) G(KA)=G(KA)+(2.0D 0+ & H**2*(3.0D 0*X(KA)**2*EXP(X(KA))+X(KA)**3*EXP(X(KA))))*FA G(KA+1)=G(KA+1)-(1.0D 0- & H**2*5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0)))*FA ELSEIF (KA.LT.N) THEN FA=2.0D 0*X(KA)-X(KA+1)-X(KA-1)+H**2*(X(KA)**3*EXP(X(KA))+ & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*(X(KA+1)-X(KA-1))+ & A3) G(KA-1)=G(KA-1)-(1.0D 0+ & H**2*5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0)))*FA G(KA)=G(KA)+(2.0D 0+ & H**2*(3.0D 0*X(KA)**2*EXP(X(KA))+X(KA)**3*EXP(X(KA))))*FA G(KA+1)=G(KA+1)-(1.0D 0- & H**2*5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0)))*FA ELSE FA=2.0D 0*X(KA)-X(KA-1)+H**2*(X(KA)**3*EXP(X(KA))- & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*X(KA-1)-A3) G(KA-1)=G(KA-1)-(1.0D 0- & H**2*5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0)))*FA G(KA)=G(KA)+(2.0D 0+ & H**2*(3.0D 0*X(KA)**2*EXP(X(KA))+X(KA)**3*EXP(X(KA))))*FA ENDIF 681 CONTINUE RETURN 260 DO 261 KA=1,NA IF (KA.EQ.1) THEN FA=1.0D 0-X(1) G(1)=G(1)-FA ELSE FA=10.0D 0*DBLE(KA-1)*(X(KA)-X(KA-1))**2 G(KA)=G(KA)+20.0D 0*DBLE(KA-1)*(X(KA)-X(KA-1))*FA G(KA-1)=G(KA-1)-20.0D 0*DBLE(KA-1)*(X(KA)-X(KA-1))*FA ENDIF 261 CONTINUE RETURN 270 DO 271 KA=1,NA IF (KA.EQ.N) THEN FA=X(KA)-0.1D 0*X(1)**2 G(1)=G(1)-0.20D 0*X(1)*FA G(N)=G(N)+FA ELSE FA=X(KA)-0.1D 0*X(KA+1)**2 G(KA)=G(KA)+FA G(KA+1)=G(KA+1)-0.2D 0*X(KA+1)*FA ENDIF 271 CONTINUE RETURN 280 DO 281 KA=1,NA S=(1.0D 0/DBLE(N+1))**2*EXP(X(KA)) IF (N.EQ.1) THEN FA=-2.0D 0*X(KA)-S G(KA)=G(KA)-(2.0D 0+S)*FA ELSE IF (KA.EQ.1) THEN FA=-2.0D 0*X(KA)+X(KA+1)-S G(KA)=G(KA)-(2.0D 0+S)*FA G(KA+1)=G(KA+1)+FA ELSE IF (KA.EQ.N) THEN FA=X(KA-1)-2.0D 0*X(KA)-S G(KA)=G(KA)-(2.0D 0+S)*FA G(KA-1)=G(KA-1)+FA ELSE FA=X(KA-1)-2.0D 0*X(KA)+X(KA+1)-S G(KA)=G(KA)-(2.0D 0+S)*FA G(KA-1)=G(KA-1)+FA G(KA+1)=G(KA+1)+FA ENDIF 281 CONTINUE RETURN 290 DO 291 KA=1,NA S=0.1D 0 IF (N.EQ.1) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0 G(KA)=G(KA)+(3.0D 0-2.0D 0*S*X(KA))*FA ELSE IF (KA.EQ.1) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-2.0D 0*X(KA+1) G(KA)=G(KA)+(3.0D 0-2.0D 0*S*X(KA))*FA G(KA+1)=G(KA+1)-2.0D 0*FA ELSE IF (KA.EQ.N) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-X(KA-1) G(KA)=G(KA)+(3.0D 0-2.0D 0*S*X(KA))*FA G(KA-1)=G(KA-1)-FA ELSE FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-X(KA-1)-2.0D 0*X(KA+1) G(KA)=G(KA)+(3.0D 0-2.0D 0*S*X(KA))*FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-2.0D 0*FA ENDIF 291 CONTINUE RETURN 300 DO 303 KA=1,NA S1=1.0D 0 S2=1.0D 0 S3=1.0D 0 J1=3 J2=3 IF (KA-J1.GT.1) THEN I1=KA-J1 ELSE I1=1 ENDIF IF (KA+J2.LT.N) THEN I2=KA+J2 ELSE I2=N ENDIF S=0.0D 0 DO 301 J=I1,I2 IF (J.NE.KA) S=S+X(J)+X(J)**2 301 CONTINUE FA=(S1+S2*X(KA)**2)*X(KA)+1.D 0-S3*S G(KA)=G(KA)+(S1+3.0D 0*S2*X(KA)**2)*FA DO 302 J=I1,I2 G(J)=G(J)-S3*(1.0D 0+2.0D 0*X(J))*FA 302 CONTINUE 303 CONTINUE RETURN 310 DO 311 KA=1,NA IF (KA.EQ.1) THEN FA=X(1)**2-1.0D 0 G(1)=G(1)+2.0D 0*X(1)*FA ELSE FA=X(KA-1)**2+LOG(X(KA))-1.0D 0 G(KA-1)=G(KA-1)+2.0D 0*X(KA-1)*FA G(KA)=G(KA)+1.0D 0/X(KA)*FA ENDIF 311 CONTINUE RETURN 320 DO 321 KA=1,NA IF (KA.EQ.1) THEN FA=X(1) G(1)=G(1)+FA ELSE FA=COS(X(KA-1))+X(KA)-1.0D 0 G(KA)=G(KA)+FA G(KA-1)=G(KA-1)-SIN(X(KA-1))*FA ENDIF 321 CONTINUE RETURN 330 DO 331 KA=1,NA S=(1.0D 0/DBLE(N+1))**2 IF (N.EQ.1) THEN FA=2.0D 0*X(KA)-1.0D 0+S*(X(KA)+SIN(X(KA))) G(KA)=G(KA)+(2.0D 0+S*(1.0D 0+COS(X(KA))))*FA ELSE IF (KA.EQ.1) THEN FA=2.0D 0*X(KA)-X(KA+1)+S*(X(KA)+SIN(X(KA))) G(KA)=G(KA)+(2.0D 0+S*(1.0D 0+COS(X(KA))))*FA G(KA+1)=G(KA+1)-FA ELSE IF (KA.EQ.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-1.0D 0+S*(X(KA)+SIN(X(KA))) G(KA)=G(KA)+(2.0D 0+S*(1.0D 0+COS(X(KA))))*FA G(KA-1)=G(KA-1)-FA ELSE FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)+S*(X(KA)+SIN(X(KA))) G(KA)=G(KA)+(2.0D 0+S*(1.0D 0+COS(X(KA))))*FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA ENDIF 331 CONTINUE RETURN 340 DO 343 KA=1,NA IF (KA-5.GT.1) THEN I1=KA-5 ELSE I1=1 ENDIF IF (KA+1.LT.N) THEN I2=KA+1 ELSE I2=N ENDIF S=0.0D 0 DO 341 J=I1,I2 IF (J.NE.KA) S=S+X(J)*(1.0D 0+X(J)) 341 CONTINUE FA=X(KA)*(2.0D 0+5.0D 0*X(KA)**2)+1.0D 0-S G(KA)=G(KA)+(2.0D 0+15.0D 0*X(KA)**2)*FA DO 342 J=I1,I2 IF (J.NE.KA) G(J)=G(J)-(1.0D 0+2.0D 0*X(J))*FA 342 CONTINUE 343 CONTINUE RETURN 350 DO 351 KA=1,NA H=1.0D 0/DBLE(N+1) T=2.0D 0*H**2 IF (KA.EQ.1) THEN FA=2.0D 0*X(KA)-X(KA+1)-T*X(KA)**2-H*X(KA+1) G(KA)=G(KA)+2.0D 0*(1.0D 0-T*X(KA))*FA G(KA+1)=G(KA+1)-(1.0D 0+H)*FA ELSE IF (1.LT.KA.AND.KA.LT.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)-T*X(KA)**2-H*(X(KA+1)-X(KA-1)) G(KA)=G(KA)+2.0D 0*(1.0D 0-T*X(KA))*FA G(KA-1)=G(KA-1)-(1.0D 0-H)*FA G(KA+1)=G(KA+1)-(1.0D 0+H)*FA ELSE IF (KA.EQ.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-0.5D 0-T*X(KA)**2-H*(0.5D 0-X(KA-1)) G(KA)=G(KA)+2.0D 0*(1.0D 0-T*X(KA))*FA G(KA-1)=G(KA-1)-(1.0D 0-H)*FA ENDIF 351 CONTINUE RETURN 360 DO 361 KA=1,NA A=-9.0D-3 B=1.0D-3 AL=0.0D 0 BE=25.0D 0 GA=20.0D 0 CA=0.3D 0 CB=0.3D 0 H=(B-A)/DBLE(N+1) T=A+DBLE(KA)*H H=H**2 S=DBLE(KA)/DBLE(N+1) U=AL*(1.0D 0-S)+BE*S+X(KA) FF=CB*EXP(GA*(U-BE))-CA*EXP(GA*(AL-U)) FG=GA*(CB*EXP(GA*(U-BE))+CA*EXP(GA*(AL-U))) IF(T.LE.0) THEN FF=FF+CA ELSE FF=FF-CB ENDIF IF (N.EQ.1) THEN FA=-AL+2.0D 0*X(KA)-BE+H*FF G(KA)=G(KA)+(2.0D 0+H*FG)*FA ELSE IF (KA.EQ.1) THEN FA=-AL+2.0D 0*X(KA)-X(KA+1)+H*FF G(KA)=G(KA)+(2.0D 0+H*FG)*FA G(KA+1)=G(KA+1)-FA ELSE IF(KA.LT.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)+H*FF G(KA)=G(KA)+(2.0D 0+H*FG)*FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA ELSE FA=-X(KA-1)+2.0D 0*X(KA)-BE+H*FF G(KA)=G(KA)+(2.0D 0+H*FG)*FA G(KA-1)=G(KA-1)-FA ENDIF 361 CONTINUE RETURN 370 DO 371 KA=1,NA AL1=0.0D 0 AL2=0.0D 0 BE1=0.0D 0 BE2=0.0D 0 H=1.0D 0/DBLE(M+1) T=DBLE(KA)*H IF (KA.EQ.1) THEN S1=2.0D 0*X(KA)-X(KA+1) B=AL1 ELSE IF (KA.EQ.M+1) THEN S1=2.0D 0*X(KA)-X(KA+1) B=AL2 ELSE IF (KA.EQ.M) THEN S1=-X(KA-1)+2.0D 0*X(KA) B=BE1 ELSE IF (KA.EQ.N) THEN S1=-X(KA-1)+2.0D 0*X(KA) B=BE2 ELSE S1=-X(KA-1)+2.0D 0*X(KA)-X(KA+1) B=0.0D 0 ENDIF IF (KA.LE.M) THEN S2=X(KA)**2+X(KA)+0.1D 0*X(M+KA)**2-1.2D 0 ELSE S2=0.2D 0*X(KA-M)**2+X(KA)**2+2.0D 0*X(KA)-0.6D 0 ENDIF FA=S1+H**2*S2-B H=1.0D 0/DBLE(M+1)**2 IF (KA.EQ.1) THEN G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+1.0D 0))*FA G(KA+1)=G(KA+1)-FA G(M+KA)=G(M+KA)+H*0.2D 0*X(M+KA)*FA ELSE IF (KA.EQ.M+1) THEN G(1)=G(1)+H*0.4D 0*X(1)*FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+2.0D 0))*FA G(KA+1)=G(KA+1)-FA ELSE IF (KA.EQ.M) THEN G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+1.0D 0))*FA G(M+KA)=G(M+KA)+H*0.2D 0*X(M+KA)*FA ELSE IF (KA.EQ.N) THEN G(M)=G(M)+H*0.4D 0*X(M)*FA G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+2.0D 0))*FA ELSE IF (KA.LT.M) THEN G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+1.0D 0))*FA G(KA+1)=G(KA+1)-FA G(M+KA)=G(M+KA)+H*0.2D 0*X(M+KA)*FA ELSE G(KA-M)=G(KA-M)+H*0.4D 0*X(KA-M)*FA G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+2.0D 0))*FA G(KA+1)=G(KA+1)-FA ENDIF 371 CONTINUE RETURN 380 DO 381 KA=1,NA L=MOD(KA,M) IF (L.EQ.0) THEN K=KA/M L=M ELSE K=INT(KA/M)+1 ENDIF LA=1.0D 0 H=1.0D 0/DBLE(M+1) H2=LA*H*H IF (L.EQ.1.AND.K.EQ.1) THEN FA=4.0D 0*X(1)-X(2)-X(M+1)+H2*EXP(X(1)) ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN FA=4.0D 0*X(L)-X(L-1)-X(L+1)-X(L+M)+H2*EXP(X(L)) ENDIF IF (L.EQ.M.AND.K.EQ.1) THEN FA=4.0D 0*X(M)-X(M-1)-X(M+M)+H2*EXP(X(M)) ENDIF IF (L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)-X(KA+M)+H2*EXP(X(KA)) ENDIF IF (L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-M)-X(KA-1)-X(KA+M)+H2*EXP(X(KA)) ENDIF IF (L.EQ.1.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF (L.EQ.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF (1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)-X(KA+M)+H2*EXP(X(KA)) ENDIF IF (L.EQ.1.AND.K.EQ.1) THEN G(1)=G(1)+(4.0D 0+H2*EXP(X(1)))*FA G(2)=G(2)-FA G(M+1)=G(M+1)-FA ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN G(L)=G(L)+(4.0D 0+H2*EXP(X(L)))*FA G(L-1)=G(L-1)-FA G(L+1)=G(L+1)-FA G(L+M)=G(L+M)-FA ENDIF IF (L.EQ.M.AND.K.EQ.1) THEN G(M)=G(M)+(4.0D 0+H2*EXP(X(M)))*FA G(M-1)=G(M-1)-FA G(M+M)=G(M+M)-FA ENDIF IF (L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA+1)=G(KA+1)-FA G(KA+M)=G(KA+M)-FA ENDIF IF (L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+M)=G(KA+M)-FA ENDIF IF (L.EQ.1.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA+1)=G(KA+1)-FA ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA ENDIF IF (L.EQ.M.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA ENDIF IF (1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA G(KA+M)=G(KA+M)-FA ENDIF 381 CONTINUE RETURN 390 DO 391 KA=1,NA L=MOD(KA,M) IF (L.EQ.0) THEN K=KA/M L=M ELSE K=INT(KA/M)+1 ENDIF H=1.0D 0/DBLE(M+1) H2=H*H IF (L.EQ.1.AND.K.EQ.1) THEN FA=4.0D 0*X(1)-X(2)-X(M+1)+H2*X(1)**2-24.0D 0/(H+1.0D 0)**2 ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN FA=4.0D 0*X(L)-X(L-1)-X(L+1)-X(L+M)+H2*X(L)**2 & -12.0D 0/(DBLE(L)*H+1.0D 0)**2 ENDIF IF (L.EQ.M.AND.K.EQ.1) THEN FA=4.0D 0*X(M)-X(M-1)-X(M+M)+H2*X(M)**2 & -12.0D 0/(DBLE(M)*H+1.0D 0)**2-12.0D 0/(H+2.0D 0)**2 ENDIF IF (L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)-X(KA+M)+H2*X(KA)**2 & -12.0D 0/(DBLE(K)*H+1.0D 0)**2 ENDIF IF (L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-M)-X(KA-1)-X(KA+M)+H2*X(KA)**2 & -12.0D 0/(DBLE(K)*H+2.0D 0)**2 ENDIF IF (L.EQ.1.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)+H2*X(KA)**2 & -12.0D 0/(DBLE(M)*H+1.0D 0)**2-12.0D 0/(H+2.0D 0)**2 ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)+H2*X(KA)**2 & -12.0D 0/(DBLE(L)*H+2.0D 0)**2 ENDIF IF (L.EQ.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA-M)+H2*X(KA)**2 & -24.0D 0/(DBLE(M)*H+2.0D 0)**2 ENDIF IF (1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)-X(KA+M)+H2*X(KA)**2 ENDIF IF (L.EQ.1.AND.K.EQ.1) THEN G(1)=G(1)+(4.0D 0+H2*X(1)*2.0D 0)*FA G(2)=G(2)-FA G(M+1)=G(M+1)-FA ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN G(L)=G(L)+(4.0D 0+H2*X(L)*2.0D 0)*FA G(L-1)=G(L-1)-FA G(L+1)=G(L+1)-FA G(L+M)=G(L+M)-FA ENDIF IF (L.EQ.M.AND.K.EQ.1) THEN G(M)=G(M)+(4.0D 0+H2*X(M)*2.0D 0)*FA G(M-1)=G(M-1)-FA G(M+M)=G(M+M)-FA ENDIF IF (L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA+1)=G(KA+1)-FA G(KA+M)=G(KA+M)-FA ENDIF IF (L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+M)=G(KA+M)-FA ENDIF IF (L.EQ.1.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA+1)=G(KA+1)-FA ENDIF IF (1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA ENDIF IF (L.EQ.M.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA ENDIF IF (1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA G(KA+M)=G(KA+M)-FA ENDIF 391 CONTINUE RETURN END * SUBROUTINE TFBU25 ALL SYSTEMS 07/12/01 C PORTABILITY : ALL SYSTEMS C 07/12/01 LU : ORIGINAL VERSION * * PURPOSE : * VALUES AND GRADIENTS OF MODEL FUNCTIONS FOR UNCONSTRAINED * MINIMIZATION. UNIVERSAL VERSION. * * PARAMETERS : * II N NUMBER OF VARIABLES. * RI X(N) VECTOR OF VARIABLES. * RO F VALUE OF THE MODEL FUNCTION. * RI G(N) GRADIENG OF THE MODEL FUNCTION. * II NEXT NUMBER OF THE TEST PROBLEM. * SUBROUTINE TFBU25(N,X,F,G,NEXT) INTEGER N,NA,NEXT REAL*8 X(N),G(N),F REAL*8 FA INTEGER I,J,K,L,M,IA,IB,IC,I1,I2,J1,J2,KA,LA REAL*8 A,B,C,D,E,P,Q,R,S,S1,S2,S3,T,U,V,W,EX,ALFA,H,H2,PI REAL*8 A1,A2,A3,A4,AL,AL1,AL2,BE,BE1,BE2,CA,CB,D1S,D2S,FF,FG,GA REAL*8 GA1(2),GA2(2),GA3(6),GA4(6) REAL*8 Y(20),PAR COMMON /EMPR15/ Y COMMON /EMPR18/ PAR,M COMMON /EMPR25/ NA PI=3.14159265358979323846D 0 F=0.0D 0 CALL UXVSET(N,0.0D 0,G) GO TO (10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160, & 170,180,190,200,210,220, & 410,420,430,260,450,460,470,480,490,500,510,520,530,540,550,560, & 570,580,590,600,610,620, & 720,730,740,750,760,780,790,810,830,840,860,870,880,900,910,920, & 930,940,950,960,970,980,990,660,670,680, & 270,280,290,300,320,330,340,350,360,370,380,390),NEXT 10 DO 11 J=2,N A=X(J-1)**2-X(J) B=X(J-1)-1.0D 0 F=F+1.0D 2*A**2+B**2 G(J-1)=G(J-1)+4.0D 2*X(J-1)*A+2.0D 0*B G(J)=G(J)-2.0D 2*A 11 CONTINUE RETURN 20 DO 21 J=2,N-2,2 A=X(J-1)**2-X(J) B=X(J-1)-1.0D 0 C=X(J+1)**2-X(J+2) D=X(J+1)-1.0D 0 U=X(J)+X(J+2)-2.0D 0 V=X(J)-X(J+2) F=F+1.0D 2*A**2+B**2+9.0D 1*C**2+D**2+ & 1.0D 1*U**2+0.1D 0*V**2 G(J-1)=G(J-1)+4.0D 2*X(J-1)*A+2.0D 0*B G(J)=G(J)-2.0D 2*A+2.0D 1*U+0.2D 0*V G(J+1)=G(J+1)+3.6D 2*X(J+1)*C+2.0D 0*D G(J+2)=G(J+2)-1.8D 2*C+2.0D 1*U-0.2D 0*V 21 CONTINUE RETURN 30 DO 31 J=2,N-2,2 A=X(J-1)+1.0D 1*X(J) B=X(J+1)-X(J+2) C=X(J)-2.0D 0*X(J+1) D=X(J-1)-X(J+2) F=F+A**2+5.0D 0*B**2+C**4+1.0D 1*D**4 G(J-1)=G(J-1)+2.0D 0*A+4.0D 1*D**3 G(J)=G(J)+2.0D 1*A+4.0D 0*C**3 G(J+1)=G(J+1)-8.0D 0*C**3+1.0D 1*B G(J+2)=G(J+2)-4.0D 1*D**3-1.0D 1*B 31 CONTINUE RETURN 40 DO 41 J=2,N-2,2 A=EXP(X(J-1)) B=A-X(J) D=X(J)-X(J+1) P=X(J+1)-X(J+2) C=COS(P) Q=SIN(P)/COS(P) U=X(J-1) V=X(J+2)-1.0D 0 F=F+B**4+1.0D 2*D**6+Q**4+U**8+V**2 B=4.0D 0*B**3 D=6.0D 2*D**5 Q=4.0D 0*Q**3/C**2 G(J-1)=G(J-1)+A*B+8.0D 0*U**7 G(J)=G(J)+D-B G(J+1)=G(J+1)+Q-D G(J+2)=G(J+2)+2.0D 0*V-Q 41 CONTINUE RETURN 50 P=7.0D 0/3.0D 0 DO 51 J=1,N A=(3.0D 0-2.0D 0*X(J))*X(J)+1.0D 0 IF (J.GT.1) A=A-X(J-1) IF (J.LT.N) A=A-X(J+1) F=F+ABS(A)**P B=P*ABS(A)**(P-1.0D 0)*SIGN(1.0D 0,A) G(J)=G(J)+B*(3.0D 0-4.0D 0*X(J)) IF (J.GT.1) G(J-1)=G(J-1)-B IF (J.LT.N) G(J+1)=G(J+1)-B 51 CONTINUE RETURN 60 P=7.0D 0/3.0D 0 DO 63 J=1,N A=(2.0D 0+5.0D 0*X(J)**2)*X(J)+1.0D 0 DO 61 I=MAX(1,J-5),MIN(N,J+1) IF (I.NE.J) A=A+X(I)*(1.0D 0+X(I)) 61 CONTINUE B=P*ABS(A)**(P-1.0D 0)*SIGN(1.0D 0,A) F=F+ABS(A)**P G(J)=G(J)+B*(2.0D 0+1.5D 1*X(J)**2) DO 62 I=MAX(1,J-5),MIN(N,J+1) IF (I.NE.J) G(I)=G(I)+B*(1.0D 0+2.0D 0*X(I)) 62 CONTINUE 63 CONTINUE RETURN 70 P=7.0D 0/3.0D 0 K=N/2 DO 71 J=1,N A=(3.0D 0-2.0D 0*X(J))*X(J)+1.0D 0 IF (J.GT.1) A=A-X(J-1) IF (J.LT.N) A=A-X(J+1) F=F+ABS(A)**P B=P*ABS(A)**(P-1.0D 0)*SIGN(1.0D 0,A) G(J)=G(J)+B*(3.0D 0-4.0D 0*X(J)) IF (J.GT.1) G(J-1)=G(J-1)-B IF (J.LT.N) G(J+1)=G(J+1)-B IF (J.LE.K) THEN A=X(J)+X(J+K) F=F+ABS(A)**P B=P*ABS(A)**(P-1.0D 0)*SIGN(1.0D 0,A) G(J)=G(J)+B G(J+K)=G(J+K)+B ENDIF 71 CONTINUE RETURN 80 K=N/2 DO 83 J=1,N P=0.0D 0 DO 81 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 81 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) 81 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) ENDIF F=F+(DBLE(N+J)-P)**2/DBLE(N) P=2.0D 0*(DBLE(N+J)-P)/DBLE(N) DO 82 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 82 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 G(I)=G(I)-P*(A*COS(X(I))-B*SIN(X(I))) 82 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 G(I)=G(I)-P*(A*COS(X(I))-B*SIN(X(I))) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 G(I)=G(I)-P*(A*COS(X(I))-B*SIN(X(I))) ENDIF 83 CONTINUE RETURN 90 K=N/2 Q=1.0D 0/DBLE(N) DO 92 J=1,N P=0.0D 0 DO 91 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 91 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) G(I)=G(I)+Q*(A*COS(X(I))-B*SIN(X(I))) 91 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) G(I)=G(I)+Q*(A*COS(X(I))-B*SIN(X(I))) ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=DBLE(I+J)/1.0D 1 P=P+A*SIN(X(I))+B*COS(X(I)) G(I)=G(I)+Q*(A*COS(X(I))-B*SIN(X(I))) ENDIF F=F+(P+DBLE(J)*(1.0D 0-COS(X(J))))*Q G(J)=G(J)+Q*DBLE(J)*SIN(X(J)) 92 CONTINUE RETURN 100 K=N/2 DO 102 J=1,N P=0.0D 0 Q=1.0D 0+DBLE(J)/1.0D 1 DO 101 I=J-2,J+2 IF (I.LT.1.OR.I.GT.N) GO TO 101 A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 P=P+A*SIN(Q*X(J)+B*X(I)+C) R=A*COS(Q*X(J)+B*X(I)+C)/DBLE(N) G(J)=G(J)+R*Q G(I)=G(I)+R*B 101 CONTINUE IF (J.GT.K) THEN I=J-K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 P=P+A*SIN(Q*X(J)+B*X(I)+C) R=A*COS(Q*X(J)+B*X(I)+C)/DBLE(N) G(J)=G(J)+R*Q G(I)=G(I)+R*B ELSE I=J+K A=5.0D 0*(1.0D 0+MOD(I,5)+MOD(J,5)) B=1.0D 0+DBLE(I)/1.0D 1 C=DBLE(I+J)/1.0D 1 P=P+A*SIN(Q*X(J)+B*X(I)+C) R=A*COS(Q*X(J)+B*X(I)+C)/DBLE(N) G(J)=G(J)+R*Q G(I)=G(I)+R*B ENDIF F=F+P 102 CONTINUE F=F/DBLE(N) RETURN 110 P=-0.2008D-2 Q=-0.1900D-2 R=-0.0261D-2 DO 112 I=0,N-5,5 A=1.0D 0 B=0.0D 0 DO 111 J=1,5 A=A*X(I+J) B=B+X(I+J)**2 111 CONTINUE W=EXP(A) A=A*W B=B-1.0D 1-P C=X(I+2)*X(I+3)-5.0D 0*X(I+4)*X(I+5)-Q D=X(I+1)**3+X(I+2)**3+1.0D 0-R F=F+W+1.0D 1*(B**2+C**2+D**2) G(I+1)=G(I+1)+A/X(I+1)+2.0D 1*(2.0D 0*B*X(I+1)+ & 3.0D 0*D*X(I+1)**2) G(I+2)=G(I+2)+A/X(I+2)+2.0D 1*(2.0D 0*B*X(I+2)+ & C*X(I+3)+3.0D 0*D*X(I+2)**2) G(I+3)=G(I+3)+A/X(I+3)+2.0D 1*(2.0D 0*B*X(I+3)+C*X(I+2)) G(I+4)=G(I+4)+A/X(I+4)+2.0D 1*(2.0D 0*B*X(I+4)- & 5.0D 0*C*X(I+5)) G(I+5)=G(I+5)+A/X(I+5)+2.0D 1*(2.0D 0*B*X(I+5)-5.0D 0*C*X(I+4)) 112 CONTINUE RETURN 120 DO 121 J=2,N A=X(J-1)-3.0D 0 B=X(J-1)-X(J) F=F+A**2+B**2+EXP(2.0D 1*B) G(J-1)=G(J-1)+2.0D 0*A+2.0D 0*B+2.0D 1*EXP(2.0D 1*B) G(J)=G(J)-2.0D 0*B-2.0D 1*EXP(2.0D 1*B) 121 CONTINUE RETURN 130 DO 131 J=2,N A=X(J)**2 B=X(J-1)**2 C=A+1.0D 0 D=B+1.0D 0 F=F+B**C+A**D P=0.0D 0 IF (A.GT.P) P=LOG(A) Q=0.0D 0 IF (B.GT.Q) Q=LOG(B) G(J-1)=G(J-1)+2.0D 0*X(J-1)*(C*B**A+P*A**D) G(J)=G(J)+2.0D 0*X(J)*(D*A**B+Q*B**C) 131 CONTINUE RETURN 140 P=1.0D 0/DBLE(N+1) Q=0.5D 0*P**2 DO 141 J=1,N A=2.0D 0*X(J)+Q*(X(J)+DBLE(J)*P+1.0D 0)**3 IF(J.GT.1) A=A-X(J-1) IF(J.LT.N) A=A-X(J+1) F=F+A**2 G(J)=G(J)+A*(4.0D 0+6.0D 0*Q*(X(J)+DBLE(J)*P+1.0D 0)**2.0D 0) IF(J.GT.1) G(J-1)=G(J-1)-2.0D 0*A IF(J.LT.N) G(J+1)=G(J+1)-2.0D 0*A 141 CONTINUE RETURN 150 P=1.0D 0/DBLE(N+1) Q=2.0D 0/P R=2.0D 0*P DO 151 J=2,N A=X(J-1)-X(J) F=F+Q*X(J-1)*A G(J-1)=G(J-1)+Q*(2.0D 0*X(J-1)-X(J)) G(J)=G(J)-Q*X(J-1) IF (ABS(A).LE.1.0D-6) THEN F=F+R*EXP(X(J))*(1.0D 0+A/2.0D 0*(1.0D 0+A/3.0D 0*(1.0D 0+ & A/4.0D 0))) G(J-1)=G(J-1)+R*EXP(X(J))*(1.0D 0/2.0D 0+A*(1.0D 0/3.0D 0+ & A/8.0D 0)) G(J)=G(J)+R*EXP(X(J))*(1.0D 0/2.0D 0+A*(1.0D 0/6.0D 0+ & A/24.0D 0)) ELSE B=EXP(X(J-1))-EXP(X(J)) F=F+R*B/A G(J-1)=G(J-1)+R*(EXP(X(J-1))*A-B)/A**2 G(J)=G(J)-R*(EXP(X(J))*A-B)/A**2 ENDIF 151 CONTINUE F=F+Q*X(N)**2+R*(EXP(X(1))-1.0D 0)/X(1) & +R*(EXP(X(N))-1.0D 0)/X(N) G(1)=G(1)+R*(EXP(X(1))*(X(1)-1.0D 0)+1.0D 0)/X(1)**2 G(N)=G(N)+2.0D 0*Q*X(N) & +R*(EXP(X(N))*(X(N)-1.0D 0)+1.0D 0)/X(N)**2 RETURN 160 DO 161 J=1,N A=DBLE(J)*(1.0D 0-COS(X(J))) IF(J.GT.1) A=A+DBLE(J)*SIN(X(J-1)) IF(J.LT.N) A=A-DBLE(J)*SIN(X(J+1)) F=F+A A=DBLE(J)*SIN(X(J)) G(J)=G(J)+A IF(J.GT.1) G(J-1)=G(J-1)+DBLE(J)*COS(X(J-1)) IF(J.LT.N) G(J+1)=G(J+1)-DBLE(J)*COS(X(J+1)) 161 CONTINUE RETURN 170 P=1.0D 0/DBLE(N+1) DO 171 J=1,N IF (J.EQ.1) THEN F=F+0.25D 0*X(J)**2/P+1.25D-1*X(J+1)**2/P+ & P*(EXP(X(J))-1.0D 0) G(J)=G(J)+0.5D 0*X(J)/P+P*EXP(X(J)) G(J+1)=G(J+1)+0.25D 0*X(J+1)/P ELSE IF (J.EQ.N) THEN F=F+0.25D 0*X(J)**2/P+1.25D-1*X(J-1)**2/P+ & P*(EXP(X(J))-1.0D 0) G(J)=G(J)+0.5D 0*X(J)/P+P*EXP(X(J)) G(J-1)=G(J-1)+0.25D 0*X(J-1)/P ELSE F=F+1.25D-1*(X(J+1)-X(J-1))**2/P+P*(EXP(X(J))-1.0D 0) A=0.25D 0*(X(J+1)-X(J-1))/P G(J)=G(J)+P*EXP(X(J)) G(J-1)=G(J-1)-A G(J+1)=G(J+1)+A ENDIF 171 CONTINUE RETURN 180 P=1.0D 0/DBLE(N+1) DO 181 J=1,N Q=DBLE(J)*P IF (J.EQ.1) THEN F=F+0.5D 0*X(J)**2/P+0.25D 0*X(J+1)**2/P- & P*(X(J)**2+2.0D 0*X(J)*Q) G(J)=G(J)+X(J)/P-2.0D 0*P*(X(J)+Q) G(J+1)=G(J+1)+0.5D 0*X(J+1)/P ELSE IF (J.EQ.N) THEN F=F+0.5D 0*X(J)**2/P+0.25D 0*X(J-1)**2/P- & P*(X(J)**2+2.0D 0*X(J)*Q) G(J)=G(J)+X(J)/P-2.0D 0*P*(X(J)+Q) G(J-1)=G(J-1)+0.5D 0*X(J-1)/P ELSE F=F+2.5D-1*(X(J+1)-X(J-1))**2/P-P*(X(J)**2+ & 2.0D 0*X(J)*Q) A=0.5D 0*(X(J+1)-X(J-1))/P G(J)=G(J)-2.0D 0*P*(X(J)+Q) G(J-1)=G(J-1)-A G(J+1)=G(J+1)+A ENDIF 181 CONTINUE RETURN 190 P=1.0D 0/DBLE(N+1) DO 191 J=1,N Q=EXP(2.0D 0*DBLE(J)*P) IF (J.EQ.1) THEN R=1.0D 0/3.0D 0 F=F+0.5D 0*(X(J)-R)**2/P+7.0D 0*R**2+ & 2.5D-1*(X(J+1)-R)**2/P+P*(X(J)**2+2.0D 0*X(J)*Q) A=0.5D 0*(X(J+1)-R)/P G(J)=G(J)+2.0D 0*P*(X(J)+Q)+(X(J)-R)/P G(J+1)=G(J+1)+A ELSE IF (J.EQ.N) THEN R=EXP(2.0D 0)/3.0D 0 F=F+0.5D 0*(X(J)-R)**2/P+7.0D 0*R**2+ & 2.5D-1*(X(J-1)-R)**2/P+P*(X(J)**2+2.0D 0*X(J)*Q) A=0.5D 0*(X(J-1)-R)/P G(J)=G(J)+2.0D 0*P*(X(J)+Q)+(X(J)-R)/P G(J-1)=G(J-1)+A ELSE F=F+2.5D-1*(X(J+1)-X(J-1))**2/P+P*(X(J)**2+ & 2.0D 0*X(J)*Q) A=0.5D 0*(X(J+1)-X(J-1))/P G(J)=G(J)+2.0D 0*P*(X(J)+Q) G(J-1)=G(J-1)-A G(J+1)=G(J+1)+A ENDIF 191 CONTINUE RETURN 200 P=1.0D 0/DBLE(N+1) DO 201 J=1,N A=EXP(-2.0D 0*X(J)**2) IF (J.EQ.1) THEN F=F+(0.5D 0*X(J)**2/P-P)+ & (2.5D-1*X(J+1)**2/P-P)*A B=0.5D 0*X(J+1)/P G(J)=G(J)+X(J)/P-4.0D 0*X(J)*A*P*(B**2-1.0D 0) G(J+1)=G(J+1)+A*B ELSE IF (J.EQ.N) THEN F=F+(0.5D 0*X(J)**2/P-P)*EXP(-2.0D 0)+ & (2.5D-1*X(J-1)**2/P-P)*A B=0.5D 0*X(J-1)/P G(J)=G(J)+X(J)/P*EXP(-2.0D 0)-4.0D 0*X(J)*A*P*(B**2-1.0D 0) G(J-1)=G(J-1)+A*B ELSE F=F+(2.5D-1*(X(J+1)-X(J-1))**2/P-P)*A B=0.5D 0*(X(J+1)-X(J-1))/P G(J)=G(J)-4.0D 0*X(J)*A*P*(B**2-1.0D 0) G(J-1)=G(J-1)-A*B G(J+1)=G(J+1)+A*B ENDIF 201 CONTINUE RETURN 210 P=1.0D 0/DBLE(N+1) DO 211 J=1,N IF (J.EQ.1) THEN A=0.5D 0*(X(J+1)-1.0D 0)/P B=(X(J)-1.0D 0)/P U=ATAN(A) V=ATAN(B) F=F+P*(X(J)**2+A*U-LOG(SQRT(1.0D 0+A**2)))+ & 0.5D 0*P*(1.0D 0+B*V-LOG(SQRT(1.0D 0+B**2))) G(J)=G(J)+2.0D 0*P*X(J)+0.5D 0*V G(J+1)=G(J+1)+0.5D 0*U ELSE IF (J.EQ.N) THEN A=0.5D 0*(2.0D 0-X(J-1))/P B=(2.0D 0-X(J))/P U=ATAN(A) V=ATAN(B) F=F+P*(X(J)**2+A*U-LOG(SQRT(1.0D 0+A**2)))+ & 0.5D 0*P*(4.0D 0+B*V-LOG(SQRT(1.0D 0+B**2))) G(J)=G(J)+2.0D 0*P*X(J)-0.5D 0*V G(J-1)=G(J-1)-0.5D 0*U ELSE A=0.5D 0*(X(J+1)-X(J-1))/P U=ATAN(A) F=F+P*(X(J)**2+A*U-LOG(SQRT(1.0D 0+A**2))) G(J)=G(J)+2.0D 0*P*X(J) G(J-1)=G(J-1)-0.5D 0*U G(J+1)=G(J+1)+0.5D 0*U ENDIF 211 CONTINUE RETURN 220 P=1.0D 0/DBLE(N+1) DO 221 J=1,N IF (J.EQ.1) THEN A= 0.5D 0*X(J+1)/P B= X(J)/P F=F+P*(1.0D 2*(X(J)-A**2)**2+(1.0D 0-A)**2)+ & 0.5D 0*P*(1.0D 2*B**4+(1.0D 0-B)**2) G(J)=G(J)+2.0D 2*P*(X(J)-A**2)+2.0D 2*B**3-(1.0D 0-B) G(J+1)=G(J+1)-2.0D 2*(X(J)-A**2)*A-(1.0D 0-A) ELSE IF (J.EQ.N) THEN A=-0.5D 0*X(J-1)/P B=-X(J)/P F=F+P*(1.0D 2*(X(J)-A**2)**2+(1.0D 0-A)**2)+ & 0.5D 0*P*(1.0D 2*B**4+(1.0D 0-B)**2) G(J)=G(J)+2.0D 2*P*(X(J)-A**2)-2.0D 2*B**3+(1.0D 0-B) G(J-1)=G(J-1)+2.0D 2*(X(J)-A**2)*A+(1.0D 0-A) ELSE A=0.5D 0*(X(J+1)-X(J-1))/P F=F+P*(1.0D 2*(X(J)-A**2)**2+(1.0D 0-A)**2) G(J)=G(J)+2.0D 2*P*(X(J)-A**2) G(J-1)=G(J-1)+2.0D 2*(X(J)-A**2)*A+(1.0D 0-A) G(J+1)=G(J+1)-2.0D 2*(X(J)-A**2)*A-(1.0D 0-A) ENDIF 221 CONTINUE RETURN 410 DO 411 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=1.0D 1*(X(KA+1)-X(KA)**2) G(KA)=G(KA)-2.0D 1*X(KA)*FA G(KA+1)=G(KA+1)+1.0D 1*FA ELSE FA=1.0D 0-X(KA-1) G(KA-1)=G(KA-1)-FA ENDIF F=F+FA**2 411 CONTINUE F=0.5D 0*F RETURN 420 DO 421 KA=1,NA IF(MOD(KA,4).EQ.1) THEN FA=X(KA)+1.0D 1*X(KA+1) G(KA)=G(KA)+FA G(KA+1)=G(KA+1)+1.0D 1*FA ELSEIF(MOD(KA,4).EQ.2) THEN FA=2.23606797749979D 0*(X(KA+1)-X(KA+2)) G(KA+1)=G(KA+1)+2.23606797749979D 0*FA G(KA+2)=G(KA+2)-2.23606797749979D 0*FA ELSEIF(MOD(KA,4).EQ.3) THEN A=X(KA-1)-2.0D 0*X(KA) FA=A**2 G(KA-1)=G(KA-1)+2.0D 0*A*FA G(KA)=G(KA)-4.0D 0*A*FA ELSE FA=3.16227766016838D 0*(X(KA-3)-X(KA))**2 A=2.0D 0*(X(KA-3)-X(KA)) G(KA-3)=G(KA-3)+3.16227766016838D 0*A*FA G(KA)=G(KA)-3.16227766016838D 0*A*FA ENDIF F=F+FA**2 421 CONTINUE F=0.5D 0*F RETURN 430 DO 431 KA=1,NA FA=(3.0D 0-2.0D 0*X(KA))*X(KA)+1.0D 0 IF(KA.GT.1) FA=FA-X(KA-1) IF(KA.LT.N) FA=FA-2.0D 0*X(KA+1) F=F+FA**2 G(KA)=G(KA)+(3.0D 0-4.0D 0*X(KA))*FA IF(KA.GT.1) G(KA-1)=G(KA-1)-FA IF(KA.LT.N) G(KA+1)=G(KA+1)-2.0D 0*FA 431 CONTINUE F=0.5D 0*F RETURN 440 DO 441 J=1,N A=DBLE(J) F=F+(A*X(J)/(1.0D 0+X(J)))**2 G(J)=2.0D 0*A**2*X(J)/(1.0D 0+X(J))**3 441 CONTINUE RETURN 450 DO 451 KA=1,NA I=KA FA=(3.0D 0-2.0D 0*X(I))*X(I)+1.0D 0 IF (I.GT.1) FA=FA-X(I-1) IF (I.LT.N) FA=FA-X(I+1) F=F+FA**2 G(I)=G(I)+(3.0D 0-4.0D 0*X(I))*FA IF (I.GT.1) G(I-1)=G(I-1)-FA IF (I.LT.N) G(I+1)=G(I+1)-FA 451 CONTINUE F=0.5D 0*F RETURN 460 DO 463 KA=1,NA I=KA FA=(2.0D 0+5.0D 0*X(I)**2)*X(I)+1.0D 0 DO 461 J=MAX(1,I-5),MIN(N,I+1) IF (I.NE.J) FA=FA+X(J)*(1.0D 0+X(J)) 461 CONTINUE F=F+FA**2 DO 462 J=MAX(1,I-5),MIN(N,I+1) IF (I.NE.J) G(J)=G(J)+(1.0D 0+2.0D 0*X(J))*FA 462 CONTINUE G(I)=G(I)+(2.0D 0+1.5D 1*X(I)**2)*FA 463 CONTINUE F=0.5D 0*F RETURN 470 DO 471 KA=1,NA I=(KA+1)/2 IF (MOD(KA,2).EQ.1) THEN FA=X(I)+X(I+1)*((5.0D 0-X(I+1))*X(I+1)-2.0D 0)-1.3D 1 G(I)=G(I)+FA G(I+1)=G(I+1)+(1.0D 1*X(I+1)-3.0D 0*X(I+1)**2-2.0D 0)*FA ELSE FA=X(I)+X(I+1)*((1.0D 0+X(I+1))*X(I+1)-1.4D 1)-2.9D 1 G(I)=G(I)+FA G(I+1)=G(I+1)+(2.0D 0*X(I+1)+3.0D 0*X(I+1)**2-1.4D 1)*FA ENDIF F=F+FA**2 471 CONTINUE F=0.5D 0*F RETURN 480 DO 481 KA=1,NA I=MOD(KA,N/2)+1 J=I+N/2 M=5*N IF (KA.LE.M/2) THEN IA=1 ELSE IA=2 ENDIF IB=5-KA/(M/4) IC=MOD(KA,5)+1 FA=(X(I)**IA-X(J)**IB)**IC F=F+FA**2 A=DBLE(IA) B=DBLE(IB) C=DBLE(IC) D=X(I)**IA-X(J)**IB IF (D.NE.0.0D 0) THEN E=C*D**(IC-1) IF (X(I).EQ.0.0D 0.AND.IA.LE.1) THEN ELSE G(I)=G(I)+E*A*X(I)**(IA-1)*FA ENDIF IF (X(J).EQ.0.0D 0.AND.IB.LE.1) THEN ELSE G(J)=G(J)-E*B*X(J)**(IB-1)*FA ENDIF ENDIF 481 CONTINUE F=0.5D 0*F RETURN 490 DO 491 KA=1,NA I=2*((KA+5)/6)-1 IF (MOD(KA,6).EQ.1) THEN FA=X(I)+3.0D 0*X(I+1)*(X(I+2)-1.0D 0)+X(I+3)**2-1.0D 0 G(I)=G(I)+FA G(I+1)=G(I+1)+3.0D 0*(X(I+2)-1.0D 0)*FA G(I+2)=G(I+2)+3.0D 0*X(I+1)*FA G(I+3)=G(I+3)+2.0D 0*X(I+3)*FA ELSEIF (MOD(KA,6).EQ.2) THEN FA=(X(I)+X(I+1))**2+(X(I+2)-1.0D 0)**2-X(I+3)-3.0D 0 G(I)=G(I)+2.0D 0*(X(I)+X(I+1))*FA G(I+1)=G(I+1)+2.0D 0*(X(I)+X(I+1))*FA G(I+2)=G(I+2)+2.0D 0*(X(I+2)-1.0D 0)*FA G(I+3)=G(I+3)-FA ELSEIF (MOD(KA,6).EQ.3) THEN FA=X(I)*X(I+1)-X(I+2)*X(I+3) G(I)=G(I)+X(I+1)*FA G(I+1)=G(I+1)+X(I)*FA G(I+2)=G(I+2)-X(I+3)*FA G(I+3)=G(I+3)-X(I+2)*FA ELSEIF (MOD(KA,6).EQ.4) THEN FA=2.0D 0*X(I)*X(I+2)+X(I+1)*X(I+3)-3.0D 0 G(I)=G(I)+2.0D 0*X(I+2)*FA G(I+1)=G(I+1)+X(I+3)*FA G(I+2)=G(I+2)+2.0D 0*X(I)*FA G(I+3)=G(I+3)+X(I+1)*FA ELSEIF (MOD(KA,6).EQ.5) THEN FA=(X(I)+X(I+1)+X(I+2)+X(I+3))**2+(X(I)-1.0D 0)**2 G(I)=G(I)+(2.0D 0*(X(I)+X(I+1)+X(I+2)+X(I+3))+ & 2.0D 0*(X(I)-1.0D 0))*FA G(I+1)=G(I+1)+2.0D 0*(X(I)+X(I+1)+X(I+2)+X(I+3))*FA G(I+2)=G(I+2)+2.0D 0*(X(I)+X(I+1)+X(I+2)+X(I+3))*FA G(I+3)=G(I+3)+2.0D 0*(X(I)+X(I+1)+X(I+2)+X(I+3))*FA ELSE FA=X(I)*X(I+1)*X(I+2)*X(I+3)+(X(I+3)-1.0D 0)**2-1.0D 0 G(I)=G(I)+X(I+1)*X(I+2)*X(I+3)*FA G(I+1)=G(I+1)+X(I)*X(I+2)*X(I+3)*FA G(I+2)=G(I+2)+X(I)*X(I+1)*X(I+3)*FA G(I+3)=G(I+3)+(X(I)*X(I+1)*X(I+2)+2.0D 0*(X(I+3)-1.0D 0))*FA ENDIF F=F+FA**2 491 CONTINUE F=0.5D 0*F RETURN 500 DO 501 KA=1,NA I=(KA+1)/2 J=MOD(KA,2) IF (J.EQ.0) THEN FA=6.0D 0-EXP(2.0D 0*X(I))-EXP(2.0D 0*X(I+1)) G(I)=G(I)-2.0D 0*EXP(2.0D 0*X(I))*FA G(I+1)=G(I+1)-2.0D 0*EXP(2.0D 0*X(I+1))*FA ELSEIF (I.EQ.1) THEN FA=4.0D 0-EXP(X(I))-EXP(X(I+1)) G(I)=G(I)-EXP(X(I))*FA G(I+1)=G(I+1)-EXP(X(I+1))*FA ELSEIF (I.EQ.N) THEN FA=8.0D 0-EXP(3.0D 0*X(I-1))-EXP(3.0D 0*X(I)) G(I-1)=G(I-1)-3.0D 0*EXP(3.0D 0*X(I-1))*FA G(I)=G(I)-3.0D 0*EXP(3.0D 0*X(I))*FA ELSE FA=8.0D 0-EXP(3.0D 0*X(I-1))-EXP(3.0D 0*X(I))+ & 4.0D 0-EXP(X(I))-EXP(X(I+1)) G(I-1)=G(I-1)-3.0D 0*EXP(3.0D 0*X(I-1))*FA G(I)=G(I)-(3.0D 0*EXP(3.0D 0*X(I))+EXP(X(I)))*FA G(I+1)=G(I+1)-EXP(X(I+1))*FA ENDIF F=F+FA**2 501 CONTINUE F=0.5D 0*F RETURN 510 DO 511 KA=1,NA I=(KA+1)/2 IF (MOD(KA,2).EQ.1) THEN FA=1.0D 1*(2.0D 0*X(I)/(1.0D 0+X(I)**2)-X(I+1)) G(I)=G(I)+2.0D 1*(1.0D 0-X(I)**2)/(1.0D 0+X(I)**2)**2*FA G(I+1)=G(I+1)-1.0D 1*FA ELSE FA=X(I)-1.0D 0 G(I)=G(I)+FA ENDIF F=F+FA**2 511 CONTINUE F=0.5D 0*F RETURN 520 DO 521 KA=1,NA I=3*((KA+5)/6)-2 IF (MOD(KA,6).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) G(I)=G(I)+2.0D 1*X(I)*FA G(I+1)=G(I+1)-1.0D 1*FA ELSEIF (MOD(KA,6).EQ.2) THEN FA=X(I+2)-1.0D 0 G(I+2)=G(I+2)+FA ELSEIF (MOD(KA,6).EQ.3) THEN FA=(X(I+3)-1.0D 0)**2 G(I+3)=G(I+3)+2.0D 0*(X(I+3)-1.0D 0)*FA ELSEIF (MOD(KA,6).EQ.4) THEN FA=(X(I+4)-1.0D 0)**3 G(I+4)=G(I+4)+3.0D 0*(X(I+4)-1.0D 0)**2*FA ELSEIF (MOD(KA,6).EQ.5) THEN FA=X(I)**2*X(I+3)+SIN(X(I+3)-X(I+4))-1.0D 1 G(I)=G(I)+2.0D 0*X(I)*X(I+3)*FA G(I+3)=G(I+3)+(X(I)**2+COS(X(I+3)-X(I+4)))*FA G(I+4)=G(I+4)-COS(X(I+3)-X(I+4))*FA ELSE FA=X(I+1)+(X(I+2)**2*X(I+3))**2-2.0D 1 G(I+1)=G(I+1)+FA G(I+2)=G(I+2)+4.0D 0*X(I+2)*(X(I+2)*X(I+3))**2*FA G(I+3)=G(I+3)+2.0D 0*X(I+2)**4*X(I+3)*FA ENDIF F=F+FA**2 521 CONTINUE F=0.5D 0*F RETURN 530 DO 531 KA=1,NA I=3*((KA+6)/7)-2 IF (MOD(KA,7).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) G(I)=G(I)+2.0D 1*X(I)*FA G(I+1)=G(I+1)-1.0D 1*FA ELSEIF (MOD(KA,7).EQ.2) THEN FA=1.0D 1*(X(I+1)**2-X(I+2)) G(I+1)=G(I+1)+2.0D 1*X(I+1)*FA G(I+2)=G(I+2)-1.0D 1*FA ELSEIF (MOD(KA,7).EQ.3) THEN FA=(X(I+2)-X(I+3))**2 G(I+2)=G(I+2)+2.0D 0*(X(I+2)-X(I+3))*FA G(I+3)=G(I+3)-2.0D 0*(X(I+2)-X(I+3))*FA ELSEIF (MOD(KA,7).EQ.4) THEN FA=(X(I+3)-X(I+4))**2 G(I+3)=G(I+3)+2.0D 0*(X(I+3)-X(I+4))*FA G(I+4)=G(I+4)-2.0D 0*(X(I+3)-X(I+4))*FA ELSEIF (MOD(KA,7).EQ.5) THEN FA=X(I)+X(I+1)**2+X(I+2)-3.0D 1 G(I)=G(I)+FA G(I+1)=G(I+1)+2.0D 0*X(I+1)*FA G(I+2)=G(I+2)+FA ELSEIF (MOD(KA,7).EQ.6) THEN FA=X(I+1)-X(I+2)**2+X(I+3)-1.0D 1 G(I+1)=G(I+1)+FA G(I+2)=G(I+2)-2.0D 0*X(I+2)*FA G(I+3)=G(I+3)+FA ELSE FA=X(I)*X(I+4)-1.0D 1 G(I)=G(I)+X(I+4)*FA G(I+4)=G(I+4)+X(I)*FA ENDIF F=F+FA**2 531 CONTINUE F=0.5D 0*F RETURN 540 DO 546 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 542 K=1,3 A=DBLE(K*K)/DBLE(L) DO 541 J=1,4 IF (X(I+J).EQ.0) X(I+J)=1.0D-16 A=A*SIGN(1.0D 0,X(I+J))*ABS(X(I+J))**(DBLE(J)/DBLE(K*L)) 541 CONTINUE FA=FA+A 542 CONTINUE F=F+FA**2 DO 545 K=1,3 A=DBLE(K*K)/DBLE(L) DO 543 J=1,4 A=A*SIGN(1.0D 0,X(I+J))*ABS(X(I+J))**(DBLE(J)/DBLE(K*L)) 543 CONTINUE DO 544 J=1,4 G(I+J)=G(I+J)+(DBLE(J)/DBLE(K*L))*A/X(I+J)*FA 544 CONTINUE 545 CONTINUE 546 CONTINUE F=0.5D 0*F RETURN 550 DO 556 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 552 K=1,3 A=0.0D 0 DO 551 J=1,4 A=A+X(I+J)*(DBLE(J)/DBLE(K*L)) 551 CONTINUE FA=FA+EXP(A)*DBLE(K*K)/DBLE(L) 552 CONTINUE F=F+FA**2 DO 555 K=1,3 A=0.0D 0 DO 553 J=1,4 A=A+X(I+J)*(DBLE(J)/DBLE(K*L)) 553 CONTINUE A=EXP(A)*DBLE(K*K)/DBLE(L) DO 554 J=1,4 G(I+J)=G(I+J)+A*(DBLE(J)/DBLE(K*L))*FA 554 CONTINUE 555 CONTINUE 556 CONTINUE F=0.5D 0*F RETURN 560 DO 563 KA=1,NA I=2*((KA+3)/4)-2 L=MOD((KA-1),4)+1 FA=-Y(L) DO 561 J=1,4 FA=FA+DBLE((1-2*MOD(J,2))*L*J*J)*SIN(X(I+J))+ & DBLE(L*L*J)*COS(X(I+J)) 561 CONTINUE F=F+FA**2 DO 562 J=1,4 G(I+J)=G(I+J)+(DBLE((1-2*MOD(J,2))*L*J*J)*COS(X(I+J))- & DBLE(L*L*J)*SIN(X(I+J)))*FA 562 CONTINUE 563 CONTINUE F=0.5D 0*F RETURN 570 DO 571 KA=1,NA ALFA=0.5D 0 IF (KA.EQ.1) THEN FA=ALFA-(1.0D 0-ALFA)*X(3)-X(1)*(1.0D 0+4.0D 0*X(2)) G(1)=G(1)-(1.0D 0+4.0D 0*X(2))*FA G(2)=G(2)-4.0D 0*X(1)*FA G(3)=G(3)+(ALFA-1.0D 0)*FA ELSEIF(KA.EQ.2) THEN FA=-(2.0D 0-ALFA)*X(4)-X(2)*(1.0D 0+4.0D 0*X(1)) G(1)=G(1)-4.0D 0*X(2)*FA G(2)=G(2)-(1.0D 0+4.0D 0*X(1))*FA G(4)=G(4)+(ALFA-2.0D 0)*FA ELSEIF(KA.EQ.N-1) THEN FA=ALFA*X(N-3)-X(N-1)*(1.0D 0+4.0D 0*X(N)) G(N-3)=G(N-3)+ALFA*FA G(N-1)=G(N-1)-(1.0D 0+4.0D 0*X(N))*FA G(N)=G(N)-4.0D 0*X(N-1)*FA ELSEIF (KA.EQ.N) THEN FA=ALFA*X(N-2)-(2.0D 0-ALFA)-X(N)*(1.0D 0+4.0D 0*X(N-1)) G(N-2)=G(N-2)+ALFA*FA G(N-1)=G(N-1)-4.0D 0*X(N)*FA G(N)=G(N)-(1.0D 0+4.0D 0*X(N-1))*FA ELSEIF (MOD(KA,2).EQ.1) THEN FA=ALFA*X(KA-2)-(1.0D 0-ALFA)*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA+1)) G(KA-2)=G(KA-2)+ALFA*FA G(KA)=G(KA)-(1.0D 0+4.0D 0*X(KA+1))*FA G(KA+1)=G(KA+1)-4.0D 0*X(KA)*FA G(KA+2)=G(KA+2)+(ALFA-1.0D 0)*FA ELSE FA=ALFA*X(KA-2)-(2.0D 0-ALFA)*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA-1)) G(KA-2)=G(KA-2)+ALFA*FA G(KA-1)=G(KA-1)-4.0D 0*X(KA)*FA G(KA)=G(KA)-(1.0D 0+4.0D 0*X(KA-1))*FA G(KA+2)=G(KA+2)+(ALFA-2.0D 0)*FA ENDIF F=F+FA**2 571 CONTINUE F=0.5D 0*F RETURN 580 DO 581 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2) G(KA)=G(KA)+4.0D 0*FA G(KA+1)=G(KA+1)-8.0D 0*X(KA+1)*FA ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2) G(KA-1)=G(KA-1)-8.0D 0*X(KA)*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-8.0D 0*X(KA+1)*FA ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) G(KA-1)=G(KA-1)-8.0D 0*X(KA)*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+2.0D 0)*FA ENDIF F=F+FA**2 581 CONTINUE F=0.5D 0*F RETURN 590 DO 591 KA=1,NA IF (KA.EQ.1) THEN FA=-2.0D 0*X(KA)**2+3.0D 0*X(KA)-2.0D 0*X(KA+1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 G(N-4)=G(N-4)+3.0D 0*FA G(N-3)=G(N-3)-FA G(N-2)=G(N-2)-FA G(N-1)=G(N-1)+0.50D 0*FA G(N)=G(N)-FA G(KA)=G(KA)-(4.0D 0*X(KA)-3.0D 0)*FA G(KA+1)=G(KA+1)-2.0D 0*FA ELSEIF (KA.LE.N-1) THEN FA=-2.0D 0*X(KA)**2+3.0D 0*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 G(N-4)=G(N-4)+3.0D 0*FA G(N-3)=G(N-3)-FA G(N-2)=G(N-2)-FA G(N-1)=G(N-1)+0.50D 0*FA G(N)=G(N)-FA G(KA-1)=G(KA-1)-FA G(KA)=G(KA)-(4.0D 0*X(KA)-3.0D 0)*FA G(KA+1)=G(KA+1)-2.0D 0*FA ELSE FA=-2.0D 0*X(N)**2+3.0D 0*X(N)-X(N-1)+ & 3.0D 0*X(N-4)-X(N-3)-X(N-2)+0.5D 0*X(N-1)-X(N)+1.0D 0 G(N-4)=G(N-4)+3.0D 0*FA G(N-3)=G(N-3)-FA G(N-2)=G(N-2)-FA G(N-1)=G(N-1)-0.50D 0*FA G(N)=G(N)-(4.0D 0*X(N)-2.0D 0)*FA ENDIF F=F+FA**2 591 CONTINUE F=0.5D 0*F RETURN 600 DO 601 KA=1,NA U=1.0D 0/DBLE(N+1) V=DBLE(KA)*U FA=2.0D 0*X(KA)+0.5D 0*U*U*(X(KA)+V+1.0D 0)**3+1.0D 0 IF(KA.GT.1) FA=FA-X(KA-1) IF(KA.LT.N) FA=FA-X(KA+1) F=F+FA**2 G(KA)=G(KA)+(2.0D 0+1.5D 0*U**2*(X(KA)+V+1.0D 0)**2)*FA IF(KA.GT.1) G(KA-1)=G(KA-1)-FA IF(KA.LT.N) G(KA+1)=G(KA+1)-FA 601 CONTINUE F=0.5D 0*F RETURN 610 DO 611 KA=1,NA I=3*((KA+6)/7)-2 IF (MOD(KA,7).EQ.1) THEN FA=1.0D 1*(X(I)**2-X(I+1)) G(I)=G(I)+2.0D 1*X(I)*FA G(I+1)=G(I+1)-1.0D 1*FA ELSEIF (MOD(KA,7).EQ.2) THEN FA=X(I+1)+X(I+2)-2.0D 0 G(I+1)=G(I+1)+FA G(I+2)=G(I+2)+FA ELSEIF (MOD(KA,7).EQ.3) THEN FA=X(I+3)-1.0D 0 G(I+3)=G(I+3)+FA ELSEIF (MOD(KA,7).EQ.4) THEN FA=X(I+4)-1.0D 0 G(I+4)=G(I+4)+FA ELSEIF (MOD(KA,7).EQ.5) THEN FA=X(I)+3.0D 0*X(I+1) G(I)=G(I)+FA G(I+1)=G(I+1)+3.0D 0*FA ELSEIF (MOD(KA,7).EQ.6) THEN FA=X(I+2)+X(I+3)-2.0D 0*X(I+4) G(I+2)=G(I+2)+FA G(I+3)=G(I+3)+FA G(I+4)=G(I+4)-2.0D 0*FA ELSE FA=1.0D 1*(X(I+1)**2-X(I+4)) G(I+1)=G(I+1)+2.0D 1*X(I+1)*FA G(I+4)=G(I+4)-1.0D 1*FA ENDIF F=F+FA**2 611 CONTINUE F=0.5D 0*F RETURN 620 DO 621 KA=1,NA I=KA/2 IF (KA.EQ.1) THEN FA=X(KA)-1.0D 0 G(KA)=G(KA)+FA ELSE IF (MOD(KA,2).EQ.0) THEN FA=1.0D 1*(X(I)**2-X(I+1)) G(I)=G(I)+2.0D 1*X(I)*FA G(I+1)=G(I+1)-1.0D 1*FA ELSE A=2.0D 0*EXP(-(X(I)-X(I+1))**2) B=EXP(-2.0D 0*(X(I+1)-X(I+2))**2) FA=A+B G(I)=G(I)-2.0D 0*(X(I)-X(I+1))*A*FA G(I+1)=G(I+1)+(2.0D 0*(X(I)-X(I+1))*A-4.0D 0*(X(I+1)-X(I+2))*B)*FA G(I+2)=G(I+2)+4.0D 0*(X(I+1)-X(I+2))*B*FA ENDIF F=F+FA**2 621 CONTINUE F=0.5D 0*F RETURN 720 DO 721 KA=1,NA A1=0.414214D 0 IF (KA.EQ.1) THEN FA=X(1)-(1.0D 0-X(1))*X(3)-A1*(1.0D 0+4.0D 0*X(2)) G(1)=G(1)+(1.0D 0+X(3))*FA G(2)=G(2)-4.0D 0*A1*FA G(3)=G(3)-(1.0D 0-X(1))*FA ELSEIF (KA.EQ.2) THEN FA=-(1.0D 0-X(1))*X(4)-A1*(1.0D 0+4.0D 0*X(2)) G(1)=G(1)+X(4)*FA G(2)=G(2)-4.0D 0*A1*FA G(4)=G(4)-(1.0D 0-X(1))*FA ELSEIF (KA.EQ.3) THEN FA=A1*X(1)-(1.0D 0-X(1))*X(5)-X(3)*(1.0D 0+4.0D 0*X(2)) G(1)=G(1)+(A1+X(5))*FA G(2)=G(2)-4.0D 0*X(3)*FA G(3)=G(3)-(1.0D 0+4.0D 0*X(2))*FA G(5)=G(5)-(1.0D 0-X(1))*FA ELSEIF (KA.LE.N-2) THEN FA=X(1)*X(KA-2)-(1.0D 0-X(1))*X(KA+2)- & X(KA)*(1.0D 0+4.0D 0*X(KA-1)) G(1)=G(1)+(X(KA-2)+X(KA+2))*FA G(KA-2)=G(KA-2)+X(1)*FA G(KA-1)=G(KA-1)-4.0D 0*X(KA)*FA G(KA)=G(KA)-(1.0D 0+4.0D 0*X(KA-1))*FA G(KA+2)=G(KA+2)-(1.0D 0-X(1))*FA ELSEIF (KA.EQ.N-1) THEN FA=X(1)*X(N-3)-X(N-1)*(1.0D 0+4.0D 0*X(N-2)) G(1)=G(1)+X(N-3)*FA G(N-3)=G(N-3)+X(1)*FA G(N-2)=G(N-2)-4.0D 0*X(N-1)*FA G(N-1)=G(N-1)-(1.0D 0+4.0D 0*X(N-2))*FA ELSE FA=X(1)*X(N-2)-(1.0D 0-X(1))-X(N)*(1.0D 0+4.0D 0*X(N-1)) G(1)=G(1)+(X(N-2)+1.0D 0)*FA G(N-2)=G(N-2)+X(1)*FA G(N-1)=G(N-1)-4.0D 0*X(N)*FA G(N)=G(N)-(1.0D 0+4.0D 0*X(N-1))*FA ENDIF F=F+FA**2 721 CONTINUE F=0.5D 0*F RETURN 730 DO 733 KA=1,NA J=(KA-1)/5 FA=5.0D 0-DBLE(J+1)*(1.0D 0-COS(X(KA)))-SIN(X(KA)) J=J*5 DO 731 I=J+1,J+5 FA=FA-COS(X(I)) G(I)=G(I)+SIN(X(I)) 731 CONTINUE G(KA)=G(KA)-(DBLE(J+1)*SIN(X(KA))-COS(X(KA)))*FA DO 732 I=J+1,J+5 G(I)=G(I)+SIN(X(I))*FA 732 CONTINUE F=F+FA**2 733 CONTINUE F=0.5D 0*F RETURN 740 DO 741 KA=1,NA IF (KA.LT.2) THEN FA=3.0D 0*X(KA)**3+2.0D 0*X(KA+1)-5.0D 0+ & SIN(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1)) D1S=COS(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1)) D2S=SIN(X(KA)-X(KA+1))*COS(X(KA)+X(KA+1)) G(KA)=G(KA)+(9.0D 0*X(KA)**2+D1S+D2S)*FA G(KA+1)=G(KA+1)+(2.0D 0-D1S+D2S)*FA ELSEIF (KA.LT.N) THEN FA=3.0D 0*X(KA)**3+2.0D 0*X(KA+1)-5.0D 0+ & SIN(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1))+4.0D 0*X(KA)- & X(KA-1)*EXP(X(KA-1)-X(KA))-3.0D 0 D1S=COS(X(KA)-X(KA+1))*SIN(X(KA)+X(KA+1)) D2S=SIN(X(KA)-X(KA+1))*COS(X(KA)+X(KA+1)) EX=EXP(X(KA-1)-X(KA)) G(KA-1)=G(KA-1)-(EX+X(KA-1)*EX)*FA G(KA)=G(KA)+(9.0D 0*X(KA)**2+D1S+D2S+4.0D 0+X(KA-1)*EX)*FA G(KA+1)=G(KA+1)+(2.0D 0-D1S+D2S)*FA ELSE FA=4.0D 0*X(KA)-X(KA-1)*EXP(X(KA-1)-X(KA))-3.0D 0 EX=EXP(X(KA-1)-X(KA)) G(KA-1)=G(KA-1)-(EX+X(KA-1)*EX)*FA G(KA)=G(KA)+(4.0D 0+X(KA-1)*EX)*FA ENDIF F=F+FA**2 741 CONTINUE F=0.5D 0*F RETURN 750 DO 751 KA=1,NA IF (MOD(KA,2).EQ.1) THEN FA=0.0D 0 IF (KA.NE.1) FA=FA-6.0D 0*(X(KA-2)-X(KA))**3+1.0D 1- & 4.0D 0*X(KA-1)-2.0D 0*SIN(X(KA-2)-X(KA-1)-X(KA))* & SIN(X(KA-2)+X(KA-1)-X(KA)) IF (KA.NE.N) FA=FA+3.0D 0*(X(KA)-X(KA+2))**3-5.0D 0+ & 2.0D 0*X(KA+1)+SIN(X(KA)-X(KA+1)-X(KA+2))* & SIN(X(KA)+X(KA+1)-X(KA+2)) IF (KA.NE.1) THEN D1S=COS(X(KA-2)-X(KA-1)-X(KA))*SIN(X(KA-2)+X(KA-1)-X(KA)) D2S=SIN(X(KA-2)-X(KA-1)-X(KA))*COS(X(KA-2)+X(KA-1)-X(KA)) G(KA-2)=G(KA-2)-(18.0D 0*(X(KA-2)-X(KA))**2+2.0D 0*(D1S+D2S))*FA G(KA-1)=G(KA-1)-(4.0D 0-2.0D 0*(D1S-D2S))*FA G(KA)=G(KA)+(18.0D 0*(X(KA-2)-X(KA))**2+2.0D 0*(D1S+D2S))*FA ENDIF IF (KA.NE.N) THEN D1S=COS(X(KA)-X(KA+1)-X(KA+2))*SIN(X(KA)+X(KA+1)-X(KA+2)) D2S=SIN(X(KA)-X(KA+1)-X(KA+2))*COS(X(KA)+X(KA+1)-X(KA+2)) G(KA)=G(KA)+(9.0D 0*(X(KA)-X(KA+2))**2+D1S+D2S)*FA G(KA+1)=G(KA+1)+(2.0D 0-D1S+D2S)*FA G(KA+2)=G(KA+2)-(9.0D 0*(X(KA)-X(KA+2))**2+D1S+D2S)*FA ENDIF ELSE EX=EXP(X(KA-1)-X(KA)-X(KA+1)) FA=4.0D 0*X(KA)-(X(KA-1)-X(KA+1))*EX-3.0D 0 W=X(KA-1)-X(KA+1) G(KA-1)=G(KA-1)-(EX+W*EX)*FA G(KA)=G(KA)+(4.0D 0+W*EX)*FA G(KA+1)=G(KA+1)+(EX+W*EX)*FA ENDIF F=F+FA**2 751 CONTINUE F=0.5D 0*F RETURN 760 DO 761 KA=1,NA H=2.0D 0 IF (KA.EQ.1) THEN FA=((3.0D 0-H*X(1))*X(1)-2.0D 0*X(2)+1.0D 0)**2 G(1)=G(1)+2.0D 0*((3.0D 0-H*X(1))*X(1)-2.0D 0*X(2)+1.0D 0)* & (3.0D 0-2.0D 0*H*X(1))*FA G(2)=G(2)-4.0D 0*((3.0D 0-H*X(1))*X(1)-2.0D 0*X(2)+1.0D 0)*FA ELSEIF (KA.LE.N-1) THEN FA=((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)**2 G(KA-1)=G(KA-1)-2.0D 0* & ((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)*FA G(KA)=G(KA)+2.0D 0* & ((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)* & (3.0D 0-2.0D 0*H*X(KA))*FA G(KA+1)=G(KA+1)-4.0D 0* & ((3.0D 0-H*X(KA))*X(KA)-X(KA-1)-2.0D 0*X(KA+1)+1.0D 0)*FA ELSE FA=((3.0D 0-H*X(N))*X(N)-X(N-1)+1.0D 0)**2 G(N-1)=G(N-1)-2.0D 0*((3.0D 0-H*X(N))*X(N)-X(N-1)+1.0D 0)*FA G(N)=G(N)+2.0D 0*((3.0D 0-H*X(N))*X(N)-X(N-1)+1.0D 0)* & (3.0D 0-2.0D 0*H*X(N))*FA ENDIF F=F+FA**2 761 CONTINUE F=0.5D 0*F RETURN 780 DO 781 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2 G(KA)=G(KA)+4.0D 0*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-2.0D 0*X(KA+2)*FA ELSEIF (KA.LT.3) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2 G(KA-1)=G(KA-1)-8.0D 0*X(KA)*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-2.0D 0*X(KA+2)*FA ELSEIF (KA.LT.N-1) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+X(KA+1)- & X(KA+2)**2 G(KA-2)=G(KA-2)-FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-2.0D 0*X(KA+2)*FA ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2) G(KA-2)=G(KA-2)-FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-8.0D 0*X(KA+1)*FA ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) & +X(KA-1)**2-X(KA-2) G(KA-2)=G(KA-2)-FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+2.0D 0)*FA ENDIF F=F+FA**2 781 CONTINUE F=0.5D 0*F RETURN 790 DO 791 KA=1,NA IF (KA.LT.2) THEN FA=4.0D 0*(X(KA)-X(KA+1)**2)+X(KA+1)-X(KA+2)**2+ & X(KA+2)-X(KA+3)**2 G(KA)=G(KA)+4.0D 0*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA G(KA+3)=G(KA+3)-2.0D 0*X(KA+3)*FA ELSEIF (KA.LT.3) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2+X(KA+1)-X(KA+2)**2+ & X(KA+2)-X(KA+3)**2 G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA G(KA+3)=G(KA+3)-2.0D 0*X(KA+3)*FA ELSEIF (KA.LT.4) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2+X(KA+2)-X(KA+3)**2 G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA G(KA+3)=G(KA+3)-2.0D 0*X(KA+3)*FA ELSEIF (KA.LT.N-2) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2-X(KA-3)+X(KA+2)-X(KA+3)**2 G(KA-3)=G(KA-3)-FA G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA G(KA+3)=G(KA+3)-2.0D 0*X(KA+3)*FA ELSEIF (KA.LT.N-1) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)-X(KA+2)**2+X(KA-2)**2-X(KA-3)+X(KA+2) G(KA-3)=G(KA-3)-FA G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA G(KA+2)=G(KA+2)-(2.0D 0*X(KA+2)-1.0D 0)*FA ELSEIF (KA.LT.N) THEN FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA))+ & 4.0D 0*(X(KA)-X(KA+1)**2)+X(KA-1)**2-X(KA-2)+ & X(KA+1)+X(KA-2)**2-X(KA-3) G(KA-3)=G(KA-3)-FA G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+6.0D 0)*FA G(KA+1)=G(KA+1)-(8.0D 0*X(KA+1)-1.0D 0)*FA ELSE FA=8.0D 0*X(KA)*(X(KA)**2-X(KA-1))-2.0D 0*(1.0D 0-X(KA)) & +X(KA-1)**2-X(KA-2)+X(KA-2)**2-X(KA-3) G(KA-3)=G(KA-3)-FA G(KA-2)=G(KA-2)+(2.0D 0*X(KA-2)-1.0D 0)*FA G(KA-1)=G(KA-1)-(8.0D 0*X(KA)-2.0D 0*X(KA-1))*FA G(KA)=G(KA)+(24.0D 0*X(KA)**2-8.0D 0*X(KA-1)+2.0D 0)*FA ENDIF F=F+FA**2 791 CONTINUE F=0.5D 0*F RETURN 810 DO 811 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=X(KA)+((5.0D 0-X(KA+1))*X(KA+1)-2.0D 0)*X(KA+1)-1.3D 1 G(KA)=G(KA)+FA G(KA+1)=G(KA+1)+(10.0D 0*X(KA+1)-3.0D 0*X(KA+1)**2-2.0D 0)*FA ELSE FA=X(KA-1)+((X(KA)+1.0D 0)*X(KA)-1.4D 1)*X(KA)-2.9D 1 G(KA-1)=G(KA-1)+FA G(KA)=G(KA)+(3.0D 0*X(KA)**2+2.0D 0*X(KA)-1.4D 1)*FA ENDIF F=F+FA**2 811 CONTINUE F=0.5D 0*F RETURN 830 DO 831 KA=1,NA IF(MOD(KA,4).EQ.1) THEN A=EXP(X(KA))-X(KA+1) FA=A**2 G(KA)=G(KA)+2.0D 0*A*EXP(X(KA))*FA G(KA+1)=G(KA+1)-2.0D 0*A*FA ELSEIF (MOD(KA,4).EQ.2) THEN FA=1.0D 1*(X(KA)-X(KA+1))**3 A=3.0D 1*(X(KA)-X(KA+1))**2*FA G(KA)=G(KA)+A G(KA+1)=G(KA+1)-A ELSEIF (MOD(KA,4).EQ.3) THEN A=X(KA)-X(KA+1) FA=(SIN(A)/COS(A))**2 B=2.0D 0*SIN(A)/(COS(A))**3*FA G(KA)=G(KA)+B G(KA+1)=G(KA+1)-B ELSE FA=X(KA)-1.0D 0 G(KA)=G(KA)+FA ENDIF F=F+FA**2 831 CONTINUE F=0.5D 0*F RETURN 840 DO 841 KA=1,NA IF(KA.LT.2) THEN FA=X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0+2.0D 0*X(KA+1) G(KA)=G(KA)+(X(KA)-3.0D 0)*FA G(KA+1)=G(KA+1)+2.0D 0*FA ELSEIF (KA.LT.N) THEN FA=X(KA-1)+X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0+2.0D 0*X(KA+1) G(KA-1)=G(KA-1)+FA G(KA)=G(KA)+(X(KA)-3.0D 0)*FA G(KA+1)=G(KA+1)+2.0D 0*FA ELSE FA=X(KA-1)+X(KA)*(0.5D 0*X(KA)-3.0D 0)-1.0D 0 G(KA-1)=G(KA-1)+FA G(KA)=G(KA)+(X(KA)-3.0D 0)*FA ENDIF F=F+FA**2 841 CONTINUE F=0.5D 0*F RETURN 860 DO 861 KA=1,NA IF(MOD(KA,2).EQ.1) THEN FA=1.0D 4*X(KA)*X(KA+1)-1.0D 0 G(KA)=G(KA)+1.0D 4*X(KA+1)*FA G(KA+1)=G(KA+1)+1.0D 4*X(KA)*FA ELSE FA=EXP(-X(KA-1))+EXP(-X(KA))-1.0001D 0 G(KA-1)=G(KA-1)-EXP(-X(KA-1))*FA G(KA)=G(KA)-EXP(-X(KA))*FA ENDIF F=F+FA**2 861 CONTINUE F=0.5D 0*F RETURN 870 DO 871 KA=1,NA IF(MOD(KA,4).EQ.1) THEN FA=-2.0D 2*X(KA)*(X(KA+1)-X(KA)**2)-(1.0D 0-X(KA)) G(KA)=G(KA)-(2.0D 2*(X(KA+1)-3.0D 0*X(KA)**2)-1.0D 0)*FA G(KA+1)=G(KA+1)-2.0D 2*X(KA)*FA ELSEIF(MOD(KA,4).EQ.2) THEN FA=2.0D 2*(X(KA)-X(KA-1)**2)+2.02D 1*(X(KA)-1.0D 0)+ & 1.98D 1*(X(KA+2)-1.0D 0) G(KA-1)=G(KA-1)-4.0D 2*X(KA-1)*FA G(KA)=G(KA)+2.202D 2*FA G(KA+2)=G(KA+2)+1.98D 1*FA ELSEIF(MOD(KA,4).EQ.3) THEN FA=-1.8D 2*X(KA)*(X(KA+1)-X(KA)**2)-(1.0D 0-X(KA)) G(KA)=G(KA)-(1.8D 2*(X(KA+1)-3.0D 0*X(KA)**2)-1.0D 0)*FA G(KA+1)=G(KA+1)-1.8D 2*X(KA)*FA ELSE FA=1.8D 2*(X(KA)-X(KA-1)**2)+2.02D 1*(X(KA)-1.0D 0)+ & 1.98D 1*(X(KA-2)-1.0D 0) G(KA-2)=G(KA-2)+1.98D 1*FA G(KA-1)=G(KA-1)-3.6D 2*X(KA-1)*FA G(KA)=G(KA)+2.002D 2*FA ENDIF F=F+FA**2 871 CONTINUE F=0.5D 0*F RETURN 880 DO 881 KA=1,NA IF (KA.LT.2) THEN A=EXP(COS(DBLE(KA)*(X(KA)+X(KA+1)))) B=A*DBLE(KA)*SIN(DBLE(KA)*(X(KA)+X(KA+1))) FA=X(KA)-A G(KA+1)=G(KA+1)+B*FA G(KA)=G(KA)+(B+1.0D 0)*FA ELSEIF (KA.LT.N) THEN A=EXP(COS(DBLE(KA)*(X(KA-1)+X(KA)+X(KA+1)))) B=A*SIN(DBLE(KA)*(X(KA-1)+X(KA)+X(KA+1)))*DBLE(KA) FA=X(KA)-A G(KA-1)=G(KA-1)+B*FA G(KA+1)=G(KA+1)+B*FA G(KA)=G(KA)+(B+1.0D 0)*FA ELSE A=EXP(COS(DBLE(KA)*(X(KA-1)+X(KA)))) B=A*SIN(DBLE(KA)*(X(KA-1)+X(KA)))*DBLE(KA) FA=X(KA)-A G(KA-1)=G(KA-1)+B*FA G(KA)=G(KA)+(B+1.0D 0)*FA ENDIF F=F+FA**2 881 CONTINUE F=0.5D 0*F RETURN 900 DO 901 KA=1,NA IF(KA.EQ.1) THEN FA=3.0D 0*X(KA)*(X(KA+1)-2.0D 0*X(KA))+0.25D 0*X(KA+1)**2 G(KA)=G(KA)+3.0D 0*(X(KA+1)-4.0D 0*X(KA))*FA G(KA+1)=G(KA+1)+(3.0D 0*X(KA)+0.5D 0*X(KA+1))*FA ELSEIF(KA.EQ.N) THEN FA=3.0D 0*X(KA)*(2.0D 1-2.0D 0*X(KA)+X(KA-1))+ & 0.25D 0*(2.0D 1-X(KA-1))**2 G(KA-1)=G(KA-1)+(3.0D 0*X(KA)-0.5D 0*(2.0D 1-X(KA-1)))*FA G(KA)=G(KA)+3.0D 0*(2.0D 1-4.0D 0*X(KA)+X(KA-1))*FA ELSE FA=3.0D 0*X(KA)*(X(KA+1)-2.0D 0*X(KA)+X(KA-1))+ & 0.25D 0*(X(KA+1)-X(KA-1))**2 G(KA-1)=G(KA-1)+(3.0D 0*X(KA)-0.5D 0*(X(KA+1)-X(KA-1)))*FA G(KA)=G(KA)+3.0D 0*(X(KA+1)-4.0D 0*X(KA)+X(KA-1))*FA G(KA+1)=G(KA+1)+(3.0D 0*X(KA)+0.5D 0*(X(KA+1)-X(KA-1)))*FA ENDIF F=F+FA**2 901 CONTINUE F=0.5D 0*F RETURN 910 DO 911 KA=1,NA H=1.0D 0/DBLE(N+1) IF (KA.LT.2) THEN FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA+1) G(KA)=G(KA)+(2.0D 0+PAR**2*H**2*COSH(PAR*X(KA)))*FA G(KA+1)=G(KA+1)-FA ELSE IF (KA.LT.N) THEN FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA-1)-X(KA+1) G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+PAR**2*H**2*COSH(PAR*X(KA)))*FA G(KA+1)=G(KA+1)-FA ELSE FA=2.0D 0*X(KA)+PAR*H**2*SINH(PAR*X(KA))-X(KA-1)-1.0D 0 G(KA)=G(KA)+(2.0D 0+PAR**2*H**2*COSH(PAR*X(KA)))*FA G(KA-1)=G(KA-1)-FA ENDIF F=F+FA**2 911 CONTINUE F=0.5D 0*F RETURN 920 DO 921 KA=1,NA FA=6.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 A3=0.0D 0 IF (KA.GT.1) THEN FA=FA-4.0D 0*X(KA-1) A1=A1-X(KA-1) A2=A2+X(KA-1) A3=A3+2.0D 0*X(KA-1) ENDIF IF (KA.GT.2) THEN FA=FA+X(KA-2) A3=A3-X(KA-2) ENDIF IF (KA.LT.N-1) THEN FA=FA+X(KA+2) A3=A3+X(KA+2) ENDIF IF (KA.LT.N) THEN FA=FA-4.0D 0*X(KA+1) A1=A1+X(KA+1) A2=A2+X(KA+1) A3=A3-2.0D 0*X(KA+1) ENDIF IF (KA.GE.N-1) THEN FA=FA+1.0D 0 A3=A3+1.0D 0 ENDIF IF (KA.GE.N) THEN FA=FA-4.0D 0 A1=A1+1.0D 0 A2=A2+1.0D 0 A3=A3-2.0D 0 ENDIF FA=FA-0.5D 0*PAR*(A1*A2-X(KA)*A3) F=F+FA**2 G(KA)=G(KA)+6.0D 0*FA GA1(1)=0.0D 0 GA1(2)=0.0D 0 GA2(1)=0.0D 0 GA2(2)=0.0D 0 IF (KA.GT.1) THEN G(KA-1)=G(KA-1)-(4.0D 0-PAR*X(KA))*FA GA1(1)=-1.0D 0 GA2(1)= 1.0D 0 ENDIF IF (KA.GT.2) THEN G(KA-2)=G(KA-2)+(1.0D 0-0.5D 0*PAR*X(KA))*FA ENDIF IF (KA.LT.N-1) THEN G(KA+2)=G(KA+2)+(1.0D 0+0.5D 0*PAR*X(KA))*FA ENDIF IF (KA.LT.N) THEN G(KA+1)=G(KA+1)-(4.0D 0+PAR*X(KA))*FA GA1(2)= 1.0D 0 GA2(2)= 1.0D 0 ENDIF G(KA)=G(KA)+0.5D 0*PAR*A3*FA IF (KA.GT.1) & G(KA-1)=G(KA-1)-0.5D 0*PAR*(GA1(1)*A2+A1*GA2(1))*FA IF (KA.LT.N) & G(KA+1)=G(KA+1)-0.5D 0*PAR*(GA1(2)*A2+A1*GA2(2))*FA 921 CONTINUE F=0.5D 0*F RETURN 930 DO 931 KA=1,NA H=1.0D 0/DBLE(M+1) IF(KA.LE.M) THEN J=KA+M FA=6.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 IF (KA.EQ.1) THEN A1=A1+1.0D 0 ENDIF IF (KA.GT.1) THEN FA=FA-4.0D 0*X(KA-1) A1=A1-X(J-1) A2=A2+2.0D 0*X(KA-1) ENDIF IF (KA.GT.2) THEN FA=FA+X(KA-2) A2=A2-X(KA-2) ENDIF IF (KA.LT.M-1) THEN FA=FA+X(KA+2) A2=A2+X(KA+2) ENDIF IF (KA.LT.M) THEN FA=FA-4.0D 0*X(KA+1) A1=A1+X(J+1) A2=A2-2.0D 0*X(KA+1) ENDIF IF (KA.EQ.M) THEN A1=A1+1.0D 0 ENDIF FA=FA+0.5D 0*PAR*H*(X(KA)*A2+X(J)*A1*H**2) ELSE J=KA-M FA=-2.0D 0*X(KA) A1=0.0D 0 A2=0.0D 0 IF (J.EQ.1) THEN A2=A2+1.0D 0 ENDIF IF (J.GT.1) THEN FA=FA+X(KA-1) A1=A1-X(J-1) A2=A2-X(KA-1) ENDIF IF (J.LT.M) THEN FA=FA+X(KA+1) A1=A1+X(J+1) A2=A2+X(KA+1) ENDIF IF (J.EQ.M) THEN A2=A2+1.0D 0 ENDIF FA=FA+0.5D 0*PAR*H*(X(KA)*A1+X(J)*A2) ENDIF F=F+FA**2 IF(KA.LE.M) THEN G(KA)=G(KA)+6.0D 0*FA IF (KA.GT.1) THEN G(KA-1)=G(KA-1)-(4.0D 0-PAR*H*X(KA))*FA G(J-1)=G(J-1)-0.5D 0*PAR*H**3*X(J)*FA ENDIF IF (KA.GT.2) THEN G(KA-2)=G(KA-2)+(1.0D 0-0.5D 0*PAR*H*X(KA))*FA ENDIF IF (KA.LT.M-1) THEN G(KA+2)=G(KA+2)+(1.0D 0+0.5D 0*PAR*H*X(KA))*FA ENDIF IF (KA.LT.M) THEN G(KA+1)=G(KA+1)-(4.0D 0+PAR*H*X(KA))*FA G(J+1)=G(J+1)+0.5D 0*PAR*H**3*X(J)*FA ENDIF G(KA)=G(KA)+0.5D 0*PAR*H*A2*FA G(J)=G(J)+0.5D 0*PAR*H**3*A1*FA ELSE G(KA)=G(KA)-2.0D 0*FA IF (J.GT.1) THEN G(KA-1)=G(KA-1)+(1.0D 0-0.5D 0*PAR*H*X(J))*FA G(J-1)=G(J-1)-0.5D 0*PAR*H*X(KA)*FA ENDIF IF (J.LT.M) THEN G(KA+1)=G(KA+1)+(1.0D 0+0.5D 0*PAR*H*X(J))*FA G(J+1)=G(J+1)+0.5D 0*PAR*H*X(KA)*FA ENDIF G(KA)=G(KA)+0.5D 0*PAR*H*A1*FA G(J)=G(J)+0.5D 0*PAR*H*A2*FA ENDIF 931 CONTINUE F=0.5D 0*F RETURN 940 DO 941 KA=1,NA FA=4.0D 0*X(KA)-PAR*EXP(X(KA)) J=(KA-1)/M+1 I=KA-(J-1)*M IF(I.GT.1) FA=FA-X(KA-1) IF(I.LT.M) FA=FA-X(KA+1) IF(J.GT.1) FA=FA-X(KA-M) IF(J.LT.M) FA=FA-X(KA+M) F=F+FA**2 G(KA)=G(KA)+(4.0D 0-PAR*EXP(X(KA)))*FA IF(J.GT.1) G(KA-M)=G(KA-M)-FA IF(I.GT.1) G(KA-1)=G(KA-1)-FA IF(I.LT.M) G(KA+1)=G(KA+1)-FA IF(J.LT.M) G(KA+M)=G(KA+M)-FA 941 CONTINUE F=0.5D 0*F RETURN 950 DO 951 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=4.0D 0*X(KA)+PAR*X(KA)**3/(1.0D 0+PAR*DBLE(I)**2+ & PAR*DBLE(J)**2) IF(I.EQ.1) FA=FA-1.0D 0 IF(I.GT.1) FA=FA-X(KA-1) IF(I.LT.M) FA=FA-X(KA+1) IF(I.EQ.M) FA=FA-2.0D 0+EXP(DBLE(J)/DBLE(M+1)) IF(J.EQ.1) FA=FA-1.0D 0 IF(J.GT.1) FA=FA-X(KA-M) IF(J.LT.M) FA=FA-X(KA+M) IF(J.EQ.M) FA=FA-2.0D 0+EXP(DBLE(I)/DBLE(M+1)) F=F+FA**2 G(KA)=G(KA)+(4.0D 0+3.0D 0*PAR*X(KA)**2/(1.0D 0+PAR*DBLE(I)**2+ & PAR*DBLE(J)**2))*FA IF(J.GT.1) G(KA-M)=G(KA-M)-FA IF(I.GT.1) G(KA-1)=G(KA-1)-FA IF(I.LT.M) G(KA+1)=G(KA+1)-FA IF(J.LT.M) G(KA+M)=G(KA+M)-FA 951 CONTINUE F=0.5D 0*F RETURN 960 DO 961 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M A1=DBLE(I)/DBLE(M+1) A2=DBLE(J)/DBLE(M+1) FA=4.0D 0*X(KA)-PAR*SIN(2.0D 0*PI*X(KA))- & 1.0D 4*((A1-0.25D 0)**2+(A2-0.75D 0)**2)*PAR IF(I.EQ.1) FA=FA-X(KA+1)-PAR*SIN(PI*X(KA+1)*DBLE(M+1)) IF(I.GT.1.AND.I.LT.M) FA=FA-X(KA+1)-X(KA-1)- & PAR*SIN(PI*(X(KA+1)-X(KA-1))*DBLE(M+1)) IF(I.EQ.M) FA=FA-X(KA-1)+PAR*SIN(PI*X(KA-1)*DBLE(M+1)) IF(J.EQ.1) FA=FA-X(KA+M)-PAR*SIN(PI*X(KA+M)*DBLE(M+1)) IF(J.GT.1.AND.J.LT.M) FA=FA-X(KA+M)-X(KA-M)- & PAR*SIN(PI*(X(KA+M)-X(KA-M))*DBLE(M+1)) IF(J.EQ.M) FA=FA-X(KA-M)+PAR*SIN(PI*X(KA-M)*DBLE(M+1)) F=F+FA**2 G(KA)=G(KA)+(4.0D 0-2.0D 0*PI*PAR*COS(2.0D 0*PI*X(KA)))*FA IF(I.EQ.1) G(KA+1)=G(KA+1)- & (1.0D 0+PI*DBLE(M+1)*PAR*COS(PI*X(KA+1)*DBLE(M+1)))*FA IF(I.GT.1.AND.I.LT.M) THEN G(KA-1)=G(KA-1)- & (1.0D 0-PI*DBLE(M+1)*PAR*COS(PI*(X(KA+1)-X(KA-1))*DBLE(M+1)))*FA G(KA+1)=G(KA+1)- & (1.0D 0+PI*DBLE(M+1)*PAR*COS(PI*(X(KA+1)-X(KA-1))*DBLE(M+1)))*FA ENDIF IF(I.EQ.M) G(KA-1)=G(KA-1)- & (1.0D 0-PI*DBLE(M+1)*PAR*COS(PI*X(KA-1)*DBLE(M+1)))*FA IF(J.EQ.1) G(KA+M)=G(KA+M)- & (1.0D 0+PI*DBLE(M+1)*PAR*COS(PI*X(KA+M)*DBLE(M+1)))*FA IF(J.GT.1.AND.J.LT.M) THEN G(KA-M)=G(KA-M)- & (1.0D 0-PI*DBLE(M+1)*PAR*COS(PI*(X(KA+M)-X(KA-M))*DBLE(M+1)))*FA G(KA+M)=G(KA+M)- & (1.0D 0+PI*DBLE(M+1)*PAR*COS(PI*(X(KA+M)-X(KA-M))*DBLE(M+1)))*FA ENDIF IF(J.EQ.M) G(KA-M)=G(KA-M)- & (1.0D 0-PI*DBLE(M+1)*PAR*COS(PI*X(KA-M)*DBLE(M+1)))*FA 961 CONTINUE F=0.5D 0*F RETURN 970 DO 971 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=8.0D 0*X(KA)**2 IF(I.EQ.1) FA=FA-2.0D 0*X(KA)*(X(KA+1)+1.0D 0)- & 0.5D 0*(X(KA+1)-1.0D 0)**2- & 1.5D 0*X(KA)**2*(X(KA+1)-1.0D 0)*PAR IF(I.GT.1.AND.I.LT.M) FA=FA-2.0D 0*X(KA)*(X(KA+1)+X(KA-1))- & 0.5D 0*(X(KA+1)-X(KA-1))**2- & 1.5D 0*X(KA)**2*(X(KA+1)-X(KA-1))*PAR IF(I.EQ.M) FA=FA-2.0D 0*X(KA)*X(KA-1)- & 0.5D 0*X(KA-1)**2+ & 1.5D 0*X(KA)**2*X(KA-1)*PAR IF(J.EQ.1) FA=FA-2.0D 0*X(KA)*(X(KA+M)+1.0D 0)- & 0.5D 0*(X(KA+M)-1.0D 0)**2 IF(J.GT.1.AND.J.LT.M) FA=FA-2.0D 0*X(KA)*(X(KA+M)+X(KA-M))- & 0.5D 0*(X(KA+M)-X(KA-M))**2 IF(J.EQ.M) FA=FA-2.0D 0*X(KA)*X(KA-M)- & 0.5D 0*X(KA-M)**2 IF (I.EQ.1.AND.J.EQ.1) FA=FA-PAR/DBLE(M+1) F=F+FA**2 G(KA)=G(KA)+1.6D 1*X(KA)*FA IF(I.EQ.1) THEN G(KA)=G(KA)-(2.0D 0*(X(KA+1)+1.0D 0)+3.0D 0*X(KA)* & (X(KA+1)-1.0D 0)*PAR)*FA G(KA+1)=G(KA+1)-(2.0D 0*X(KA)+(X(KA+1)-1.0D 0)+ & 1.5D 0*X(KA)**2*PAR)*FA ENDIF IF(I.GT.1.AND.I.LT.M) THEN G(KA)=G(KA)-(2.0D 0*(X(KA+1)+X(KA-1))+3.0D 0*X(KA)* & (X(KA+1)-X(KA-1))*PAR)*FA G(KA-1)=G(KA-1)-(2.0D 0*X(KA)-(X(KA+1)-X(KA-1))- & 1.5D 0*X(KA)**2*PAR)*FA G(KA+1)=G(KA+1)-(2.0D 0*X(KA)+(X(KA+1)-X(KA-1))+ & 1.5D 0*X(KA)**2*PAR)*FA ENDIF IF(I.EQ.M) THEN G(KA)=G(KA)-(2.0D 0*X(KA-1)-3.0D 0*X(KA)*X(KA-1)*PAR)*FA G(KA-1)=G(KA-1)-(2.0D 0*X(KA)+X(KA-1)-1.5D 0*X(KA)**2*PAR)*FA ENDIF IF(J.EQ.1) THEN G(KA)=G(KA)-2.0D 0*(X(KA+M)+1.0D 0)*FA G(KA+M)=G(KA+M)-(2.0D 0*X(KA)+(X(KA+M)-1.0D 0))*FA ENDIF IF(J.GT.1.AND.J.LT.M) THEN G(KA)=G(KA)-2.0D 0*(X(KA+M)+X(KA-M))*FA G(KA-M)=G(KA-M)-(2.0D 0*X(KA)-(X(KA+M)-X(KA-M)))*FA G(KA+M)=G(KA+M)-(2.0D 0*X(KA)+(X(KA+M)-X(KA-M)))*FA ENDIF IF(J.EQ.M) THEN G(KA)=G(KA)-2.0D 0*X(KA-M)*FA G(KA-M)=G(KA-M)-(2.0D 0*X(KA)+X(KA-M))*FA ENDIF 971 CONTINUE F=0.5D 0*F RETURN 980 DO 981 KA=1,NA A3=0.0D 0 J=(KA-1)/M+1 I=KA-(J-1)*M A1=PAR*DBLE(I) A2=PAR*DBLE(J) FA=4.0D 0*X(KA)-2.0D 3*A1*A2*(1.0D 0-A1)*(1.0D 0-A2)*PAR**2 IF(I.GT.1) THEN FA=FA-X(KA-1) A3=A3-X(KA-1) ENDIF IF(I.LT.M) THEN FA=FA-X(KA+1) A3=A3+X(KA+1) ENDIF IF(J.GT.1) THEN FA=FA-X(KA-M) A3=A3-X(KA-M) ENDIF IF(J.LT.M) THEN FA=FA-X(KA+M) A3=A3+X(KA+M) ENDIF FA=FA+2.0D 1*PAR*A3*X(KA) F=F+FA**2 G(KA)=G(KA)+4.0D 0*FA IF(I.GT.1) THEN G(KA-1)=G(KA-1)-(1.0D 0+2.0D 1*PAR*X(KA))*FA ENDIF IF(I.LT.M) THEN G(KA+1)=G(KA+1)-(1.0D 0-2.0D 1*PAR*X(KA))*FA ENDIF IF(J.GT.1) THEN G(KA-M)=G(KA-M)-(1.0D 0+2.0D 1*PAR*X(KA))*FA ENDIF IF(J.LT.M) THEN G(KA+M)=G(KA+M)-(1.0D 0-2.0D 1*PAR*X(KA))*FA ENDIF G(KA)=G(KA)+2.0D 1*PAR*A3*FA 981 CONTINUE F=0.5D 0*F RETURN 990 DO 991 KA=1,NA J=(KA-1)/M+1 I=KA-(J-1)*M FA=2.0D 1*X(KA)-PAR*MAX(0.0D 0,X(KA))- & SIGN(PAR,(DBLE(I)/DBLE(M+2)-0.5D 0)) IF (J.GT.2) THEN FA=FA+X(KA-M-M) ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA-M-1) ENDIF FA=FA-8.0D 0*X(KA-M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA-M+1) ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN FA=FA+X(KA-2) ENDIF FA=FA-8.0D 0*X(KA-1) ENDIF IF (I.LT.M) THEN FA=FA-8.0D 0*X(KA+1) IF (I.LT.M-1) THEN FA=FA+X(KA+2) ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA+M-1) ENDIF FA=FA-8.0D 0*X(KA+M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA+M+1) ENDIF ENDIF IF (J.LT.M-1) THEN FA=FA+X(KA+M+M) ENDIF F=F+FA**2 G(KA)=G(KA)+(2.0D 1-PAR)*FA IF (J.GT.2) THEN G(KA-M-M)=G(KA-M-M)+FA ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN G(KA-M-1)=G(KA-M-1)+2.0D 0*FA ENDIF G(KA-M)=G(KA-M)-8.0D 0*FA IF (I.LT.M) THEN G(KA-M+1)=G(KA-M+1)+2.0D 0*FA ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN G(KA-2)=G(KA-2)+FA ENDIF G(KA-1)=G(KA-1)-8.0D 0*FA ENDIF IF (I.LT.M) THEN G(KA+1)=G(KA+1)-8.0D 0*FA IF (I.LT.M-1) THEN G(KA+2)=G(KA+2)+FA ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN G(KA+M-1)=G(KA+M-1)+2.0D 0*FA ENDIF G(KA+M)=G(KA+M)-8.0D 0*FA IF (I.LT.M) THEN G(KA+M+1)=G(KA+M+1)+2.0D 0*FA ENDIF ENDIF IF (J.LT.M-1) THEN G(KA+M+M)=G(KA+M+M)+FA ENDIF 991 CONTINUE F=0.5D 0*F RETURN 660 DO 662 KA=1,NA H=0.5D 0/DBLE(M+2) J=(KA-1)/M+1 I=KA-(J-1)*M FA=2.0D 1*X(KA) A1=0.0D 0 A2=0.0D 0 A3=0.0D 0 A4=0.0D 0 IF (J.GT.2) THEN FA=FA+X(KA-M-M) A4=A4+X(KA-M-M) ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA-M-1) A3=A3+X(KA-M-1) A4=A4+X(KA-M-1) ENDIF FA=FA-8.0D 0*X(KA-M) A1=A1-X(KA-M) A4=A4-4.0D 0*X(KA-M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA-M+1) A3=A3-X(KA-M+1) A4=A4+X(KA-M+1) ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN FA=FA+X(KA-2) A3=A3+X(KA-2) ENDIF FA=FA-8.0D 0*X(KA-1) A2=A2-X(KA-1) A3=A3-4.0D 0*X(KA-1) ENDIF IF (I.LT.M) THEN FA=FA-8.0D 0*X(KA+1) A2=A2+X(KA+1) A3=A3+4.0D 0*X(KA+1) IF (I.LT.M-1) THEN FA=FA+X(KA+2) A3=A3-X(KA+2) ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN FA=FA+2.0D 0*X(KA+M-1) A3=A3+X(KA+M-1) A4=A4-X(KA+M-1) ENDIF FA=FA-8.0D 0*X(KA+M) A1=A1+X(KA+M) A4=A4+4.0D 0*X(KA+M) IF (I.LT.M) THEN FA=FA+2.0D 0*X(KA+M+1) A3=A3-X(KA+M+1) A4=A4-X(KA+M+1) ENDIF ENDIF IF (J.LT.M-1) THEN FA=FA+X(KA+M+M) A4=A4-X(KA+M+M) ENDIF IF (J.EQ.M) THEN IF (I.GT.1) THEN FA=FA-H-H A3=A3-H A4=A4+H ENDIF FA=FA+8.0D 0*H A1=A1-H A4=A4-4.0D 0*H IF (I.LT.M) THEN FA=FA-2.0D 0*H A3=A3+H A4=A4+H ENDIF FA=FA+H A4=A4-H ENDIF IF (J.EQ.M-1) THEN FA=FA-H A4=A4+H ENDIF FA=FA+0.25D 0*PAR*(A1*A3-A2*A4) F=F+FA**2 G(KA)=G(KA)+2.0D 1*FA A1=0.0D 0 A2=0.0D 0 A3=0.0D 0 A4=0.0D 0 GA1(1)=0.0D 0 GA1(2)=0.0D 0 GA2(1)=0.0D 0 GA2(2)=0.0D 0 DO 661 K=1,6 GA3(K)=0.0D 0 GA4(K)=0.0D 0 661 CONTINUE IF (J.GT.2) THEN G(KA-M-M)=G(KA-M-M)+FA GA4(1)=GA4(1)+1.0D 0 A4=A4+X(KA-M-M) ENDIF IF (J.GT.1) THEN IF (I.GT.1) THEN G(KA-M-1)=G(KA-M-1)+2.0D 0*FA GA3(1)=GA3(1)+1.0D 0 GA4(2)=GA4(2)+1.0D 0 A3=A3+X(KA-M-1) A4=A4+X(KA-M-1) ENDIF G(KA-M)=G(KA-M)-8.0D 0*FA GA1(1)=GA1(1)-1.0D 0 A1=A1-X(KA-M) IF (I.LT.M) THEN G(KA-M+1)=G(KA-M+1)+2.0D 0*FA GA3(2)=GA3(2)-1.0D 0 GA4(3)=GA4(3)+1.0D 0 A3=A3-X(KA-M+1) A4=A4+X(KA-M+1) ENDIF ENDIF IF (I.GT.1) THEN IF (I.GT.2) THEN G(KA-2)=G(KA-2)+FA GA3(3)=GA3(3)+1.0D 0 A3=A3+X(KA-2) ENDIF G(KA-1)=G(KA-1)-8.0D 0*FA GA2(1)=GA2(1)-1.0D 0 A2=A2-X(KA-1) ENDIF IF (I.LT.M) THEN G(KA+1)=G(KA+1)-8.0D 0*FA GA2(2)=GA2(2)+1.0D 0 A2=A2+X(KA+1) IF (I.LT.M-1) THEN G(KA+2)=G(KA+2)+FA GA3(4)=GA3(4)-1.0D 0 A3=A3-X(KA+2) ENDIF ENDIF IF (J.LT.M) THEN IF (I.GT.1) THEN G(KA+M-1)=G(KA+M-1)+2.0D 0*FA GA3(5)=GA3(5)+1.0D 0 GA4(4)=GA4(4)-1.0D 0 A3=A3+X(KA+M-1) A4=A4-X(KA+M-1) ENDIF G(KA+M)=G(KA+M)-8.0D 0*FA GA1(2)=GA1(2)+1.0D 0 A1=A1+X(KA+M) IF (I.LT.M) THEN G(KA+M+1)=G(KA+M+1)+2.0D 0*FA GA3(6)=GA3(6)-1.0D 0 GA4(5)=GA4(5)-1.0D 0 A3=A3-X(KA+M+1) A4=A4-X(KA+M+1) ENDIF ENDIF IF (J.LT.M-1) THEN G(KA+M+M)=G(KA+M+M)+FA GA4(6)=GA4(6)-1.0D 0 A4=A4-X(KA+M+M) ENDIF IF (J.EQ.M) THEN IF (I.GT.1) THEN A3=A3-H A4=A4+H ENDIF A1=A1-H IF (I.LT.M) THEN A3=A3+H A4=A4+H ENDIF A4=A4-H ENDIF IF (J.EQ.M-1) THEN A4=A4+H ENDIF IF (KA.GT.M+M) & G(KA-M-M)=G(KA-M-M)+0.25D 0*PAR*(-A2*GA4(1))*FA IF (KA.GT.M+1) & G(KA-M-1)=G(KA-M-1)+0.25D 0*PAR*(+A1*GA3(1)-A2*GA4(2))*FA IF (KA.GT.M) & G(KA-M)=G(KA-M)+0.25D 0*PAR*(GA1(1)*A3)*FA IF (KA.GT.M-1) & G(KA-M+1)=G(KA-M+1)+0.25D 0*PAR*(+A1*GA3(2)-A2*GA4(3))*FA IF (KA.GT.2) & G(KA-2)=G(KA-2)+0.25D 0*PAR*(+A1*GA3(3))*FA IF (KA.GT.1) & G(KA-1)=G(KA-1)+0.25D 0*PAR*(-GA2(1)*A4)*FA IF (KA.LE.N-1) & G(KA+1)=G(KA+1)+0.25D 0*PAR*(-GA2(2)*A4)*FA IF (KA.LE.N-2) & G(KA+2)=G(KA+2)+0.25D 0*PAR*(+A1*GA3(4))*FA IF (KA.LE.N-M+1) & G(KA+M-1)=G(KA+M-1)+0.25D 0*PAR*(+A1*GA3(5)-A2*GA4(4))*FA IF (KA.LE.N-M) & G(KA+M)=G(KA+M)+0.25D 0*PAR*(GA1(2)*A3)*FA IF (KA.LE.N-M-1) & G(KA+M+1)=G(KA+M+1)+0.25D 0*PAR*(+A1*GA3(6)-A2*GA4(5))*FA IF (KA.LE.N-M-M) & G(KA+M+M)=G(KA+M+M)+0.25D 0*PAR*(-A2*GA4(6))*FA 662 CONTINUE F=0.5D 0*F RETURN 670 DO 671 KA=1,NA H=1.0D 0/DBLE(N+1) A1=DBLE(KA)*H A2=(A1-0.5D 0)**2 IF (KA.LT.2) THEN FA=2.0D 0*X(KA)-X(KA+1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) G(KA+1)=G(KA+1)-FA G(KA)=G(KA)+ & (2.0D 0+H**2*(3*X(KA)**2+2.0D-4*(2.0D-4*A2-1.0D 0)))*FA ELSEIF (KA.LT.N) THEN FA=2.0D 0*X(KA)-X(KA+1)-X(KA-1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+ & (2.0D 0+H**2*(3*X(KA)**2+2.0D-4*(2.0D-4*A2-1.0D 0)))*FA G(KA+1)=G(KA+1)-FA ELSE FA=2.0D 0*X(KA)-X(KA-1)+H**2*(X(KA)**3+ & 2.0D-4*(2.0D-4*A2-1.0D 0)*X(KA)-1.0D 9*EXP(-3.0D 4*A2)) G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+ & (2.0D 0+H**2*(3*X(KA)**2+2.0D-4*(2.0D-4*A2-1.0D 0)))*FA ENDIF F=F+FA**2 671 CONTINUE F=0.5D 0*F RETURN 680 DO 681 KA=1,NA H=1.0D 0/DBLE(N+1) A1=DBLE(KA)*H A2=(A1-0.5D 0)**2 IF (A1.GE.0.5D 0) THEN A3= 1.0D 6 ELSE A3=-1.0D 6 ENDIF IF (KA.LT.2) THEN FA=2.0D 0*X(KA)-X(KA+1)+H**2*(X(KA)**3*EXP(X(KA))+ & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*X(KA+1)+A3) G(KA)=G(KA)+(2.0D 0+ & H**2*(3.0D 0*X(KA)**2*EXP(X(KA))+X(KA)**3*EXP(X(KA))))*FA G(KA+1)=G(KA+1)-(1.0D 0- & H**2*5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0)))*FA ELSEIF (KA.LT.N) THEN FA=2.0D 0*X(KA)-X(KA+1)-X(KA-1)+H**2*(X(KA)**3*EXP(X(KA))+ & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*(X(KA+1)-X(KA-1))+ & A3) G(KA-1)=G(KA-1)-(1.0D 0+ & H**2*5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0)))*FA G(KA)=G(KA)+(2.0D 0+ & H**2*(3.0D 0*X(KA)**2*EXP(X(KA))+X(KA)**3*EXP(X(KA))))*FA G(KA+1)=G(KA+1)-(1.0D 0- & H**2*5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0)))*FA ELSE FA=2.0D 0*X(KA)-X(KA-1)+H**2*(X(KA)**3*EXP(X(KA))- & 5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0))*X(KA-1)-A3) G(KA-1)=G(KA-1)-(1.0D 0- & H**2*5.0D 8*EXP(-1.0D 4*A2)*SQRT(ABS(A1-0.5D 0)))*FA G(KA)=G(KA)+(2.0D 0+ & H**2*(3.0D 0*X(KA)**2*EXP(X(KA))+X(KA)**3*EXP(X(KA))))*FA ENDIF F=F+FA**2 681 CONTINUE F=0.5D 0*F RETURN 260 DO 261 KA=1,NA IF(KA.EQ.1) THEN FA=1.0D 0-X(1) G(1)=G(1)-FA ELSE FA=10.0D 0*DBLE(KA-1)*(X(KA)-X(KA-1))**2 G(KA)=G(KA)+20.0D 0*DBLE(KA-1)*(X(KA)-X(KA-1))*FA G(KA-1)=G(KA-1)-20.0D 0*DBLE(KA-1)*(X(KA)-X(KA-1))*FA ENDIF F=F+FA**2 261 CONTINUE F=0.5D 0*F RETURN 270 DO 271 KA=1,NA IF(KA.EQ.N) THEN FA=X(KA)-0.1D 0*X(1)**2 G(1)=G(1)-0.20D 0*X(1)*FA G(N)=G(N)+FA ELSE FA=X(KA)-0.1D 0*X(KA+1)**2 G(KA)=G(KA)+FA G(KA+1)=G(KA+1)-0.2D 0*X(KA+1)*FA ENDIF F=F+FA**2 271 CONTINUE F=0.5D 0*F RETURN 280 DO 281 KA=1,NA S=(1.0D 0/DBLE(N+1))**2*EXP(X(KA)) IF(N.EQ.1) THEN FA=-2.0D 0*X(KA)-S G(KA)=G(KA)-(2.0D 0+S)*FA ELSE IF(KA.EQ.1) THEN FA=-2.0D 0*X(KA)+X(KA+1)-S G(KA)=G(KA)-(2.0D 0+S)*FA G(KA+1)=G(KA+1)+FA ELSE IF(KA.EQ.N) THEN FA=X(KA-1)-2.0D 0*X(KA)-S G(KA)=G(KA)-(2.0D 0+S)*FA G(KA-1)=G(KA-1)+FA ELSE FA=X(KA-1)-2.0D 0*X(KA)+X(KA+1)-S G(KA)=G(KA)-(2.0D 0+S)*FA G(KA-1)=G(KA-1)+FA G(KA+1)=G(KA+1)+FA ENDIF F=F+FA**2 281 CONTINUE F=0.5D 0*F RETURN 290 DO 291 KA=1,NA S=0.1D 0 IF(N.EQ.1) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0 G(KA)=G(KA)+(3.0D 0-2.0D 0*S*X(KA))*FA ELSE IF(KA.EQ.1) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-2.0D 0*X(KA+1) G(KA)=G(KA)+(3.0D 0-2.0D 0*S*X(KA))*FA G(KA+1)=G(KA+1)-2.0D 0*FA ELSE IF(KA.EQ.N) THEN FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-X(KA-1) G(KA)=G(KA)+(3.0D 0-2.0D 0*S*X(KA))*FA G(KA-1)=G(KA-1)-FA ELSE FA=(3.0D 0-S*X(KA))*X(KA)+1.0D 0-X(KA-1)-2.0D 0*X(KA+1) G(KA)=G(KA)+(3.0D 0-2.0D 0*S*X(KA))*FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-2.0D 0*FA ENDIF F=F+FA**2 291 CONTINUE F=0.5D 0*F RETURN 300 DO 303 KA=1,NA S1=1.0D 0 S2=1.0D 0 S3=1.0D 0 J1=3 J2=3 IF(KA-J1.GT.1) THEN I1=KA-J1 ELSE I1=1 ENDIF IF(KA+J2.LT.N) THEN I2=KA+J2 ELSE I2=N ENDIF S=0.0D 0 DO 301 J=I1,I2 IF(J.NE.KA) S=S+X(J)+X(J)**2 301 CONTINUE FA=(S1+S2*X(KA)**2)*X(KA)+1.D 0-S3*S G(KA)=G(KA)+(S1+3.0D 0*S2*X(KA)**2)*FA DO 302 J=I1,I2 G(J)=G(J)-S3*(1.0D 0+2.0D 0*X(J))*FA 302 CONTINUE F=F+FA**2 303 CONTINUE F=0.5D 0*F RETURN 310 DO 311 KA=1,NA IF(KA.EQ.1) THEN FA=X(1)**2-1.0D 0 G(1)=G(1)+2.0D 0*X(1)*FA ELSE FA=X(KA-1)**2+LOG(X(KA))-1.0D 0 G(KA-1)=G(KA-1)+2.0D 0*X(KA-1)*FA G(KA)=G(KA)+1.0D 0/X(KA)*FA ENDIF F=F+FA**2 311 CONTINUE F=0.5D 0*F RETURN 320 DO 321 KA=1,NA IF(KA.EQ.1) THEN FA=X(1) G(1)=G(1)+FA ELSE FA=COS(X(KA-1))+X(KA)-1.0D 0 G(KA)=G(KA)+FA G(KA-1)=G(KA-1)-SIN(X(KA-1))*FA ENDIF F=F+FA**2 321 CONTINUE F=0.5D 0*F RETURN 330 DO 331 KA=1,NA S=(1.0D 0/DBLE(N+1))**2 IF(N.EQ.1) THEN FA=2.0D 0*X(KA)-1.0D 0+S*(X(KA)+SIN(X(KA))) G(KA)=G(KA)+(2.0D 0+S*(1.0D 0+COS(X(KA))))*FA ELSE IF(KA.EQ.1) THEN FA=2.0D 0*X(KA)-X(KA+1)+S*(X(KA)+SIN(X(KA))) G(KA)=G(KA)+(2.0D 0+S*(1.0D 0+COS(X(KA))))*FA G(KA+1)=G(KA+1)-FA ELSE IF(KA.EQ.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-1.0D 0+S*(X(KA)+SIN(X(KA))) G(KA)=G(KA)+(2.0D 0+S*(1.0D 0+COS(X(KA))))*FA G(KA-1)=G(KA-1)-FA ELSE FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)+S*(X(KA)+SIN(X(KA))) G(KA)=G(KA)+(2.0D 0+S*(1.0D 0+COS(X(KA))))*FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA ENDIF F=F+FA**2 331 CONTINUE F=0.5D 0*F RETURN 340 DO 343 KA=1,NA IF(KA-5.GT.1) THEN I1=KA-5 ELSE I1=1 ENDIF IF(KA+1.LT.N) THEN I2=KA+1 ELSE I2=N ENDIF S=0.0D 0 DO 341 J=I1,I2 IF(J.NE.KA) S=S+X(J)*(1.0D 0+X(J)) 341 CONTINUE FA=X(KA)*(2.0D 0+5.0D 0*X(KA)**2)+1.0D 0-S F=F+FA**2 G(KA)=G(KA)+(2.0D 0+15.0D 0*X(KA)**2)*FA DO 342 J=I1,I2 IF(J.NE.KA) G(J)=G(J)-(1.0D 0+2.0D 0*X(J))*FA 342 CONTINUE 343 CONTINUE F=0.5D 0*F RETURN 350 DO 351 KA=1,NA H=1.0D 0/DBLE(N+1) T=2.0D 0*H**2 IF(KA.EQ.1) THEN FA=2.0D 0*X(KA)-X(KA+1)-T*X(KA)**2-H*X(KA+1) G(KA)=G(KA)+2.0D 0*(1.0D 0-T*X(KA))*FA G(KA+1)=G(KA+1)-(1.0D 0+H)*FA ELSE IF(1.LT.KA.AND.KA.LT.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)-T*X(KA)**2-H*(X(KA+1)-X(KA-1)) G(KA)=G(KA)+2.0D 0*(1.0D 0-T*X(KA))*FA G(KA-1)=G(KA-1)-(1.0D 0-H)*FA G(KA+1)=G(KA+1)-(1.0D 0+H)*FA ELSE IF(KA.EQ.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-0.5D 0-T*X(KA)**2-H*(0.5D 0-X(KA-1)) G(KA)=G(KA)+2.0D 0*(1.0D 0-T*X(KA))*FA G(KA-1)=G(KA-1)-(1.0D 0-H)*FA ENDIF F=F+FA**2 351 CONTINUE F=0.5D 0*F RETURN 360 DO 361 KA=1,NA A=-9.0D-3 B=1.0D-3 AL=0.0D 0 BE=25.0D 0 GA=20.0D 0 CA=0.3D 0 CB=0.3D 0 H=(B-A)/DBLE(N+1) T=A+DBLE(KA)*H H=H**2 S=DBLE(KA)/DBLE(N+1) U=AL*(1.0D 0-S)+BE*S+X(KA) FF=CB*EXP(GA*(U-BE))-CA*EXP(GA*(AL-U)) FG=GA*(CB*EXP(GA*(U-BE))+CA*EXP(GA*(AL-U))) IF(T.LE.0) THEN FF=FF+CA ELSE FF=FF-CB ENDIF IF(N.EQ.1) THEN FA=-AL+2.0D 0*X(KA)-BE+H*FF G(KA)=G(KA)+(2.0D 0+H*FG)*FA ELSEIF(KA.EQ.1) THEN FA=-AL+2.0D 0*X(KA)-X(KA+1)+H*FF G(KA)=G(KA)+(2.0D 0+H*FG)*FA G(KA+1)=G(KA+1)-FA ELSEIF(KA.LT.N) THEN FA=-X(KA-1)+2.0D 0*X(KA)-X(KA+1)+H*FF G(KA)=G(KA)+(2.0D 0+H*FG)*FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA ELSE FA=-X(KA-1)+2.0D 0*X(KA)-BE+H*FF G(KA)=G(KA)+(2.0D 0+H*FG)*FA G(KA-1)=G(KA-1)-FA ENDIF F=F+FA**2 361 CONTINUE F=0.5D 0*F RETURN 370 DO 371 KA=1,NA AL1=0.0D 0 AL2=0.0D 0 BE1=0.0D 0 BE2=0.0D 0 H=1.0D 0/DBLE(M+1) T=DBLE(KA)*H IF(KA.EQ.1) THEN S1=2.0D 0*X(KA)-X(KA+1) B=AL1 ELSE IF(KA.EQ.M+1) THEN S1=2.0D 0*X(KA)-X(KA+1) B=AL2 ELSE IF(KA.EQ.M) THEN S1=-X(KA-1)+2.0D 0*X(KA) B=BE1 ELSE IF(KA.EQ.N) THEN S1=-X(KA-1)+2.0D 0*X(KA) B=BE2 ELSE S1=-X(KA-1)+2.0D 0*X(KA)-X(KA+1) B=0.0D 0 ENDIF IF(KA.LE.M) THEN S2=X(KA)**2+X(KA)+0.1D 0*X(M+KA)**2-1.2D 0 ELSE S2=0.2D 0*X(KA-M)**2+X(KA)**2+2.0D 0*X(KA)-0.6D 0 ENDIF FA=S1+H**2*S2-B F=F+FA**2 H=1.0D 0/DBLE(M+1)**2 IF(KA.EQ.1) THEN G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+1.0D 0))*FA G(KA+1)=G(KA+1)-FA G(M+KA)=G(M+KA)+H*0.2D 0*X(M+KA)*FA ELSE IF(KA.EQ.M+1) THEN G(1)=G(1)+H*0.4D 0*X(1)*FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+2.0D 0))*FA G(KA+1)=G(KA+1)-FA ELSE IF(KA.EQ.M) THEN G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+1.0D 0))*FA G(M+KA)=G(M+KA)+H*0.2D 0*X(M+KA)*FA ELSE IF(KA.EQ.N) THEN G(M)=G(M)+H*0.4D 0*X(M)*FA G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+2.0D 0))*FA ELSE IF(KA.LT.M) THEN G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+1.0D 0))*FA G(KA+1)=G(KA+1)-FA G(M+KA)=G(M+KA)+H*0.2D 0*X(M+KA)*FA ELSE G(KA-M)=G(KA-M)+H*0.4D 0*X(KA-M)*FA G(KA-1)=G(KA-1)-FA G(KA)=G(KA)+(2.0D 0+H*(2.0D 0*X(KA)+2.0D 0))*FA G(KA+1)=G(KA+1)-FA ENDIF 371 CONTINUE F=0.5D 0*F RETURN 380 DO 381 KA=1,NA L=MOD(KA,M) IF(L.EQ.0) THEN K=KA/M L=M ELSE K=INT(KA/M)+1 ENDIF LA=1.0D 0 H=1.0D 0/DBLE(M+1) H2=LA*H*H IF(L.EQ.1.AND.K.EQ.1) THEN FA=4.0D 0*X(1)-X(2)-X(M+1)+H2*EXP(X(1)) ENDIF IF(1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN FA=4.0D 0*X(L)-X(L-1)-X(L+1)-X(L+M)+H2*EXP(X(L)) ENDIF IF(L.EQ.M.AND.K.EQ.1) THEN FA=4.0D 0*X(M)-X(M-1)-X(M+M)+H2*EXP(X(M)) ENDIF IF(L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)-X(KA+M)+H2*EXP(X(KA)) ENDIF IF(L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-M)-X(KA-1)-X(KA+M)+H2*EXP(X(KA)) ENDIF IF(L.EQ.1.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF(1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF(L.EQ.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA-M)+H2*EXP(X(KA)) ENDIF IF(1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)-X(KA+M)+H2*EXP(X(KA)) ENDIF F=F+FA**2 IF(L.EQ.1.AND.K.EQ.1) THEN G(1)=G(1)+(4.0D 0+H2*EXP(X(1)))*FA G(2)=G(2)-FA G(M+1)=G(M+1)-FA ENDIF IF(1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN G(L)=G(L)+(4.0D 0+H2*EXP(X(L)))*FA G(L-1)=G(L-1)-FA G(L+1)=G(L+1)-FA G(L+M)=G(L+M)-FA ENDIF IF(L.EQ.M.AND.K.EQ.1) THEN G(M)=G(M)+(4.0D 0+H2*EXP(X(M)))*FA G(M-1)=G(M-1)-FA G(M+M)=G(M+M)-FA ENDIF IF(L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA+1)=G(KA+1)-FA G(KA+M)=G(KA+M)-FA ENDIF IF(L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+M)=G(KA+M)-FA ENDIF IF(L.EQ.1.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA+1)=G(KA+1)-FA ENDIF IF(1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA ENDIF IF(L.EQ.M.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA ENDIF IF(1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*EXP(X(KA)))*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA G(KA+M)=G(KA+M)-FA ENDIF 381 CONTINUE F=0.5D 0*F RETURN 390 DO 391 KA=1,NA L=MOD(KA,M) IF(L.EQ.0) THEN K=KA/M L=M ELSE K=INT(KA/M)+1 ENDIF H=1.0D 0/DBLE(M+1) H2=H*H IF(L.EQ.1.AND.K.EQ.1) THEN FA=4.0D 0*X(1)-X(2)-X(M+1)+H2*X(1)**2-24.0D 0/(H+1.0D 0)**2 ENDIF IF(1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN FA=4.0D 0*X(L)-X(L-1)-X(L+1)-X(L+M)+H2*X(L)**2 & -12.0D 0/(DBLE(L)*H+1.0D 0)**2 ENDIF IF(L.EQ.M.AND.K.EQ.1) THEN FA=4.0D 0*X(M)-X(M-1)-X(M+M)+H2*X(M)**2 & -12.0D 0/(DBLE(M)*H+1.0D 0)**2-12.0D 0/(H+2.0D 0)**2 ENDIF IF(L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)-X(KA+M)+H2*X(KA)**2 & -12.0D 0/(DBLE(K)*H+1.0D 0)**2 ENDIF IF(L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-M)-X(KA-1)-X(KA+M)+H2*X(KA)**2 & -12.0D 0/(DBLE(K)*H+2.0D 0)**2 ENDIF IF(L.EQ.1.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA+1)-X(KA-M)+H2*X(KA)**2 & -12.0D 0/(DBLE(M)*H+1.0D 0)**2-12.0D 0/(H+2.0D 0)**2 ENDIF IF(1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)+H2*X(KA)**2 & -12.0D 0/(DBLE(L)*H+2.0D 0)**2 ENDIF IF(L.EQ.M.AND.K.EQ.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA-M)+H2*X(KA)**2 & -24.0D 0/(DBLE(M)*H+2.0D 0)**2 ENDIF IF(1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN FA=4.0D 0*X(KA)-X(KA-1)-X(KA+1)-X(KA-M)-X(KA+M)+H2*X(KA)**2 ENDIF F=F+FA**2 IF(L.EQ.1.AND.K.EQ.1) THEN G(1)=G(1)+(4.0D 0+H2*X(1)*2.0D 0)*FA G(2)=G(2)-FA G(M+1)=G(M+1)-FA ENDIF IF(1.LT.L.AND.L.LT.M.AND.K.EQ.1) THEN G(L)=G(L)+(4.0D 0+H2*X(L)*2.0D 0)*FA G(L-1)=G(L-1)-FA G(L+1)=G(L+1)-FA G(L+M)=G(L+M)-FA ENDIF IF(L.EQ.M.AND.K.EQ.1) THEN G(M)=G(M)+(4.0D 0+H2*X(M)*2.0D 0)*FA G(M-1)=G(M-1)-FA G(M+M)=G(M+M)-FA ENDIF IF(L.EQ.1.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA+1)=G(KA+1)-FA G(KA+M)=G(KA+M)-FA ENDIF IF(L.EQ.M.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+M)=G(KA+M)-FA ENDIF IF(L.EQ.1.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA+1)=G(KA+1)-FA ENDIF IF(1.LT.L.AND.L.LT.M.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA ENDIF IF(L.EQ.M.AND.K.EQ.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA ENDIF IF(1.LT.L.AND.L.LT.M.AND.1.LT.K.AND.K.LT.M) THEN G(KA)=G(KA)+(4.0D 0+H2*X(KA)*2.0D 0)*FA G(KA-M)=G(KA-M)-FA G(KA-1)=G(KA-1)-FA G(KA+1)=G(KA+1)-FA G(KA+M)=G(KA+M)-FA ENDIF 391 CONTINUE F=0.5D 0*F RETURN END