Contents


NAME

     zsttrf - compute the factorization of  a  complex  Hermitian
     tridiagonal matrix A

SYNOPSIS

     SUBROUTINE ZSTTRF(N, L, D, SUBL, IPIV, INFO)

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

     SUBROUTINE ZSTTRF_64(N, L, D, SUBL, IPIV, INFO)

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

  F95 INTERFACE
     SUBROUTINE STTRF([N], L, D, SUBL, IPIV, [INFO])

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

     SUBROUTINE STTRF_64([N], L, D, SUBL, IPIV, [INFO])

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

  C INTERFACE
     #include <sunperf.h>

     void zsttrf(int n, doublecomplex *l, doublecomplex *d, doub-
               lecomplex *subl, int *ipiv, int *info);

     void zsttrf_64(long n, doublecomplex *l,  doublecomplex  *d,
               doublecomplex *subl, long *ipiv, long *info);

PURPOSE

     zsttrf computes the L*D*L**H factorization of a complex Her-
     mitian tridiagonal matrix A.

ARGUMENTS

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

     L (input/output)
                COMPLEX array, dimension (N)
               On entry, the n-1 subdiagonal elements of the tri-
               diagonal  matrix A.  On exit, part of the factori-
               zation of A.

     D (input/output)
                REAL array, dimension (N)
               On entry, the n diagonal elements of the tridiago-
               nal matrix A.  On exit, the n diagonal elements of
               the diagonal matrix D from the factorization of A.

     SUBL (output)
                COMPLEX array, dimension (N)
               On exit, part of the factorization of A.

     IPIV (output)
                INTEGER array, dimension (N)
               On exit, the pivot indices of the factorization.

     INFO (output)
                INTEGER
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille-
               gal value
               > 0:  if INFO = i, D(k,k) is  exactly  zero.   The
               factorization  has  been  completed, but the block
               diagonal matrix D is exactly singular and division
               by zero will occur if it is used to solve a system
               of equations.