Contents


NAME

     zsttrs - computes the solution to a complex system of linear
     equations A * X = B

SYNOPSIS

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

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

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

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

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

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

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

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

  C INTERFACE
     #include <sunperf.h>

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

     void zsttrs_64(long n, long nrhs,  doublecomplex  *l,  doub-
               lecomplex  *d,  doublecomplex *subl, doublecomplex
               *b, long ldb, long *ipiv, long *info);

PURPOSE

     zsttrs computes the solution to a complex system  of  linear
     equations  A  *  X  =  B,  where  A  is  an N-by-N symmetric
     tridiagonal 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)  COMPLEX array, dimension (N-1)
               On entry, the subdiagonal elements of L.

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

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

     B (input/output)
                COMPLEX 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