120 SUBROUTINE slatb4( PATH, IMAT, M, N, TYPE, KL, KU, ANORM, MODE,
131 INTEGER IMAT, KL, KU, M, MODE, N
139 parameter( shrink = 0.25e0, tenth = 0.1e+0 )
141 parameter( one = 1.0e+0 )
143 parameter( two = 2.0e+0 )
149 REAL BADC1, BADC2, EPS, LARGE, SMALL
154 EXTERNAL lsamen, slamch
157 INTRINSIC abs, max, sqrt
163 SAVE eps, small, large, badc1, badc2, first
166 DATA first / .true. /
174 eps = slamch(
'Precision' )
176 badc1 = sqrt( badc2 )
177 small = slamch(
'Safe minimum' )
183 CALL slabad( small, large )
184 small = shrink*( small / eps )
195 IF( lsamen( 2, c2,
'QR' ) .OR. lsamen( 2, c2,
'LQ' ) .OR.
196 $ lsamen( 2, c2,
'QL' ) .OR. lsamen( 2, c2,
'RQ' ) )
THEN 210 ELSE IF( imat.EQ.2 )
THEN 213 ELSE IF( imat.EQ.3 )
THEN 225 ELSE IF( imat.EQ.6 )
THEN 233 ELSE IF( imat.EQ.8 )
THEN 239 ELSE IF( lsamen( 2, c2,
'GE' ) )
THEN 252 ELSE IF( imat.EQ.2 )
THEN 255 ELSE IF( imat.EQ.3 )
THEN 267 ELSE IF( imat.EQ.9 )
THEN 273 IF( imat.EQ.10 )
THEN 275 ELSE IF( imat.EQ.11 )
THEN 281 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN 293 ELSE IF( imat.EQ.6 )
THEN 301 ELSE IF( imat.EQ.8 )
THEN 307 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN 328 ELSE IF( imat.EQ.4 )
THEN 334 IF( imat.EQ.5 .OR. imat.EQ.11 )
THEN 336 ELSE IF( imat.EQ.6 .OR. imat.EQ.12 )
THEN 342 ELSE IF( lsamen( 2, c2,
'PO' ) .OR. lsamen( 2, c2,
'PP' ) )
THEN 364 ELSE IF( imat.EQ.7 )
THEN 372 ELSE IF( imat.EQ.9 )
THEN 379 ELSE IF( lsamen( 2, c2,
'SY' ) .OR. lsamen( 2, c2,
'SP' ) )
THEN 401 ELSE IF( imat.EQ.8 )
THEN 409 ELSE IF( imat.EQ.10 )
THEN 415 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN 427 ELSE IF( imat.EQ.6 )
THEN 435 ELSE IF( imat.EQ.8 )
THEN 441 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN 458 ELSE IF( imat.EQ.4 )
THEN 464 IF( imat.EQ.5 .OR. imat.EQ.11 )
THEN 466 ELSE IF( imat.EQ.6 .OR. imat.EQ.12 )
THEN 472 ELSE IF( lsamen( 2, c2,
'TR' ) .OR. lsamen( 2, c2,
'TP' ) )
THEN 483 IF( mat.EQ.1 .OR. mat.EQ.7 )
THEN 486 ELSE IF( imat.LT.0 )
THEN 496 IF( mat.EQ.3 .OR. mat.EQ.9 )
THEN 498 ELSE IF( mat.EQ.4 )
THEN 500 ELSE IF( mat.EQ.10 )
THEN 508 ELSE IF( mat.EQ.6 )
THEN 514 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN 524 IF( imat.EQ.2 .OR. imat.EQ.8 )
THEN 526 ELSE IF( imat.EQ.3 .OR. imat.EQ.9 )
THEN 534 ELSE IF( imat.EQ.5 )
THEN subroutine slatb4(PATH, IMAT, M, N, TYPE, KL, KU, ANORM, MODE, CNDNUM, DIST)
SLATB4
subroutine slabad(SMALL, LARGE)
SLABAD