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