121 SUBROUTINE dlaev2( A, B, C, RT1, RT2, CS1, SN1 )
129 DOUBLE PRECISION A, B, C, CS1, RT1, RT2, SN1
136 parameter ( one = 1.0d0 )
138 parameter ( two = 2.0d0 )
139 DOUBLE PRECISION ZERO
140 parameter ( zero = 0.0d0 )
141 DOUBLE PRECISION HALF
142 parameter ( half = 0.5d0 )
146 DOUBLE PRECISION AB, ACMN, ACMX, ACS, ADF, CS, CT, DF, RT, SM,
161 IF( abs( a ).GT.abs( c ) )
THEN
169 rt = adf*sqrt( one+( ab / adf )**2 )
170 ELSE IF( adf.LT.ab )
THEN
171 rt = ab*sqrt( one+( adf / ab )**2 )
178 IF( sm.LT.zero )
THEN
186 rt2 = ( acmx / rt1 )*acmn - ( b / rt1 )*b
187 ELSE IF( sm.GT.zero )
THEN
195 rt2 = ( acmx / rt1 )*acmn - ( b / rt1 )*b
207 IF( df.GE.zero )
THEN
217 sn1 = one / sqrt( one+ct*ct )
220 IF( ab.EQ.zero )
THEN
225 cs1 = one / sqrt( one+tn*tn )
229 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.