Contents
csttrf - compute the factorization of a complex symmetric
tridiagonal matrix A using the Bunch-Kaufman diagonal pivot-
ing method
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);
csttrf computes the L*D*L' factorization of a complex sym-
metric tridiagonal matrix A using the Bunch-Kaufman diagonal
pivoting method.
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.