117 SUBROUTINE slasd5( I, D, Z, DELTA, RHO, DSIGMA, WORK )
129 REAL D( 2 ), DELTA( 2 ), WORK( 2 ), Z( 2 )
135 REAL ZERO, ONE, TWO, THREE, FOUR
136 parameter ( zero = 0.0e+0, one = 1.0e+0, two = 2.0e+0,
137 $ three = 3.0e+0, four = 4.0e+0 )
140 REAL B, C, DEL, DELSQ, TAU, W
147 del = d( 2 ) - d( 1 )
148 delsq = del*( d( 2 )+d( 1 ) )
150 w = one + four*rho*( z( 2 )*z( 2 ) / ( d( 1 )+three*d( 2 ) )-
151 $ z( 1 )*z( 1 ) / ( three*d( 1 )+d( 2 ) ) ) / del
153 b = delsq + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
154 c = rho*z( 1 )*z( 1 )*delsq
160 tau = two*c / ( b+sqrt( abs( b*b-four*c ) ) )
164 tau = tau / ( d( 1 )+sqrt( d( 1 )*d( 1 )+tau ) )
165 dsigma = d( 1 ) + tau
167 delta( 2 ) = del - tau
168 work( 1 ) = two*d( 1 ) + tau
169 work( 2 ) = ( d( 1 )+tau ) + d( 2 )
173 b = -delsq + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
174 c = rho*z( 2 )*z( 2 )*delsq
179 tau = -two*c / ( b+sqrt( b*b+four*c ) )
181 tau = ( b-sqrt( b*b+four*c ) ) / two
186 tau = tau / ( d( 2 )+sqrt( abs( d( 2 )*d( 2 )+tau ) ) )
187 dsigma = d( 2 ) + tau
188 delta( 1 ) = -( del+tau )
190 work( 1 ) = d( 1 ) + tau + d( 2 )
191 work( 2 ) = two*d( 2 ) + tau
202 b = -delsq + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
203 c = rho*z( 2 )*z( 2 )*delsq
208 tau = ( b+sqrt( b*b+four*c ) ) / two
210 tau = two*c / ( -b+sqrt( b*b+four*c ) )
215 tau = tau / ( d( 2 )+sqrt( d( 2 )*d( 2 )+tau ) )
216 dsigma = d( 2 ) + tau
217 delta( 1 ) = -( del+tau )
219 work( 1 ) = d( 1 ) + tau + d( 2 )
220 work( 2 ) = two*d( 2 ) + tau
subroutine slasd5(I, D, Z, DELTA, RHO, DSIGMA, WORK)
SLASD5 computes the square root of the i-th eigenvalue of a positive symmetric rank-one modification ...