118 SUBROUTINE dlatb4( PATH, IMAT, M, N, TYPE, KL, KU, ANORM, MODE,
128 INTEGER IMAT, KL, KU, M, MODE, N
129 DOUBLE PRECISION ANORM, CNDNUM
135 DOUBLE PRECISION SHRINK, TENTH
136 parameter( shrink = 0.25d+0, tenth = 0.1d+0 )
138 parameter( one = 1.0d+0 )
140 parameter( two = 2.0d+0 )
146 DOUBLE PRECISION BADC1, BADC2, EPS, LARGE, SMALL
150 DOUBLE PRECISION DLAMCH
151 EXTERNAL lsamen, dlamch
154 INTRINSIC abs, max, sqrt
157 SAVE eps, small, large, badc1, badc2, first
160 DATA first / .true. /
168 eps = dlamch(
'Precision' )
170 badc1 = sqrt( badc2 )
171 small = dlamch(
'Safe minimum' )
173 small = shrink*( small / eps )
184 IF( lsamen( 2, c2,
'QR' ) .OR. lsamen( 2, c2,
'LQ' ) .OR.
185 $ lsamen( 2, c2,
'QL' ) .OR. lsamen( 2, c2,
'RQ' ) )
THEN
199 ELSE IF( imat.EQ.2 )
THEN
202 ELSE IF( imat.EQ.3 )
THEN
214 ELSE IF( imat.EQ.6 )
THEN
222 ELSE IF( imat.EQ.8 )
THEN
228 ELSE IF( lsamen( 2, c2,
'QK' ) )
THEN
254 ELSE IF( imat.EQ.3 )
THEN
263 ELSE IF( imat.EQ.4 )
THEN
279 IF( imat.GE.5 .AND. imat.LE.14 )
THEN
287 ELSE IF( imat.EQ.15 )
THEN
295 ELSE IF( imat.EQ.16 )
THEN
303 ELSE IF( imat.EQ.17 )
THEN
312 ELSE IF( imat.EQ.18 )
THEN
320 ELSE IF( imat.EQ.19 )
THEN
332 ELSE IF( lsamen( 2, c2,
'GE' ) )
THEN
345 ELSE IF( imat.EQ.2 )
THEN
348 ELSE IF( imat.EQ.3 )
THEN
360 ELSE IF( imat.EQ.9 )
THEN
366 IF( imat.EQ.10 )
THEN
368 ELSE IF( imat.EQ.11 )
THEN
374 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
386 ELSE IF( imat.EQ.6 )
THEN
394 ELSE IF( imat.EQ.8 )
THEN
400 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
421 ELSE IF( imat.EQ.4 )
THEN
427 IF( imat.EQ.5 .OR. imat.EQ.11 )
THEN
429 ELSE IF( imat.EQ.6 .OR. imat.EQ.12 )
THEN
435 ELSE IF( lsamen( 2, c2,
'PO' ) .OR. lsamen( 2, c2,
'PP' ) )
THEN
457 ELSE IF( imat.EQ.7 )
THEN
465 ELSE IF( imat.EQ.9 )
THEN
472 ELSE IF( lsamen( 2, c2,
'SY' ) .OR. lsamen( 2, c2,
'SP' ) )
THEN
494 ELSE IF( imat.EQ.8 )
THEN
502 ELSE IF( imat.EQ.10 )
THEN
508 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
520 ELSE IF( imat.EQ.6 )
THEN
528 ELSE IF( imat.EQ.8 )
THEN
534 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
551 ELSE IF( imat.EQ.4 )
THEN
557 IF( imat.EQ.5 .OR. imat.EQ.11 )
THEN
559 ELSE IF( imat.EQ.6 .OR. imat.EQ.12 )
THEN
565 ELSE IF( lsamen( 2, c2,
'TR' ) .OR. lsamen( 2, c2,
'TP' ) )
THEN
576 IF( mat.EQ.1 .OR. mat.EQ.7 )
THEN
579 ELSE IF( imat.LT.0 )
THEN
589 IF( mat.EQ.3 .OR. mat.EQ.9 )
THEN
591 ELSE IF( mat.EQ.4 )
THEN
593 ELSE IF( mat.EQ.10 )
THEN
601 ELSE IF( mat.EQ.6 )
THEN
607 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
618 IF( mat.EQ.2 .OR. mat.EQ.8 )
THEN
620 ELSE IF( mat.EQ.3 .OR. mat.EQ.9 )
THEN
628 ELSE IF( mat.EQ.5 )
THEN
subroutine dlatb4(path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist)
DLATB4