cpttrf


NAME

cpttrf - compute the L*D*L' factorization of a complex Hermitian positive definite tridiagonal matrix A


SYNOPSIS

  SUBROUTINE CPTTRF( N, DIAG, OFFD, INFO)
  COMPLEX OFFD(*)
  INTEGER N, INFO
  REAL DIAG(*)
 
  SUBROUTINE CPTTRF_64( N, DIAG, OFFD, INFO)
  COMPLEX OFFD(*)
  INTEGER*8 N, INFO
  REAL DIAG(*)
 

F95 INTERFACE

  SUBROUTINE PTTRF( [N], DIAG, OFFD, [INFO])
  COMPLEX, DIMENSION(:) :: OFFD
  INTEGER :: N, INFO
  REAL, DIMENSION(:) :: DIAG
 
  SUBROUTINE PTTRF_64( [N], DIAG, OFFD, [INFO])
  COMPLEX, DIMENSION(:) :: OFFD
  INTEGER(8) :: N, INFO
  REAL, DIMENSION(:) :: DIAG
 

C INTERFACE

#include <sunperf.h>

void cpttrf(int n, float *diag, complex *offd, int *info);

void cpttrf_64(long n, float *diag, complex *offd, long *info);


PURPOSE

cpttrf computes the L*D*L' factorization of a complex Hermitian positive definite tridiagonal matrix A. The factorization may also be regarded as having the form A = U'*D*U.


ARGUMENTS

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

* DIAG (input/output)
On entry, the n diagonal elements of the tridiagonal matrix A. On exit, the n diagonal elements of the diagonal matrix DIAG from the L*DIAG*L' factorization of A.

* OFFD (input/output)
On entry, the (n-1) subdiagonal elements of the tridiagonal matrix A. On exit, the (n-1) subdiagonal elements of the unit bidiagonal factor L from the L*DIAG*L' factorization of A. OFFD can also be regarded as the superdiagonal of the unit bidiagonal factor U from the U'*DIAG*U factorization of A.

* INFO (output)