Contents


NAME

     zpptrs - solve a system of linear equations A*X = B  with  a
     Hermitian positive definite matrix A in packed storage using
     the Cholesky factorization A = U**H*U or A = L*L**H computed
     by CPPTRF

SYNOPSIS

     SUBROUTINE ZPPTRS(UPLO, N, NRHS, A, B, LDB, INFO)

     CHARACTER * 1 UPLO
     DOUBLE COMPLEX A(*), B(LDB,*)
     INTEGER N, NRHS, LDB, INFO

     SUBROUTINE ZPPTRS_64(UPLO, N, NRHS, A, B, LDB, INFO)

     CHARACTER * 1 UPLO
     DOUBLE COMPLEX A(*), B(LDB,*)
     INTEGER*8 N, NRHS, LDB, INFO

  F95 INTERFACE
     SUBROUTINE PPTRS(UPLO, [N], [NRHS], A, B, [LDB], [INFO])

     CHARACTER(LEN=1) :: UPLO
     COMPLEX(8), DIMENSION(:) :: A
     COMPLEX(8), DIMENSION(:,:) :: B
     INTEGER :: N, NRHS, LDB, INFO

     SUBROUTINE PPTRS_64(UPLO, [N], [NRHS], A, B, [LDB], [INFO])

     CHARACTER(LEN=1) :: UPLO
     COMPLEX(8), DIMENSION(:) :: A
     COMPLEX(8), DIMENSION(:,:) :: B
     INTEGER(8) :: N, NRHS, LDB, INFO

  C INTERFACE
     #include <sunperf.h>

     void zpptrs(char uplo, int n, int  nrhs,  doublecomplex  *a,
               doublecomplex *b, int ldb, int *info);

     void zpptrs_64(char uplo, long n, long  nrhs,  doublecomplex
               *a, doublecomplex *b, long ldb, long *info);

PURPOSE

     zpptrs solves a system of linear equations A*X =  B  with  a
     Hermitian positive definite matrix A in packed storage using
     the Cholesky factorization A = U**H*U or A = L*L**H computed
     by CPPTRF.

ARGUMENTS

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

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

     NRHS (input)
               The number of right hand sides, i.e.,  the  number
               of columns of the matrix B.  NRHS >= 0.

     A (input) COMPLEX*16 array, dimension (N*(N+1)/2)
               The triangular factor U or  L  from  the  Cholesky
               factorization  A  =  U**H*U  or A = L*L**H, packed
               columnwise in a linear array.  The j-th column  of
               U  or  L  is stored in the array A as follows:  if
               UPLO = 'U', A(i + (j-1)*j/2) = U(i,j) for 1<=i<=j;
               if  UPLO = 'L', A(i + (j-1)*(2n-j)/2) = L(i,j) for
               j<=i<=n.

     B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
               On entry, the right hand side matrix B.  On  exit,
               the solution matrix X.

     LDB (input)
               The leading dimension of  the  array  B.   LDB  >=
               max(1,N).

     INFO (output)
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille-
               gal value