1ZPPEQU(1) LAPACK routine (version 3.1) ZPPEQU(1)
2
3
4
6 ZPPEQU - row and column scalings intended to equilibrate a Hermitian
7 positive definite matrix A in packed storage and reduce its condition
8 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
32
34 UPLO (input) CHARACTER*1
35 = 'U': Upper triangle of A is stored;
36 = 'L': Lower triangle of A is stored.
37
38 N (input) INTEGER
39 The order of the matrix A. N >= 0.
40
41 AP (input) COMPLEX*16 array, dimension (N*(N+1)/2)
42 The upper or lower triangle of the Hermitian matrix A, packed
43 columnwise in a linear array. The j-th column of A is stored
44 in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) =
45 A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) =
46 A(i,j) for j<=i<=n.
47
48 S (output) DOUBLE PRECISION array, dimension (N)
49 If INFO = 0, S contains the scale factors for A.
50
51 SCOND (output) DOUBLE PRECISION
52 If INFO = 0, S contains the ratio of the smallest S(i) to the
53 largest S(i). If SCOND >= 0.1 and AMAX is neither too large
54 nor too small, it is not worth scaling by S.
55
56 AMAX (output) DOUBLE PRECISION
57 Absolute value of largest matrix element. If AMAX is very
58 close to overflow or very close to underflow, the matrix should
59 be scaled.
60
61 INFO (output) INTEGER
62 = 0: successful exit
63 < 0: if INFO = -i, the i-th argument had an illegal value
64 > 0: if INFO = i, the i-th diagonal element is nonpositive.
65
66
67
68 LAPACK routine (version 3.1) November 2006 ZPPEQU(1)