1ZPPEQU(1) LAPACK routine (version 3.2) ZPPEQU(1)
2
3
4
6 ZPPEQU - computes row and column scalings intended to equilibrate a
7 Hermitian positive definite matrix A in packed storage and reduce its
8 condition number (with respect to the two-norm)
9
11 SUBROUTINE ZPPEQU( UPLO, N, AP, S, SCOND, AMAX, INFO )
12
13 CHARACTER UPLO
14
15 INTEGER INFO, N
16
17 DOUBLE PRECISION AMAX, SCOND
18
19 DOUBLE PRECISION S( * )
20
21 COMPLEX*16 AP( * )
22
24 ZPPEQU computes row and column scalings intended to equilibrate a Her‐
25 mitian positive definite matrix A in packed storage and reduce its con‐
26 dition number (with respect to the two-norm). S contains the scale
27 factors, S(i)=1/sqrt(A(i,i)), chosen so that the scaled matrix B with
28 elements B(i,j)=S(i)*A(i,j)*S(j) has ones on the diagonal. This choice
29 of S puts the condition number of B within a factor N of the smallest
30 possible condition number over all possible diagonal scalings.
31
33 UPLO (input) CHARACTER*1
34 = 'U': Upper triangle of A is stored;
35 = 'L': Lower triangle of A is stored.
36
37 N (input) INTEGER
38 The order of the matrix A. N >= 0.
39
40 AP (input) COMPLEX*16 array, dimension (N*(N+1)/2)
41 The upper or lower triangle of the Hermitian matrix A, packed
42 columnwise in a linear array. The j-th column of A is stored
43 in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) =
44 A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) =
45 A(i,j) for j<=i<=n.
46
47 S (output) DOUBLE PRECISION array, dimension (N)
48 If INFO = 0, S contains the scale factors for A.
49
50 SCOND (output) DOUBLE PRECISION
51 If INFO = 0, S contains the ratio of the smallest S(i) to the
52 largest S(i). If SCOND >= 0.1 and AMAX is neither too large
53 nor too small, it is not worth scaling by S.
54
55 AMAX (output) DOUBLE PRECISION
56 Absolute value of largest matrix element. If AMAX is very
57 close to overflow or very close to underflow, the matrix should
58 be scaled.
59
60 INFO (output) INTEGER
61 = 0: successful exit
62 < 0: if INFO = -i, the i-th argument had an illegal value
63 > 0: if INFO = i, the i-th diagonal element is nonpositive.
64
65
66
67 LAPACK routine (version 3.2) November 2008 ZPPEQU(1)