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