1ZPSTRF(1) LAPACK routine (version 3.2) ZPSTRF(1)
2
3
4
6 ZPSTRF - computes the Cholesky factorization with complete pivoting of
7 a complex Hermitian positive semidefinite matrix A
8
10 SUBROUTINE ZPSTRF( UPLO, N, A, LDA, PIV, RANK, TOL, WORK, INFO )
11
12 DOUBLE PRECISION TOL
13
14 INTEGER INFO, LDA, N, RANK
15
16 CHARACTER UPLO
17
18 COMPLEX*16 A( LDA, * )
19
20 DOUBLE PRECISION WORK( 2*N )
21
22 INTEGER PIV( N )
23
25 ZPSTRF computes the Cholesky factorization with complete pivoting of a
26 complex Hermitian positive semidefinite matrix A. The factorization
27 has the form
28 P' * A * P = U' * U , if UPLO = 'U',
29 P' * A * P = L * L', if UPLO = 'L',
30 where U is an upper triangular matrix and L is lower triangular, and P
31 is stored as vector PIV.
32 This algorithm does not attempt to check that A is positive semidefi‐
33 nite. This version of the algorithm calls level 3 BLAS.
34
36 UPLO (input) CHARACTER*1
37 Specifies whether the upper or lower triangular part of the
38 symmetric matrix A is stored. = 'U': Upper triangular
39 = 'L': Lower triangular
40
41 N (input) INTEGER
42 The order of the matrix A. N >= 0.
43
44 A (input/output) COMPLEX*16 array, dimension (LDA,N)
45 On entry, the symmetric matrix A. If UPLO = 'U', the leading n
46 by n upper triangular part of A contains the upper triangular
47 part of the matrix A, and the strictly lower triangular part of
48 A is not referenced. If UPLO = 'L', the leading n by n lower
49 triangular part of A contains the lower triangular part of the
50 matrix A, and the strictly upper triangular part of A is not
51 referenced. On exit, if INFO = 0, the factor U or L from the
52 Cholesky factorization as above.
53
54 PIV (output) INTEGER array, dimension (N)
55 PIV is such that the nonzero entries are P( PIV(K), K ) = 1.
56
57 RANK (output) INTEGER
58 The rank of A given by the number of steps the algorithm com‐
59 pleted.
60
61 TOL (input) DOUBLE PRECISION
62 User defined tolerance. If TOL < 0, then N*U*MAX( A(K,K) ) will
63 be used. The algorithm terminates at the (K-1)st step if the
64 pivot <= TOL.
65
66 LDA (input) INTEGER
67 The leading dimension of the array A. LDA >= max(1,N).
68
69 WORK DOUBLE PRECISION array, dimension (2*N)
70 Work space.
71
72 INFO (output) INTEGER
73 < 0: If INFO = -K, the K-th argument had an illegal value,
74 = 0: algorithm completed successfully, and
75 > 0: the matrix A is either rank deficient with computed rank
76 as returned in RANK, or is indefinite. See Section 7 of LAPACK
77 Working Note #161 for further information.
78
79
80
81 LAPACK routine (version 3.2) November 2008 ZPSTRF(1)