Contents


NAME

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

SYNOPSIS

     SUBROUTINE CPOTRF(UPLO, N, A, LDA, INFO)

     CHARACTER * 1 UPLO
     COMPLEX A(LDA,*)
     INTEGER N, LDA, INFO

     SUBROUTINE CPOTRF_64(UPLO, N, A, LDA, INFO)

     CHARACTER * 1 UPLO
     COMPLEX A(LDA,*)
     INTEGER*8 N, LDA, INFO

  F95 INTERFACE
     SUBROUTINE POTRF(UPLO, [N], A, [LDA], [INFO])

     CHARACTER(LEN=1) :: UPLO
     COMPLEX, DIMENSION(:,:) :: A
     INTEGER :: N, LDA, INFO

     SUBROUTINE POTRF_64(UPLO, [N], A, [LDA], [INFO])

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

  C INTERFACE
     #include <sunperf.h>

     void cpotrf(char uplo, int  n,  complex  *a,  int  lda,  int
               *info);

     void cpotrf_64(char uplo, long n, complex *a, long lda, long
               *info);

PURPOSE

     cpotrf computes the Cholesky factorization of a complex Her-
     mitian positive definite matrix A.

     The factorization 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.

     This is the block version of the algorithm, calling Level  3
     BLAS.

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.

     A (input/output)
               On entry, the Hermitian matrix A.  If UPLO =  'U',
               the leading N-by-N upper triangular part of A con-
               tains the upper triangular part of the  matrix  A,
               and the strictly lower triangular part of A is not
               referenced.  If UPLO =  'L',  the  leading  N-by-N
               lower triangular part of A contains the lower tri-
               angular part of the matrix  A,  and  the  strictly
               upper triangular part of A is not referenced.

               On exit, if INFO = 0, the factor U or L  from  the
               Cholesky factorization A = U**H*U or A = L*L**H.

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

     INFO (output)
               = 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.