Contents


NAME

     csttrf - compute the factorization of  a  complex  symmetric
     tridiagonal matrix A using the Bunch-Kaufman diagonal pivot-
     ing method

SYNOPSIS

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

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

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

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

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

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

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

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

  C INTERFACE
     #include <sunperf.h>

     void csttrf(int n, complex *l, complex  *d,  complex  *subl,
               int *ipiv, int *info);

     void csttrf_64(long  n,  complex  *l,  complex  *d,  complex
               *subl, long *ipiv, long *info);

PURPOSE

     csttrf computes the L*D*L' factorization of a  complex  sym-
     metric tridiagonal matrix A using the Bunch-Kaufman diagonal
     pivoting method.

ARGUMENTS

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

     L (input/output)
                COMPLEX array, dimension (N-1)
               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-2)
               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.