167 SUBROUTINE dlatb9( PATH, IMAT, M, P, N, TYPE, KLA, KUA, KLB, KUB,
168 $ ANORM, BNORM, MODEA, MODEB, CNDNMA, CNDNMB,
176 CHARACTER DISTA, DISTB, TYPE
178 INTEGER IMAT, KLA, KLB, KUA, KUB, M, MODEA, MODEB, N, P
179 DOUBLE PRECISION ANORM, BNORM, CNDNMA, CNDNMB
185 DOUBLE PRECISION SHRINK, TENTH
186 PARAMETER ( SHRINK = 0.25d0, tenth = 0.1d+0 )
187 DOUBLE PRECISION ONE, TEN
188 parameter( one = 1.0d+0, ten = 1.0d+1 )
192 DOUBLE PRECISION BADC1, BADC2, EPS, LARGE, SMALL
196 DOUBLE PRECISION DLAMCH
197 EXTERNAL lsamen, dlamch
203 SAVE eps, small, large, badc1, badc2, first
206 DATA first / .true. /
214 eps = dlamch(
'Precision' )
216 badc1 = sqrt( badc2 )
217 small = dlamch(
'Safe minimum' )
219 small = shrink*( small / eps )
233 IF( lsamen( 3, path,
'GRQ' ) .OR. lsamen( 3, path,
'LSE' ) .OR.
234 $ lsamen( 3, path,
'GSV' ) )
THEN
247 ELSE IF( imat.EQ.2 )
THEN
256 ELSE IF( imat.EQ.3 )
THEN
276 ELSE IF( lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GLM' ) )
289 ELSE IF( imat.EQ.2 )
THEN
298 ELSE IF( imat.EQ.3 )
THEN
323 IF( lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' ) .OR.
324 $ lsamen( 3, path,
'GSV' ) )
THEN
328 ELSE IF( imat.EQ.6 )
THEN
331 ELSE IF( imat.EQ.7 )
THEN
334 ELSE IF( imat.EQ.8 )
THEN
342 IF( lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' ) )
THEN
346 ELSE IF( imat.EQ.8 )
THEN
subroutine dlatb9(path, imat, m, p, n, type, kla, kua, klb, kub, anorm, bnorm, modea, modeb, cndnma, cndnmb, dista, distb)
DLATB9