119 SUBROUTINE zlatb4( PATH, IMAT, M, N, TYPE, KL, KU, ANORM, MODE,
129 INTEGER IMAT, KL, KU, M, MODE, N
130 DOUBLE PRECISION ANORM, CNDNUM
136 DOUBLE PRECISION SHRINK, TENTH
137 parameter( shrink = 0.25d0, tenth = 0.1d+0 )
139 parameter( one = 1.0d+0 )
141 parameter( two = 2.0d+0 )
147 DOUBLE PRECISION BADC1, BADC2, EPS, LARGE, SMALL
151 DOUBLE PRECISION DLAMCH
152 EXTERNAL lsamen, dlamch
155 INTRINSIC abs, max, sqrt
158 SAVE eps, small, large, badc1, badc2, first
161 DATA first / .true. /
169 eps = dlamch(
'Precision' )
171 badc1 = sqrt( badc2 )
172 small = dlamch(
'Safe minimum' )
174 small = shrink*( small / eps )
188 IF( lsamen( 2, c2,
'QR' ) .OR. lsamen( 2, c2,
'LQ' ) .OR.
189 $ lsamen( 2, c2,
'QL' ) .OR. lsamen( 2, c2,
'RQ' ) )
THEN
200 ELSE IF( imat.EQ.2 )
THEN
203 ELSE IF( imat.EQ.3 )
THEN
215 ELSE IF( imat.EQ.6 )
THEN
223 ELSE IF( imat.EQ.8 )
THEN
229 ELSE IF( lsamen( 2, c2,
'QK' ) )
THEN
255 ELSE IF( imat.EQ.3 )
THEN
264 ELSE IF( imat.EQ.4 )
THEN
280 IF( imat.GE.5 .AND. imat.LE.14 )
THEN
288 ELSE IF( imat.EQ.15 )
THEN
296 ELSE IF( imat.EQ.16 )
THEN
304 ELSE IF( imat.EQ.17 )
THEN
313 ELSE IF( imat.EQ.18 )
THEN
321 ELSE IF( imat.EQ.19 )
THEN
333 ELSE IF( lsamen( 2, c2,
'GE' ) )
THEN
346 ELSE IF( imat.EQ.2 )
THEN
349 ELSE IF( imat.EQ.3 )
THEN
361 ELSE IF( imat.EQ.9 )
THEN
367 IF( imat.EQ.10 )
THEN
369 ELSE IF( imat.EQ.11 )
THEN
375 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
387 ELSE IF( imat.EQ.6 )
THEN
395 ELSE IF( imat.EQ.8 )
THEN
401 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
422 ELSE IF( imat.EQ.4 )
THEN
428 IF( imat.EQ.5 .OR. imat.EQ.11 )
THEN
430 ELSE IF( imat.EQ.6 .OR. imat.EQ.12 )
THEN
436 ELSE IF( lsamen( 2, c2,
'PO' ) .OR. lsamen( 2, c2,
'PP' ) )
THEN
458 ELSE IF( imat.EQ.7 )
THEN
466 ELSE IF( imat.EQ.9 )
THEN
472 ELSE IF( lsamen( 2, c2,
'HE' ) .OR. lsamen( 2, c2,
'HP' ) .OR.
473 $ lsamen( 2, c2,
'SY' ) .OR. lsamen( 2, c2,
'SP' ) )
THEN
495 ELSE IF( imat.EQ.8 )
THEN
503 ELSE IF( imat.EQ.10 )
THEN
509 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
521 ELSE IF( imat.EQ.6 )
THEN
529 ELSE IF( imat.EQ.8 )
THEN
535 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
552 ELSE IF( imat.EQ.4 )
THEN
558 IF( imat.EQ.5 .OR. imat.EQ.11 )
THEN
560 ELSE IF( imat.EQ.6 .OR. imat.EQ.12 )
THEN
566 ELSE IF( lsamen( 2, c2,
'TR' ) .OR. lsamen( 2, c2,
'TP' ) )
THEN
577 IF( mat.EQ.1 .OR. mat.EQ.7 )
THEN
580 ELSE IF( imat.LT.0 )
THEN
590 IF( mat.EQ.3 .OR. mat.EQ.9 )
THEN
592 ELSE IF( mat.EQ.4 .OR. mat.EQ.10 )
THEN
600 ELSE IF( mat.EQ.6 )
THEN
606 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
617 IF( mat.EQ.2 .OR. mat.EQ.8 )
THEN
619 ELSE IF( mat.EQ.3 .OR. mat.EQ.9 )
THEN
627 ELSE IF( mat.EQ.5 )
THEN
subroutine zlatb4(path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist)
ZLATB4