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.EQ.
ELSE IF( IMAT2 ) THEN
252.EQ.
ELSE IF( IMAT3 ) THEN
264.EQ.
ELSE IF( IMAT9 ) THEN
270.EQ.
IF( IMAT10 ) THEN
272.EQ.
ELSE IF( IMAT11 ) THEN
278 ELSE IF( LSAMEN( 2, C2, 'gb
' ) ) THEN
290.EQ.
ELSE IF( IMAT6 ) THEN
298.EQ.
ELSE IF( IMAT8 ) THEN
304 ELSE IF( LSAMEN( 2, C2, 'gt
' ) ) THEN
325.EQ.
ELSE IF( IMAT4 ) THEN
331.EQ..OR..EQ.
IF( IMAT5 IMAT11 ) THEN
333.EQ..OR..EQ.
ELSE IF( IMAT6 IMAT12 ) THEN
339 ELSE IF( LSAMEN( 2, C2, 'po.OR.
' ) LSAMEN( 2, C2, 'pp
' ) ) THEN
361.EQ.
ELSE IF( IMAT7 ) THEN
369.EQ.
ELSE IF( IMAT9 ) THEN
376 ELSE IF( LSAMEN( 2, C2, 'sy.OR.
' ) LSAMEN( 2, C2, 'sp
' ) ) THEN
398.EQ.
ELSE IF( IMAT8 ) THEN
406.EQ.
ELSE IF( IMAT10 ) THEN
412 ELSE IF( LSAMEN( 2, C2, 'pb
' ) ) THEN
424.EQ.
ELSE IF( IMAT6 ) THEN
432.EQ.
ELSE IF( IMAT8 ) THEN
438 ELSE IF( LSAMEN( 2, C2, 'pt
' ) ) THEN
455.EQ.
ELSE IF( IMAT4 ) THEN
461.EQ..OR..EQ.
IF( IMAT5 IMAT11 ) THEN
463.EQ..OR..EQ.
ELSE IF( IMAT6 IMAT12 ) THEN
469 ELSE IF( LSAMEN( 2, C2, 'tr.OR.
' ) LSAMEN( 2, C2, 'tp
' ) ) THEN
480.EQ..OR..EQ.
IF( MAT1 MAT7 ) THEN
483.LT.
ELSE IF( IMAT0 ) THEN
493.EQ..OR..EQ.
IF( MAT3 MAT9 ) THEN
495.EQ.
ELSE IF( MAT4 ) THEN
497.EQ.
ELSE IF( MAT10 ) THEN
505.EQ.
ELSE IF( MAT6 ) THEN
511 ELSE IF( LSAMEN( 2, C2, 'tb
' ) ) THEN
521.EQ..OR..EQ.
IF( IMAT2 IMAT8 ) THEN
523.EQ..OR..EQ.
ELSE IF( IMAT3 IMAT9 ) THEN
531.EQ.
ELSE IF( IMAT5 ) THEN
subroutine slatb4(path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist)
SLATB4