# cpstf2.f - Man Page

SRC/cpstf2.f

## Synopsis

### Functions/Subroutines

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.

## Function/Subroutine 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

NAG Ltd.

Definition at line 141 of file cpstf2.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page cpstf2(3) is an alias of cpstf2.f(3).

Tue Nov 28 2023 12:08:41 Version 3.12.0 LAPACK