75 SUBROUTINE sget33( RMAX, LMAX, NINFO, KNT )
82 INTEGER KNT, LMAX, NINFO
90 parameter( zero = 0.0e0, one = 1.0e0 )
92 parameter( two = 2.0e0, four = 4.0e0 )
95 INTEGER I1, I2, I3, I4, IM1, IM2, IM3, IM4, J1, J2, J3
96 REAL BIGNUM, CS, EPS, RES, SMLNUM, SN, SUM, TNRM,
100 REAL Q( 2, 2 ), T( 2, 2 ), T1( 2, 2 ), T2( 2, 2 ),
111 INTRINSIC abs, max, sign
118 smlnum = slamch(
'S' ) / eps
119 bignum = one / smlnum
124 val( 2 ) = one + two*eps
126 val( 4 ) = two - four*eps
146 t( 1, 1 ) = val( i1 )*vm( im1 )
147 t( 1, 2 ) = val( i2 )*vm( im2 )
148 t( 2, 1 ) = -val( i3 )*vm( im3 )
149 t( 2, 2 ) = val( i4 )*vm( im4 )
150 tnrm = max( abs( t( 1, 1 ) ),
151 $ abs( t( 1, 2 ) ), abs( t( 2, 1 ) ),
153 t1( 1, 1 ) = t( 1, 1 )
154 t1( 1, 2 ) = t( 1, 2 )
155 t1( 2, 1 ) = t( 2, 1 )
156 t1( 2, 2 ) = t( 2, 2 )
162 CALL slanv2( t( 1, 1 ), t( 1, 2 ),
163 $ t( 2, 1 ), t( 2, 2 ), wr1,
164 $ wi1, wr2, wi2, cs, sn )
166 res = q( j1, 1 )*cs + q( j1, 2 )*sn
167 q( j1, 2 ) = -q( j1, 1 )*sn +
173 res = res + abs( q( 1, 1 )**2+
174 $ q( 1, 2 )**2-one ) / eps
175 res = res + abs( q( 2, 2 )**2+
176 $ q( 2, 1 )**2-one ) / eps
177 res = res + abs( q( 1, 1 )*q( 2, 1 )+
178 $ q( 1, 2 )*q( 2, 2 ) ) / eps
183 t2( j1, j2 ) = t2( j1, j2 ) +
193 sum = sum - q( j3, j1 )*
196 res = res + abs( sum ) / eps / tnrm
199 IF( t( 2, 1 ).NE.zero .AND.
200 $ ( t( 1, 1 ).NE.t( 2,
201 $ 2 ) .OR. sign( one, t( 1,
202 $ 2 ) )*sign( one, t( 2,
203 $ 1 ) ).GT.zero ) )res = res + one / eps
205 IF( res.GT.rmax )
THEN
subroutine slanv2(a, b, c, d, rt1r, rt1i, rt2r, rt2i, cs, sn)
SLANV2 computes the Schur factorization of a real 2-by-2 nonsymmetric matrix in standard form.
subroutine sget33(rmax, lmax, ninfo, knt)
SGET33