Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap2_198111 - decus/20-0026/dlaps.ssp
There are 2 other files named dlaps.ssp in the archive. Click here to see a list.
C                                                                       DAPS  10
C     ..................................................................DAPS  20
C                                                                       DAPS  30
C        SUBROUTINE DLAPS                                               DAPS  40
C                                                                       DAPS  50
C        PURPOSE                                                        DAPS  60
C           COMPUTES THE VALUE OF AN N-TERM EXPANSION IN LAGUERRE       DAPS  70
C           POLYNOMIALS WITH COEFFICIENT VECTOR C FOR ARGUMENT VALUE X. DAPS  80
C                                                                       DAPS  90
C        USAGE                                                          DAPS 100
C           CALL DLAPS(Y,X,C,N)                                         DAPS 110
C                                                                       DAPS 120
C        DESCRIPTION OF PARAMETERS                                      DAPS 130
C           Y     - RESULT VALUE                                        DAPS 140
C                   DOUBLE PRECISION VARIABLE                           DAPS 150
C           X     - ARGUMENT VALUE                                      DAPS 160
C                   DOUBLE PRECISION VARIABLE                           DAPS 170
C           C     - COEFFICIENT VECTOR OF GIVEN EXPANSION               DAPS 180
C                   COEFFICIENTS ARE ORDERED FROM LOW TO HIGH           DAPS 190
C                   DOUBLE PRECISION VECTOR                             DAPS 200
C           N     - DIMENSION OF COEFFICIENT VECTOR C                   DAPS 210
C                                                                       DAPS 220
C        REMARKS                                                        DAPS 230
C           OPERATION IS BYPASSED IN CASE N LESS THAN 1                 DAPS 240
C                                                                       DAPS 250
C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED                  DAPS 260
C           NONE                                                        DAPS 270
C                                                                       DAPS 280
C        METHOD                                                         DAPS 290
C           DEFINITION                                                  DAPS 300
C           Y=SUM(C(I)*L(I-1,X), SUMMED OVER I FROM 1 TO N).            DAPS 310
C           EVALUATION IS DONE BY MEANS OF UPWARD RECURSION             DAPS 320
C           USING THE RECURRENCE EQUATION FOR LAGUERRE POLYNOMIALS      DAPS 330
C           L(N+1,X)=2*L(N,X)-L(N-1,X)-((1+X)*L(N,X)-L(N-1,X))/(N+1).   DAPS 340
C                                                                       DAPS 350
C     ..................................................................DAPS 360
C                                                                       DAPS 370
      SUBROUTINE DLAPS(Y,X,C,N)                                         DAPS 380
C                                                                       DAPS 390
      DIMENSION C(1)                                                    DAPS 400
      DOUBLE PRECISION C,Y,X,H0,H1,H2,T                                 DAPS 410
C                                                                       DAPS 420
C        TEST OF DIMENSION                                              DAPS 430
      IF(N)1,1,2                                                        DAPS 440
    1 RETURN                                                            DAPS 450
C                                                                       DAPS 460
    2 Y=C(1)                                                            DAPS 470
      IF(N-2)1,3,3                                                      DAPS 480
C                                                                       DAPS 490
C        INITIALIZATION                                                 DAPS 500
    3 H0=1.D0                                                           DAPS 510
      H1=1.D0-X                                                         DAPS 520
      T=1.D0+X                                                          DAPS 530
      DO 4 I=2,N                                                        DAPS 540
      H2=H1-H0+H1-(T*H1-H0)/DFLOAT(I)                                   DAPS 550
      H0=H1                                                             DAPS 560
      H1=H2                                                             DAPS 570
    4 Y=Y+C(I)*H0                                                       DAPS 580
      RETURN                                                            DAPS 590
      END                                                               DAPS 600