SUBROUTINE TSLD1(A1,A2,B,X,C1,C2,M) INTEGER M DOUBLE PRECISION A1(M),A2(1),B(M),X(M),C1(1),C2(1) C C TSLD1 SOLVES THE DOUBLE PRECISION LINEAR SYSTEM C A * X = B C WITH THE T - MATRIX A . C C ON ENTRY C C A1 DOUBLE PRECISION(M) C THE FIRST ROW OF THE T - MATRIX A . C ON RETURN A1 IS UNALTERED . C C A2 DOUBLE PRECISION(M - 1) C THE FIRST COLUMN OF THE T - MATRIX A C BEGINNING WITH THE SECOND ELEMENT . C ON RETURN A2 IS UNALTERED . C C B DOUBLE PRECISION(M) C THE RIGHT HAND SIDE VECTOR . C ON RETURN B IS UNALTERED . C C C1 DOUBLE PRECISION(M - 1) C A WORK VECTOR . C C C2 DOUBLE PRECISION(M - 1) C A WORK VECTOR . C C M INTEGER C THE ORDER OF THE MATRIX A . C C ON RETURN C C X DOUBLE PRECISION(M) C THE SOLUTION VECTOR. X MAY COINCIDE WITH B . C C TOEPLITZ PACKAGE. THIS VERSION DATED 07/23/82 . C C INTERNAL VARIABLES C INTEGER I1,I2,N,N1,N2 DOUBLE PRECISION R1,R2,R3,R5,R6 C C SOLVE THE SYSTEM WITH THE PRINCIPAL MINOR OF ORDER 1 . C R1 = A1(1) X(1) = B(1)/R1 IF (M .EQ. 1) GO TO 80 C C RECURRENT PROCESS FOR SOLVING THE SYSTEM C WITH THE T - MATRIX FOR N = 2, M . C DO 70 N = 2, M C C COMPUTE MULTIPLES OF THE FIRST AND LAST COLUMNS OF C THE INVERSE OF THE PRINCIPAL MINOR OF ORDER N . C N1 = N - 1 N2 = N - 2 R5 = A2(N1) R6 = A1(N) IF (N .EQ. 2) GO TO 20 C1(N1) = R2 DO 10 I1 = 1, N2 I2 = N - I1 R5 = R5 + A2(I1)*C1(I2) R6 = R6 + A1(I1+1)*C2(I1) 10 CONTINUE 20 CONTINUE R2 = -R5/R1 R3 = -R6/R1 R1 = R1 + R5*R3 IF (N .EQ. 2) GO TO 40 R6 = C2(1) C2(N1) = 0.0D0 DO 30 I1 = 2, N1 R5 = C2(I1) C2(I1) = C1(I1)*R3 + R6 C1(I1) = C1(I1) + R6*R2 R6 = R5 30 CONTINUE 40 CONTINUE C2(1) = R3 C C COMPUTE THE SOLUTION OF THE SYSTEM WITH THE C PRINCIPAL MINOR OF ORDER N . C R5 = 0.0D0 DO 50 I1 = 1, N1 I2 = N - I1 R5 = R5 + A2(I1)*X(I2) 50 CONTINUE R6 = (B(N) - R5)/R1 DO 60 I1 = 1, N1 X(I1) = X(I1) + C2(I1)*R6 60 CONTINUE X(N) = R6 70 CONTINUE 80 CONTINUE RETURN END