119 SUBROUTINE dlaev2( A, B, C, RT1, RT2, CS1, SN1 )
126 DOUBLE PRECISION A, B, C, CS1, RT1, RT2, SN1
133 parameter( one = 1.0d0 )
135 parameter( two = 2.0d0 )
136 DOUBLE PRECISION ZERO
137 parameter( zero = 0.0d0 )
138 DOUBLE PRECISION HALF
139 parameter( half = 0.5d0 )
143 DOUBLE PRECISION AB, ACMN, ACMX, ACS, ADF, CS, CT, DF, RT, SM,
158 IF( abs( a ).GT.abs( c ) )
THEN
166 rt = adf*sqrt( one+( ab / adf )**2 )
167 ELSE IF( adf.LT.ab )
THEN
168 rt = ab*sqrt( one+( adf / ab )**2 )
175 IF( sm.LT.zero )
THEN
183 rt2 = ( acmx / rt1 )*acmn - ( b / rt1 )*b
184 ELSE IF( sm.GT.zero )
THEN
192 rt2 = ( acmx / rt1 )*acmn - ( b / rt1 )*b
204 IF( df.GE.zero )
THEN
214 sn1 = one / sqrt( one+ct*ct )
217 IF( ab.EQ.zero )
THEN
222 cs1 = one / sqrt( one+tn*tn )
226 IF( sgn1.EQ.sgn2 )
THEN
subroutine dlaev2(a, b, c, rt1, rt2, cs1, sn1)
DLAEV2 computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix.