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