77 SUBROUTINE dget35( RMAX, LMAX, NINFO, KNT )
84 INTEGER KNT, LMAX, NINFO
91 DOUBLE PRECISION ZERO, ONE
92 parameter( zero = 0.0d0, one = 1.0d0 )
93 DOUBLE PRECISION TWO, FOUR
94 parameter( two = 2.0d0, four = 4.0d0 )
97 CHARACTER TRANA, TRANB
98 INTEGER I, IMA, IMB, IMLDA1, IMLDA2, IMLDB1, IMLOFF,
99 $ INFO, ISGN, ITRANA, ITRANB, J, M, N
100 DOUBLE PRECISION BIGNUM, CNRM, EPS, RES, RES1, RMUL, SCALE,
104 INTEGER IDIM( 8 ), IVAL( 6, 6, 8 )
105 DOUBLE PRECISION A( 6, 6 ), B( 6, 6 ), C( 6, 6 ), CC( 6, 6 ),
106 $ DUM( 1 ), VM1( 3 ), VM2( 3 )
109 DOUBLE PRECISION DLAMCH, DLANGE
110 EXTERNAL dlamch, dlange
116 INTRINSIC abs, dble, max, sin, sqrt
119 DATA idim / 1, 2, 3, 4, 3, 3, 6, 4 /
120 DATA ival / 1, 35*0, 1, 2, 4*0, -2, 0, 28*0, 1, 5*0,
121 $ 5, 1, 2, 3*0, -8, -2, 1, 21*0, 3, 4, 4*0, -5,
122 $ 3, 4*0, 1, 2, 1, 4, 2*0, -3, -9, -1, 1, 14*0,
123 $ 1, 5*0, 2, 3, 4*0, 5, 6, 7, 21*0, 1, 5*0, 1, 3,
124 $ -4, 3*0, 2, 5, 2, 21*0, 1, 2, 4*0, -2, 0, 4*0,
125 $ 5, 6, 3, 4, 2*0, -1, -9, -5, 2, 2*0, 4*8, 5, 6,
126 $ 4*9, -7, 5, 1, 5*0, 1, 5, 2, 3*0, 2, -21, 5,
127 $ 3*0, 1, 2, 3, 4, 14*0 /
134 smlnum = dlamch(
'S' )*four / eps
135 bignum = one / smlnum
139 vm1( 1 ) = sqrt( smlnum )
141 vm1( 3 ) = sqrt( bignum )
143 vm2( 2 ) = one + two*eps
155 DO 130 isgn = -1, 1, 2
175 a( i, j ) = ival( i, j, ima )
176 IF( abs( i-j ).LE.1 )
THEN
177 a( i, j ) = a( i, j )*
179 a( i, j ) = a( i, j )*
182 a( i, j ) = a( i, j )*
191 b( i, j ) = ival( i, j, imb )
192 IF( abs( i-j ).LE.1 )
THEN
193 b( i, j ) = b( i, j )*
196 b( i, j ) = b( i, j )*
206 c( i, j ) = sin( dble( i*j ) )
207 cnrm = max( cnrm, c( i, j ) )
208 cc( i, j ) = c( i, j )
212 CALL dtrsyl( trana, tranb, isgn, m, n,
213 $ a, 6, b, 6, c, 6, scale,
217 xnrm = dlange(
'M', m, n, c, 6, dum )
219 IF( xnrm.GT.one .AND. tnrm.GT.one )
221 IF( xnrm.GT.bignum / tnrm )
THEN
222 rmul = one / max( xnrm, tnrm )
225 CALL dgemm( trana,
'N', m, n, m, rmul,
226 $ a, 6, c, 6, -scale*rmul,
228 CALL dgemm(
'N', tranb, m, n, n,
229 $ dble( isgn )*rmul, c, 6, b,
231 res1 = dlange(
'M', m, n, cc, 6, dum )
232 res = res1 / max( smlnum, smlnum*xnrm,
233 $ ( ( rmul*tnrm )*eps )*xnrm )
234 IF( res.GT.rmax )
THEN