1ZSYEQUB(1) LAPACK routine (version 3.2) ZSYEQUB(1)
2
3
4
6 ZSYEQUB - computes row and column scalings intended to equilibrate a
7 symmetric matrix A and reduce its condition number (with respect to the
8 two-norm)
9
11 SUBROUTINE ZSYEQUB( UPLO, N, A, LDA, S, SCOND, AMAX, WORK, INFO )
12
13 IMPLICIT NONE
14
15 INTEGER INFO, LDA, N
16
17 DOUBLE PRECISION AMAX, SCOND
18
19 CHARACTER UPLO
20
21 COMPLEX*16 A( LDA, * ), WORK( * )
22
23 DOUBLE PRECISION S( * )
24
26 ZSYEQUB computes row and column scalings intended to equilibrate a sym‐
27 metric matrix A and reduce its condition number (with respect to the
28 two-norm). S contains the scale factors, S(i) = 1/sqrt(A(i,i)), chosen
29 so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has
30 ones on the diagonal. This choice of S puts the condition number of B
31 within a factor N of the smallest possible condition number over all
32 possible diagonal scalings.
33
35 N (input) INTEGER
36 The order of the matrix A. N >= 0.
37
38 A (input) COMPLEX*16 array, dimension (LDA,N)
39 The N-by-N symmetric matrix whose scaling factors are to be
40 computed. Only the diagonal elements of A are referenced.
41
42 LDA (input) INTEGER
43 The leading dimension of the array A. LDA >= max(1,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. INFO (output) INTEGER = 0: successful exit
57 < 0: if INFO = -i, the i-th argument had an illegal value
58 > 0: if INFO = i, the i-th diagonal element is nonpositive.
59
60
61
62 LAPACK routine (version 3.2) November 2008 ZSYEQUB(1)