1 *> \brief \b ZLA_GBRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a general banded matrix.
3 * =========== DOCUMENTATION ===========
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
9 *> Download ZLA_GBRPVGRW + dependencies
10 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zla_gbrpvgrw.f">
12 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zla_gbrpvgrw.f">
14 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zla_gbrpvgrw.f">
21 * DOUBLE PRECISION FUNCTION ZLA_GBRPVGRW( N, KL, KU, NCOLS, AB,
24 * .. Scalar Arguments ..
25 * INTEGER N, KL, KU, NCOLS, LDAB, LDAFB
27 * .. Array Arguments ..
28 * COMPLEX*16 AB( LDAB, * ), AFB( LDAFB, * )
37 *> ZLA_GBRPVGRW computes the reciprocal pivot growth factor
38 *> norm(A)/norm(U). The "max absolute element" norm is used. If this is
39 *> much less than 1, the stability of the LU factorization of the
40 *> (equilibrated) matrix A could be poor. This also means that the
41 *> solution X, estimated condition numbers, and error bounds could be
51 *> The number of linear equations, i.e., the order of the
58 *> The number of subdiagonals within the band of A. KL >= 0.
64 *> The number of superdiagonals within the band of A. KU >= 0.
70 *> The number of columns of the matrix A. NCOLS >= 0.
75 *> AB is COMPLEX*16 array, dimension (LDAB,N)
76 *> On entry, the matrix A in band storage, in rows 1 to KL+KU+1.
77 *> The j-th column of A is stored in the j-th column of the
78 *> array AB as follows:
79 *> AB(KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+kl)
85 *> The leading dimension of the array AB. LDAB >= KL+KU+1.
90 *> AFB is COMPLEX*16 array, dimension (LDAFB,N)
91 *> Details of the LU factorization of the band matrix A, as
92 *> computed by ZGBTRF. U is stored as an upper triangular
93 *> band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1,
94 *> and the multipliers used during the factorization are stored
95 *> in rows KL+KU+2 to 2*KL+KU+1.
101 *> The leading dimension of the array AFB. LDAFB >= 2*KL+KU+1.
107 *> \author Univ. of Tennessee
108 *> \author Univ. of California Berkeley
109 *> \author Univ. of Colorado Denver
112 *> \date September 2012
114 *> \ingroup complex16GBcomputational
116 * =====================================================================
117 DOUBLE PRECISION FUNCTION ZLA_GBRPVGRW( N, KL, KU, NCOLS, AB,
120 * -- LAPACK computational routine (version 3.4.2) --
121 * -- LAPACK is a software package provided by Univ. of Tennessee, --
122 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
125 * .. Scalar Arguments ..
126 INTEGER N, KL, KU, NCOLS, LDAB, LDAFB
128 * .. Array Arguments ..
129 COMPLEX*16 AB( LDAB, * ), AFB( LDAFB, * )
132 * =====================================================================
134 * .. Local Scalars ..
136 DOUBLE PRECISION AMAX, UMAX, RPVGRW
139 * .. Intrinsic Functions ..
140 INTRINSIC ABS, MAX, MIN, REAL, DIMAG
142 * .. Statement Functions ..
143 DOUBLE PRECISION CABS1
145 * .. Statement Function Definitions ..
146 CABS1( ZDUM ) = ABS( DBLE( ZDUM ) ) + ABS( DIMAG( ZDUM ) )
148 * .. Executable Statements ..
156 DO I = MAX( J-KU, 1 ), MIN( J+KL, N )
157 AMAX = MAX( CABS1( AB( KD+I-J, J ) ), AMAX )
159 DO I = MAX( J-KU, 1 ), J
160 UMAX = MAX( CABS1( AFB( KD+I-J, J ) ), UMAX )
162 IF ( UMAX /= 0.0D+0 ) THEN
163 RPVGRW = MIN( AMAX / UMAX, RPVGRW )
166 ZLA_GBRPVGRW = RPVGRW