spstrf.f(3)

NAME
spstrf.f

SYNOPSIS

  Functions/Subroutines
subroutine spstrf (UPLO, N, A, LDA, PIV, RANK, TOL, WORK, INFO)
SPSTRF computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix.

Function/Subroutine Documentation

  subroutine spstrf (character UPLO, integer N, real, dimension( lda, * ) A, integer LDA, integer, dimension( n ) PIV, integer RANK, real TOL, real, dimension( 2*n ) WORK, integer INFO)

Purpose:

     SPSTRF computes the Cholesky factorization with complete
     pivoting of a real symmetric positive semidefinite matrix A.
     The factorization has the form
        P**T * A * P = U**T * U ,  if UPLO = 'U',
        P**T * A * P = L  * L**T,  if UPLO = 'L',
     where U is an upper triangular matrix and L is lower triangular, and
     P is stored as vector PIV.
     This algorithm does not attempt to check that A is positive
     semidefinite. This version of the algorithm calls level 3 BLAS.

Parameters
    UPLO

              UPLO is CHARACTER*1
              Specifies whether the upper or lower triangular part of the
              symmetric matrix A is stored.
              = 'U':  Upper triangular
              = 'L':  Lower triangular

    N

              N is INTEGER
              The order of the matrix A.  N >= 0.

    A

              A is REAL array, dimension (LDA,N)
              On entry, the symmetric matrix A.  If UPLO = 'U', the leading
              n by n upper triangular part of A contains 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
              triangular 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 as above.

    LDA

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

    PIV

              PIV is INTEGER array, dimension (N)
              PIV is such that the nonzero entries are P( PIV(K), K ) = 1.

    RANK

              RANK is INTEGER
              The rank of A given by the number of steps the algorithm
              completed.

    TOL

              TOL is REAL
              User defined tolerance. If TOL < 0, then N*U*MAX( A(K,K) )
              will be used. The algorithm terminates at the (K-1)st step
              if the pivot <= TOL.

    WORK

              WORK is REAL array, dimension (2*N)
              Work space.

    INFO

              INFO is INTEGER
              < 0: If INFO = -K, the K-th argument had an illegal value,
              = 0: algorithm completed successfully, and
              > 0: the matrix A is either rank deficient with computed rank
                   as returned in RANK, or is not positive semidefinite. See
                   Section 7 of LAPACK Working Note #161 for further
                   information.

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 140 of file spstrf.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.