119 SUBROUTINE clatb4( PATH, IMAT, M, N, TYPE, KL, KU, ANORM, MODE,
129 INTEGER IMAT, KL, KU, M, MODE, N
137 parameter( shrink = 0.25e0, tenth = 0.1e+0 )
139 parameter( one = 1.0e+0 )
141 parameter( two = 2.0e+0 )
147 REAL BADC1, BADC2, EPS, LARGE, SMALL
152 EXTERNAL lsamen, slamch
155 INTRINSIC abs, max, sqrt
158 SAVE eps, small, large, badc1, badc2, first
161 DATA first / .true. /
169 eps = slamch(
'Precision' )
171 badc1 = sqrt( badc2 )
172 small = slamch(
'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 clatb4(path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist)
CLATB4