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