01:       DOUBLE PRECISION FUNCTION ZLA_GBRPVGRW( N, KL, KU, NCOLS, AB, 
02:      $                            LDAB, AFB, LDAFB )
03: *
04: *     -- LAPACK routine (version 3.2)                                 --
05: *     -- Contributed by James Demmel, Deaglan Halligan, Yozo Hida and --
06: *     -- Jason Riedy of Univ. of California Berkeley.                 --
07: *     -- November 2008                                                --
08: *
09: *     -- LAPACK is a software package provided by Univ. of Tennessee, --
10: *     -- Univ. of California Berkeley and NAG Ltd.                    --
11: *
12:       IMPLICIT NONE
13: *     ..
14: *     .. Scalar Arguments ..
15:       INTEGER            N, KL, KU, NCOLS, LDAB, LDAFB
16: *     ..
17: *     .. Array Arguments ..
18:       COMPLEX*16         AB( LDAB, * ), AFB( LDAFB, * )
19: *     ..
20: *     .. Local Scalars ..
21:       INTEGER            I, J, KD
22:       DOUBLE PRECISION   AMAX, UMAX, RPVGRW
23:       COMPLEX*16         ZDUM
24: *     ..
25: *     .. Intrinsic Functions ..
26:       INTRINSIC          ABS, MAX, MIN, REAL, DIMAG
27: *     ..
28: *     .. Statement Functions ..
29:       DOUBLE PRECISION   CABS1
30: *     ..
31: *     .. Statement Function Definitions ..
32:       CABS1( ZDUM ) = ABS( DBLE( ZDUM ) ) + ABS( DIMAG( ZDUM ) )
33: *     ..
34: *     .. Executable Statements ..
35: *
36:       RPVGRW = 1.0D+0
37: *
38:       KD = KU + 1
39:       DO J = 1, NCOLS
40:          AMAX = 0.0D+0
41:          UMAX = 0.0D+0
42:          DO I = MAX( J-KU, 1 ), MIN( J+KL, N )
43:             AMAX = MAX( CABS1( AB( KD+I-J, J ) ), AMAX )
44:          END DO
45:          DO I = MAX( J-KU, 1 ), J
46:             UMAX = MAX( CABS1( AFB( KD+I-J, J ) ), UMAX )
47:          END DO
48:          IF ( UMAX /= 0.0D+0 ) THEN
49:             RPVGRW = MIN( AMAX / UMAX, RPVGRW )
50:          END IF
51:       END DO
52:       ZLA_GBRPVGRW = RPVGRW
53:       END FUNCTION
54: