1DGBEQU(1) LAPACK routine (version 3.1) DGBEQU(1)
2
3
4
6 DGBEQU - row and column scalings intended to equilibrate an M-by-N band
7 matrix A and reduce its condition number
8
10 SUBROUTINE DGBEQU( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX,
11 INFO )
12
13 INTEGER INFO, KL, KU, LDAB, M, N
14
15 DOUBLE PRECISION AMAX, COLCND, ROWCND
16
17 DOUBLE PRECISION AB( LDAB, * ), C( * ), R( * )
18
20 DGBEQU computes row and column scalings intended to equilibrate an M-
21 by-N band matrix A and reduce its condition number. R returns the row
22 scale factors and C the column scale factors, chosen to try to make the
23 largest element in each row and column of the matrix B with elements
24 B(i,j)=R(i)*A(i,j)*C(j) have absolute value 1.
25
26 R(i) and C(j) are restricted to be between SMLNUM = smallest safe num‐
27 ber and BIGNUM = largest safe number. Use of these scaling factors is
28 not guaranteed to reduce the condition number of A but works well in
29 practice.
30
31
33 M (input) INTEGER
34 The number of rows of the matrix A. M >= 0.
35
36 N (input) INTEGER
37 The number of columns of the matrix A. N >= 0.
38
39 KL (input) INTEGER
40 The number of subdiagonals within the band of A. KL >= 0.
41
42 KU (input) INTEGER
43 The number of superdiagonals within the band of A. KU >= 0.
44
45 AB (input) DOUBLE PRECISION array, dimension (LDAB,N)
46 The band matrix A, stored in rows 1 to KL+KU+1. The j-th col‐
47 umn of A is stored in the j-th column of the array AB as fol‐
48 lows: AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl).
49
50 LDAB (input) INTEGER
51 The leading dimension of the array AB. LDAB >= KL+KU+1.
52
53 R (output) DOUBLE PRECISION array, dimension (M)
54 If INFO = 0, or INFO > M, R contains the row scale factors for
55 A.
56
57 C (output) DOUBLE PRECISION array, dimension (N)
58 If INFO = 0, C contains the column scale factors for A.
59
60 ROWCND (output) DOUBLE PRECISION
61 If INFO = 0 or INFO > M, ROWCND contains the ratio of the
62 smallest R(i) to the largest R(i). If ROWCND >= 0.1 and AMAX
63 is neither too large nor too small, it is not worth scaling by
64 R.
65
66 COLCND (output) DOUBLE PRECISION
67 If INFO = 0, COLCND contains the ratio of the smallest C(i) to
68 the largest C(i). If COLCND >= 0.1, it is not worth scaling by
69 C.
70
71 AMAX (output) DOUBLE PRECISION
72 Absolute value of largest matrix element. If AMAX is very
73 close to overflow or very close to underflow, the matrix should
74 be scaled.
75
76 INFO (output) INTEGER
77 = 0: successful exit
78 < 0: if INFO = -i, the i-th argument had an illegal value
79 > 0: if INFO = i, and i is
80 <= M: the i-th row of A is exactly zero
81 > M: the (i-M)-th column of A is exactly zero
82
83
84
85 LAPACK routine (version 3.1) November 2006 DGBEQU(1)