CPBTRF  -  compute the Cholesky factorization of a complex
       Hermitian positive definite band matrix A


SYNOPSIS

       SUBROUTINE CPBTRF( UPLO, N, KD, AB, LDAB, INFO )

           CHARACTER      UPLO

           INTEGER        INFO, KD, LDAB, N

           COMPLEX        AB( LDAB, * )


PURPOSE

       CPBTRF computes the Cholesky factorization  of  a  complex
       Hermitian positive definite band matrix A.  The factoriza­
       tion has the form
          A = U**H * U,  if UPLO = 'U', or
          A = L  * L**H,  if UPLO = 'L',
       where U is an upper triangular matrix and L is lower  tri­
       angular.


ARGUMENTS

       UPLO    (input) CHARACTER*1
               = 'U':  Upper triangle of A is stored;
               = 'L':  Lower triangle of A is stored.

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

       KD      (input) INTEGER
               The  number  of  superdiagonals of the matrix A if
               UPLO = 'U', or the number of subdiagonals if  UPLO
               = 'L'.  KD >= 0.

       AB      (input/output) COMPLEX array, dimension (LDAB,N)
               On  entry, the upper or lower triangle of the Her­
               mitian band matrix A, stored  in  the  first  KD+1
               rows of the array.  The j-th column of A is stored
               in the j-th column of the array AB as follows:  if
               UPLO  =  'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-
               kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j)    =  A(i,j)
               for j<=i<=min(n,j+kd).

               On exit, if INFO = 0, the triangular factor U or L
               from the Cholesky factorization A = U**H*U or A  =
               L*L**H  of  the band matrix A, in the same storage
               format as A.

       LDAB    (input) INTEGER
               The leading dimension of the array  AB.   LDAB  >=
               KD+1.

               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille­
               gal value
               > 0:  if INFO = i, the leading minor of order i is
               not positive definite, and the factorization could
               not be completed.


FURTHER DETAILS

       The band storage scheme is illustrated  by  the  following
       example, when N = 6, KD = 2, and UPLO = 'U':

       On entry:                       On exit:

           *     *    a13   a24   a35  a46      *    *   u13  u24
       u35  u46
           *   a12  a23  a34  a45  a56       *    u12   u23   u34
       u45  u56
          a11   a22   a33   a44   a55  a66     u11  u22  u33  u44
       u55  u66

       Similarly, if UPLO = 'L' the format of A is as follows:

       On entry:                       On exit:

          a11  a22  a33  a44  a55  a66      l11   l22   l33   l44
       l55  l66
          a21   a32   a43   a54   a65   *      l21  l32  l43  l54
       l65   *
          a31  a42  a53  a64   *    *      l31  l42  l53  l64   *
       *

       Array elements marked * are not used by the routine.

       Contributed by
       Peter  Mayes and Giuseppe Radicati, IBM ECSEC, Rome, March
       23, 1989


Man(1) output converted with man2html