Contents


NAME

     dsttrs - computes the solution to a real  system  of  linear
     equations A * X = B

SYNOPSIS

     SUBROUTINE DSTTRS(N, NRHS, L, D, SUBL, B, LDB, IPIV, INFO)

     INTEGER N, NRHS, LDB, INFO
     INTEGER IPIV(*)
     DOUBLE PRECISION L(*), D(*), SUBL(*), B(LDB,*)

     SUBROUTINE DSTTRS_64(N, NRHS, L, D, SUBL, B, LDB, IPIV, INFO)

     INTEGER*8 N, NRHS, LDB, INFO
     INTEGER*8 IPIV(*)
     DOUBLE PRECISION L(*), D(*), SUBL(*), B(LDB,*)

  F95 INTERFACE
     SUBROUTINE STTRS(N, NRHS, L, D, SUBL, B, [LDB], IPIV, [INFO])

     INTEGER :: N, NRHS, LDB, INFO
     INTEGER, DIMENSION(:) :: IPIV
     REAL(8), DIMENSION(:) :: L, D, SUBL
     REAL(8), DIMENSION(:,:) :: B

     SUBROUTINE STTRS_64(N, NRHS, L, D, SUBL, B, [LDB], IPIV, [INFO])

     INTEGER(8) :: N, NRHS, LDB, INFO
     INTEGER(8), DIMENSION(:) :: IPIV
     REAL(8), DIMENSION(:) :: L, D, SUBL
     REAL(8), DIMENSION(:,:) :: B

  C INTERFACE
     #include <sunperf.h>

     void dsttrs(int n, int nrhs, double *l,  double  *d,  double
               *subl, double *b, int ldb, int *ipiv, int *info);

     void dsttrs_64(long n, long nrhs, double *l, double *d, dou-
               ble  *subl,  double *b, long ldb, long *ipiv, long
               *info);

PURPOSE

     dsttrs computes the solution to  a  real  system  of  linear
     equations A * X = B, where A is an N-by-N symmetric tridiag-
     onal matrix and X and B are N-by-NRHS matrices.

ARGUMENTS

     N (input)  INTEGER
               The order of the matrix A.  N >= 0.

     NRHS (input)
                INTEGER
               The number of right hand sides, i.e.,  the  number
               of columns of the matrix B. NRHS >= 0.

     L (input)  REAL array, dimension (N-1)
               On entry, the subdiagonal elements of LL and DD.

     D (input)  REAL array, dimension (N)
               On entry, the diagonal elements of DD.

     SUBL (input)
                REAL array, dimension (N-2)
               On entry, the second subdiagonal elements of LL.

     B (input/output)
                REAL array, dimension
               (LDB, NRHS) On entry,  the  N-by-NRHS  right  hand
               side  matrix  B.   On exit, if INFO = 0, the N-by-
               NRHS solution matrix X.

     LDB (input)
                INTEGER
               The leading dimension of  the  array  B.   LDB  >=
               max(1, N)

     IPIV (output)
                INTEGER array, dimension (N)
               Details of the interchanges and block  pivot.   If
               IPIV(K)  > 0, 1 by 1 pivot, and if IPIV(K) = K + 1
               an interchange done;  If  IPIV(K)  <  0,  2  by  2
               pivot, no interchange required.

     INFO (output)
                INTEGER
               = 0:  successful exit
               < 0:  if INFO = -k, the k-th argument had an ille-
               gal value