Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0026/dse15.ssp
There are 2 other files named dse15.ssp in the archive. Click here to see a list.
C DE15 10
C ..................................................................DE15 20
C DE15 30
C SUBROUTINE DSE15 DE15 40
C DE15 50
C PURPOSE DE15 60
C TO COMPUTE A VECTOR OF SMOOTHED FUNCTION VALUES GIVEN A DE15 70
C VECTOR OF FUNCTION VALUES WHOSE ENTRIES CORRESPOND TO DE15 80
C EQUIDISTANTLY SPACED ARGUMENT VALUES. DE15 90
C DE15 100
C USAGE DE15 110
C CALL DSE15(Y,Z,NDIM,IER) DE15 120
C DE15 130
C DESCRIPTION OF PARAMETERS DE15 140
C Y - GIVEN VECTOR OF DOUBLE PRECISION FUNCTION VALUES DE15 150
C (DIMENSION NDIM) DE15 160
C Z - RESULTING VECTOR OF DOUBLE PRECISION SMOOTHED DE15 170
C FUNCTION VALUES (DIMENSION NDIM) DE15 180
C NDIM - DIMENSION OF VECTORS Y AND Z DE15 190
C IER - RESULTING ERROR PARAMETER DE15 200
C IER = -1 - NDIM IS LESS THAN 5 DE15 210
C IER = 0 - NO ERROR DE15 220
C DE15 230
C REMARKS DE15 240
C (1) IF IER=-1 THERE HAS BEEN NO COMPUTATION. DE15 250
C (2) Z CAN HAVE THE SAME STORAGE ALLOCATION AS Y. IF Y IS DE15 260
C DISTINCT FROM Z, THEN IT IS NOT DESTROYED. DE15 270
C DE15 280
C SUBROUTINE AND FUNCTION SUBPROGRAMS REQUIRED DE15 290
C NONE DE15 300
C DE15 310
C METHOD DE15 320
C IF X IS THE (SUPPRESSED) VECTOR OF ARGUMENT VALUES, THEN DE15 330
C EXCEPT AT THE POINTS X(1),X(2),X(NDIM-1) AND X(NDIM), EACH DE15 340
C SMOOTHED VALUE Z(I) IS OBTAINED BY EVALUATING AT X(I) THE DE15 350
C LEAST-SQUARES POLYNOMIAL OF DEGREE 1 RELEVANT TO THE 5 DE15 360
C SUCCESSIVE POINTS (X(I+K),Y(I+K)) K = -2,-1,...,2. (SEE DE15 370
C HILDEBRAND, F.B., INTRODUCTION TO NUMERICAL ANALYSIS, DE15 380
C MC GRAW-HILL, NEW YORK/TORONTO/LONDON, 1956, PP. 295-302.) DE15 390
C DE15 400
C ..................................................................DE15 410
C DE15 420
SUBROUTINE DSE15(Y,Z,NDIM,IER) DE15 430
C DE15 440
C DE15 450
DIMENSION Y(1),Z(1) DE15 460
DOUBLE PRECISION Y,Z,A,B,C DE15 470
C DE15 480
C TEST OF DIMENSION DE15 490
IF(NDIM-5)3,1,1 DE15 500
C DE15 510
C PREPARE LOOP DE15 520
1 A=Y(1)+Y(1) DE15 530
C=Y(2)+Y(2) DE15 540
B=.2D0*(A+Y(1)+C+Y(3)-Y(5)) DE15 550
C=.1D0*(A+A+C+Y(2)+Y(3)+Y(3)+Y(4)) DE15 560
C DE15 570
C START LOOP DE15 580
DO 2 I=5,NDIM DE15 590
A=B DE15 600
B=C DE15 610
C=.2D0*(Y(I-4)+Y(I-3)+Y(I-2)+Y(I-1)+Y(I)) DE15 620
2 Z(I-4)=A DE15 630
C END OF LOOP DE15 640
C DE15 650
C UPDATE LAST FOUR COMPONENTS DE15 660
A=Y(NDIM)+Y(NDIM) DE15 670
0A=.1D0*(A+A+Y(NDIM-1)+Y(NDIM-1)+Y(NDIM-1)+Y(NDIM-2)+Y(NDIM-2) DE15 680
1 +Y(NDIM-3)) DE15 690
Z(NDIM-3)=B DE15 700
Z(NDIM-2)=C DE15 710
Z(NDIM-1)=A DE15 720
Z(NDIM)=A+A-C DE15 730
IER=0 DE15 740
RETURN DE15 750
C DE15 760
C ERROR EXIT IN CASE NDIM IS LESS THAN 5 DE15 770
3 IER=-1 DE15 780
RETURN DE15 790
END DE15 800