--- 
:name: zpbsv
:md5sum: 623d43399d1b4bef8bd502dca8eb4707
:category: :subroutine
:arguments: 
- uplo: 
    :type: char
    :intent: input
- n: 
    :type: integer
    :intent: input
- kd: 
    :type: integer
    :intent: input
- nrhs: 
    :type: integer
    :intent: input
- ab: 
    :type: doublecomplex
    :intent: input/output
    :dims: 
    - ldab
    - n
- ldab: 
    :type: integer
    :intent: input
- b: 
    :type: doublecomplex
    :intent: input/output
    :dims: 
    - ldb
    - nrhs
- ldb: 
    :type: integer
    :intent: input
- info: 
    :type: integer
    :intent: output
:substitutions: {}

:fortran_help: "      SUBROUTINE ZPBSV( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  ZPBSV computes the solution to a complex system of linear equations\n\
  *     A * X = B,\n\
  *  where A is an N-by-N Hermitian positive definite band matrix and X\n\
  *  and B are N-by-NRHS matrices.\n\
  *\n\
  *  The Cholesky decomposition is used to factor A as\n\
  *     A = U**H * U,  if UPLO = 'U', or\n\
  *     A = L * L**H,  if UPLO = 'L',\n\
  *  where U is an upper triangular band matrix, and L is a lower\n\
  *  triangular band matrix, with the same number of superdiagonals or\n\
  *  subdiagonals as A.  The factored form of A is then used to solve the\n\
  *  system of equations A * X = B.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  UPLO    (input) CHARACTER*1\n\
  *          = 'U':  Upper triangle of A is stored;\n\
  *          = 'L':  Lower triangle of A is stored.\n\
  *\n\
  *  N       (input) INTEGER\n\
  *          The number of linear equations, i.e., the order of the\n\
  *          matrix A.  N >= 0.\n\
  *\n\
  *  KD      (input) INTEGER\n\
  *          The number of superdiagonals of the matrix A if UPLO = 'U',\n\
  *          or the number of subdiagonals if UPLO = 'L'.  KD >= 0.\n\
  *\n\
  *  NRHS    (input) INTEGER\n\
  *          The number of right hand sides, i.e., the number of columns\n\
  *          of the matrix B.  NRHS >= 0.\n\
  *\n\
  *  AB      (input/output) COMPLEX*16 array, dimension (LDAB,N)\n\
  *          On entry, the upper or lower triangle of the Hermitian band\n\
  *          matrix A, stored in the first KD+1 rows of the array.  The\n\
  *          j-th column of A is stored in the j-th column of the array AB\n\
  *          as follows:\n\
  *          if UPLO = 'U', AB(KD+1+i-j,j) = A(i,j) for max(1,j-KD)<=i<=j;\n\
  *          if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(N,j+KD).\n\
  *          See below for further details.\n\
  *\n\
  *          On exit, if INFO = 0, the triangular factor U or L from the\n\
  *          Cholesky factorization A = U**H*U or A = L*L**H of the band\n\
  *          matrix A, in the same storage format as A.\n\
  *\n\
  *  LDAB    (input) INTEGER\n\
  *          The leading dimension of the array AB.  LDAB >= KD+1.\n\
  *\n\
  *  B       (input/output) COMPLEX*16 array, dimension (LDB,NRHS)\n\
  *          On entry, the N-by-NRHS right hand side matrix B.\n\
  *          On exit, if INFO = 0, the N-by-NRHS solution matrix X.\n\
  *\n\
  *  LDB     (input) INTEGER\n\
  *          The leading dimension of the array B.  LDB >= max(1,N).\n\
  *\n\
  *  INFO    (output) INTEGER\n\
  *          = 0:  successful exit\n\
  *          < 0:  if INFO = -i, the i-th argument had an illegal value\n\
  *          > 0:  if INFO = i, the leading minor of order i of A is not\n\
  *                positive definite, so the factorization could not be\n\
  *                completed, and the solution has not been computed.\n\
  *\n\n\
  *  Further Details\n\
  *  ===============\n\
  *\n\
  *  The band storage scheme is illustrated by the following example, when\n\
  *  N = 6, KD = 2, and UPLO = 'U':\n\
  *\n\
  *  On entry:                       On exit:\n\
  *\n\
  *      *    *   a13  a24  a35  a46      *    *   u13  u24  u35  u46\n\
  *      *   a12  a23  a34  a45  a56      *   u12  u23  u34  u45  u56\n\
  *     a11  a22  a33  a44  a55  a66     u11  u22  u33  u44  u55  u66\n\
  *\n\
  *  Similarly, if UPLO = 'L' the format of A is as follows:\n\
  *\n\
  *  On entry:                       On exit:\n\
  *\n\
  *     a11  a22  a33  a44  a55  a66     l11  l22  l33  l44  l55  l66\n\
  *     a21  a32  a43  a54  a65   *      l21  l32  l43  l54  l65   *\n\
  *     a31  a42  a53  a64   *    *      l31  l42  l53  l64   *    *\n\
  *\n\
  *  Array elements marked * are not used by the routine.\n\
  *\n\
  *  =====================================================================\n\
  *\n\
  *     .. External Functions ..\n      LOGICAL            LSAME\n      EXTERNAL           LSAME\n\
  *     ..\n\
  *     .. External Subroutines ..\n      EXTERNAL           XERBLA, ZPBTRF, ZPBTRS\n\
  *     ..\n\
  *     .. Intrinsic Functions ..\n      INTRINSIC          MAX\n\
  *     ..\n"
