Contents


NAME

     spotrf - compute the Cholesky factorization of a  real  sym-
     metric positive definite matrix A

SYNOPSIS

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

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

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

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

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

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

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

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

  C INTERFACE
     #include <sunperf.h>

     void spotrf(char uplo, int n, float *a, int lda, int *info);

     void spotrf_64(char uplo, long n, float *a, long  lda,  long
               *info);

PURPOSE

     spotrf computes the Cholesky factorization of  a  real  sym-
     metric positive definite matrix A.

     The factorization has the form
        A = U**T * U,  if UPLO = 'U', or
        A = L  * L**T,  if UPLO = 'L',
     where U is  an  upper  triangular  matrix  and  L  is  lower
     triangular.

     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 symmetric 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**T*U or A = L*L**T.

     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.