77 SUBROUTINE sget35( RMAX, LMAX, NINFO, KNT )
84 INTEGER KNT, LMAX, NINFO
92 parameter( zero = 0.0e0, one = 1.0e0 )
94 parameter( two = 2.0e0, four = 4.0e0 )
97 CHARACTER TRANA, TRANB
98 INTEGER I, IMA, IMB, IMLDA1, IMLDA2, IMLDB1, IMLOFF,
99 $ INFO, ISGN, ITRANA, ITRANB, J, M, N
100 REAL BIGNUM, CNRM, EPS, RES, RES1, RMUL, SCALE,
104 INTEGER IDIM( 8 ), IVAL( 6, 6, 8 )
105 REAL A( 6, 6 ), B( 6, 6 ), C( 6, 6 ), CC( 6, 6 ),
106 $ DUM( 1 ), VM1( 3 ), VM2( 3 )
110 EXTERNAL slamch, slange
116 INTRINSIC abs, max, real, 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 = slamch(
'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( real( i*j ) )
207 cnrm = max( cnrm, c( i, j ) )
208 cc( i, j ) = c( i, j )
212 CALL strsyl( trana, tranb, isgn, m, n,
213 $ a, 6, b, 6, c, 6, scale,
217 xnrm = slange(
'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 sgemm( trana,
'N', m, n, m, rmul,
226 $ a, 6, c, 6, -scale*rmul,
228 CALL sgemm(
'N', tranb, m, n, n,
229 $ real( isgn )*rmul, c, 6, b,
231 res1 = slange(
'M', m, n, cc, 6, dum )
232 res = res1 / max( smlnum, smlnum*xnrm,
233 $ ( ( rmul*tnrm )*eps )*xnrm )
234 IF( res.GT.rmax )
THEN
subroutine sgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
SGEMM
subroutine strsyl(trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info)
STRSYL
subroutine sget35(rmax, lmax, ninfo, knt)
SGET35