# pstf2 - Man Page

pstf2: triangular factor, with pivoting panel, level 2

## Synopsis

### Functions

subroutine **cpstf2** (uplo, n, a, lda, piv, rank, tol, work, info)**CPSTF2** computes the Cholesky factorization with complete pivoting of complex Hermitian positive semidefinite matrix.

subroutine **dpstf2** (uplo, n, a, lda, piv, rank, tol, work, info)**DPSTF2** computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix.

subroutine **spstf2** (uplo, n, a, lda, piv, rank, tol, work, info)**SPSTF2** computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix.

subroutine **zpstf2** (uplo, n, a, lda, piv, rank, tol, work, info)**ZPSTF2** computes the Cholesky factorization with complete pivoting of a complex Hermitian positive semidefinite matrix.

## Detailed Description

## Function Documentation

### subroutine cpstf2 (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( n ) piv, integer rank, real tol, real, dimension( 2*n ) work, integer info)

**CPSTF2** computes the Cholesky factorization with complete pivoting of complex Hermitian positive semidefinite matrix.

**Purpose:**

CPSTF2 computes the Cholesky factorization with complete pivoting of a complex Hermitian positive semidefinite matrix A. The factorization has the form P**T * A * P = U**H * U , if UPLO = 'U', P**T * A * P = L * L**H, 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 2 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 COMPLEX 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.

*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.

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

*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 **141** of file **cpstf2.f**.

### subroutine dpstf2 (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( n ) piv, integer rank, double precision tol, double precision, dimension( 2*n ) work, integer info)

**DPSTF2** computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix.

**Purpose:**

DPSTF2 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 2 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 DOUBLE PRECISION 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.

*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 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*LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N).

*WORK*WORK is DOUBLE PRECISION 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 **dpstf2.f**.

### subroutine spstf2 (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)

**SPSTF2** computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix.

**Purpose:**

SPSTF2 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 2 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.

*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.

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

*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 **spstf2.f**.

### subroutine zpstf2 (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( n ) piv, integer rank, double precision tol, double precision, dimension( 2*n ) work, integer info)

**ZPSTF2** computes the Cholesky factorization with complete pivoting of a complex Hermitian positive semidefinite matrix.

**Purpose:**

ZPSTF2 computes the Cholesky factorization with complete pivoting of a complex Hermitian positive semidefinite matrix A. The factorization has the form P**T * A * P = U**H * U , if UPLO = 'U', P**T * A * P = L * L**H, 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 2 BLAS.

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

*A*A is COMPLEX*16 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.

*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 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*LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N).

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

*INFO***Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **141** of file **zpstf2.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.