1DLAQGB(1) LAPACK auxiliary routine (version 3.2) DLAQGB(1)
2
3
4
6 DLAQGB - equilibrates a general M by N band matrix A with KL subdiago‐
7 nals and KU superdiagonals using the row and scaling factors in the
8 vectors R and C
9
11 SUBROUTINE DLAQGB( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX,
12 EQUED )
13
14 CHARACTER EQUED
15
16 INTEGER KL, KU, LDAB, M, N
17
18 DOUBLE PRECISION AMAX, COLCND, ROWCND
19
20 DOUBLE PRECISION AB( LDAB, * ), C( * ), R( * )
21
23 DLAQGB equilibrates a general M by N band matrix A with KL subdiagonals
24 and KU superdiagonals using the row and scaling factors in the vectors
25 R and C.
26
28 M (input) INTEGER
29 The number of rows of the matrix A. M >= 0.
30
31 N (input) INTEGER
32 The number of columns of the matrix A. N >= 0.
33
34 KL (input) INTEGER
35 The number of subdiagonals within the band of A. KL >= 0.
36
37 KU (input) INTEGER
38 The number of superdiagonals within the band of A. KU >= 0.
39
40 AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)
41 On entry, the matrix A in band storage, in rows 1 to KL+KU+1.
42 The j-th column of A is stored in the j-th column of the array
43 AB as follows: AB(ku+1+i-j,j) = A(i,j) for max(1,j-
44 ku)<=i<=min(m,j+kl) On exit, the equilibrated matrix, in the
45 same storage format as A. See EQUED for the form of the equi‐
46 librated matrix.
47
48 LDAB (input) INTEGER
49 The leading dimension of the array AB. LDA >= KL+KU+1.
50
51 R (input) DOUBLE PRECISION array, dimension (M)
52 The row scale factors for A.
53
54 C (input) DOUBLE PRECISION array, dimension (N)
55 The column scale factors for A.
56
57 ROWCND (input) DOUBLE PRECISION
58 Ratio of the smallest R(i) to the largest R(i).
59
60 COLCND (input) DOUBLE PRECISION
61 Ratio of the smallest C(i) to the largest C(i).
62
63 AMAX (input) DOUBLE PRECISION
64 Absolute value of largest matrix entry.
65
66 EQUED (output) CHARACTER*1
67 Specifies the form of equilibration that was done. = 'N': No
68 equilibration
69 = 'R': Row equilibration, i.e., A has been premultiplied by
70 diag(R). = 'C': Column equilibration, i.e., A has been post‐
71 multiplied by diag(C). = 'B': Both row and column equilibra‐
72 tion, i.e., A has been replaced by diag(R) * A * diag(C).
73
75 THRESH is a threshold value used to decide if row or column scaling
76 should be done based on the ratio of the row or column scaling factors.
77 If ROWCND < THRESH, row scaling is done, and if COLCND < THRESH, column
78 scaling is done. LARGE and SMALL are threshold values used to decide
79 if row scaling should be done based on the absolute size of the largest
80 matrix element. If AMAX > LARGE or AMAX < SMALL, row scaling is done.
81
82
83
84 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008 DLAQGB(1)