1CHEEQUB(1) LAPACK routine (version 3.2) CHEEQUB(1)
2
3
4
6 CHEEQUB - 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 CHEEQUB( UPLO, N, A, LDA, S, SCOND, AMAX, WORK, INFO )
12
13 IMPLICIT NONE
14
15 INTEGER INFO, LDA, N
16
17 REAL AMAX, SCOND
18
19 CHARACTER UPLO
20
21 COMPLEX A( LDA, * ), WORK( * )
22
23 REAL S( * )
24
26 CSYEQUB 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 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) REAL array, dimension (N)
46 If INFO = 0, S contains the scale factors for A.
47
48 SCOND (output) REAL
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) REAL
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 CHEEQUB(1)