118 SUBROUTINE slatb4( PATH, IMAT, M, N, TYPE, KL, KU, ANORM, MODE,
128 INTEGER IMAT, KL, KU, M, MODE, N
136 parameter( shrink = 0.25e0, tenth = 0.1e+0 )
138 parameter( one = 1.0e+0 )
140 parameter( two = 2.0e+0 )
146 REAL BADC1, BADC2, EPS, LARGE, SMALL
151 EXTERNAL lsamen, slamch
154 INTRINSIC abs, max, sqrt
160 SAVE eps, small, large, badc1, badc2, first
163 DATA first / .true. /
171 eps = slamch(
'Precision' )
173 badc1 = sqrt( badc2 )
174 small = slamch(
'Safe minimum' )
180 CALL slabad( small, large )
181 small = shrink*( small / eps )
192 IF( lsamen( 2, c2,
'QR' ) .OR. lsamen( 2, c2,
'LQ' ) .OR.
193 $ lsamen( 2, c2,
'QL' ) .OR. lsamen( 2, c2,
'RQ' ) )
THEN
207 ELSE IF( imat.EQ.2 )
THEN
210 ELSE IF( imat.EQ.3 )
THEN
222 ELSE IF( imat.EQ.6 )
THEN
230 ELSE IF( imat.EQ.8 )
THEN
236 ELSE IF( lsamen( 2, c2,
'GE' ) )
THEN
249 ELSE IF( imat.EQ.2 )
THEN
252 ELSE IF( imat.EQ.3 )
THEN
264 ELSE IF( imat.EQ.9 )
THEN
270 IF( imat.EQ.10 )
THEN
272 ELSE IF( imat.EQ.11 )
THEN
278 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
290 ELSE IF( imat.EQ.6 )
THEN
298 ELSE IF( imat.EQ.8 )
THEN
304 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
325 ELSE IF( imat.EQ.4 )
THEN
331 IF( imat.EQ.5 .OR. imat.EQ.11 )
THEN
333 ELSE IF( imat.EQ.6 .OR. imat.EQ.12 )
THEN
339 ELSE IF( lsamen( 2, c2,
'PO' ) .OR. lsamen( 2, c2,
'PP' ) )
THEN
361 ELSE IF( imat.EQ.7 )
THEN
369 ELSE IF( imat.EQ.9 )
THEN
376 ELSE IF( lsamen( 2, c2,
'SY' ) .OR. lsamen( 2, c2,
'SP' ) )
THEN
398 ELSE IF( imat.EQ.8 )
THEN
406 ELSE IF( imat.EQ.10 )
THEN
412 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
424 ELSE IF( imat.EQ.6 )
THEN
432 ELSE IF( imat.EQ.8 )
THEN
438 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
455 ELSE IF( imat.EQ.4 )
THEN
461 IF( imat.EQ.5 .OR. imat.EQ.11 )
THEN
463 ELSE IF( imat.EQ.6 .OR. imat.EQ.12 )
THEN
469 ELSE IF( lsamen( 2, c2,
'TR' ) .OR. lsamen( 2, c2,
'TP' ) )
THEN
480 IF( mat.EQ.1 .OR. mat.EQ.7 )
THEN
483 ELSE IF( imat.LT.0 )
THEN
493 IF( mat.EQ.3 .OR. mat.EQ.9 )
THEN
495 ELSE IF( mat.EQ.4 )
THEN
497 ELSE IF( mat.EQ.10 )
THEN
505 ELSE IF( mat.EQ.6 )
THEN
511 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
522 IF( mat.EQ.2 .OR. mat.EQ.8 )
THEN
524 ELSE IF( mat.EQ.3 .OR. mat.EQ.9 )
THEN
532 ELSE IF( mat.EQ.5 )
THEN
subroutine slabad(SMALL, LARGE)
SLABAD
subroutine slatb4(PATH, IMAT, M, N, TYPE, KL, KU, ANORM, MODE, CNDNUM, DIST)
SLATB4