dpstrf (l) - Linux Manuals

dpstrf: computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix A

NAME

DPSTRF - computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix A

SYNOPSIS

SUBROUTINE DPSTRF(
UPLO, N, A, LDA, PIV, RANK, TOL, WORK, INFO )

    
DOUBLE PRECISION TOL

    
INTEGER INFO, LDA, N, RANK

    
CHARACTER UPLO

    
DOUBLE PRECISION A( LDA, * ), WORK( 2*N )

    
INTEGER PIV( N )

PURPOSE

DPSTRF computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix A. The factorization has the form

Paq Uaq U ,  if UPLO aqUaq,

Paq  Laq,  if UPLO aqLaq,
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.

ARGUMENTS

UPLO (input) CHARACTER*1
Specifies whether the upper or lower triangular part of the symmetric matrix A is stored. = aqUaq: Upper triangular
= aqLaq: Lower triangular
N (input) INTEGER
The order of the matrix A. N >= 0.
A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
On entry, the symmetric matrix A. If UPLO = aqUaq, 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 = aqLaq, 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.
PIV (output) INTEGER array, dimension (N)
PIV is such that the nonzero entries are P( PIV(K), K ) = 1.
RANK (output) INTEGER
The rank of A given by the number of steps the algorithm completed.
TOL (input) DOUBLE PRECISION
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.
LDA (input) INTEGER
The leading dimension of the array A. LDA >= max(1,N).
WORK DOUBLE PRECISION array, dimension (2*N)
Work space.
INFO (output) 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 indefinite. See Section 7 of LAPACK Working Note #161 for further information.