115 SUBROUTINE dlasd5( I, D, Z, DELTA, RHO, DSIGMA, WORK )
123 DOUBLE PRECISION DSIGMA, RHO
126 DOUBLE PRECISION D( 2 ), DELTA( 2 ), WORK( 2 ), Z( 2 )
132 DOUBLE PRECISION ZERO, ONE, TWO, THREE, FOUR
133 parameter( zero = 0.0d+0, one = 1.0d+0, two = 2.0d+0,
134 $ three = 3.0d+0, four = 4.0d+0 )
137 DOUBLE PRECISION B, C, DEL, DELSQ, TAU, W
144 del = d( 2 ) - d( 1 )
145 delsq = del*( d( 2 )+d( 1 ) )
147 w = one + four*rho*( z( 2 )*z( 2 ) / ( d( 1 )+three*d( 2 ) )-
148 $ z( 1 )*z( 1 ) / ( three*d( 1 )+d( 2 ) ) ) / del
150 b = delsq + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
151 c = rho*z( 1 )*z( 1 )*delsq
157 tau = two*c / ( b+sqrt( abs( b*b-four*c ) ) )
161 tau = tau / ( d( 1 )+sqrt( d( 1 )*d( 1 )+tau ) )
162 dsigma = d( 1 ) + tau
164 delta( 2 ) = del - tau
165 work( 1 ) = two*d( 1 ) + tau
166 work( 2 ) = ( d( 1 )+tau ) + d( 2 )
170 b = -delsq + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
171 c = rho*z( 2 )*z( 2 )*delsq
176 tau = -two*c / ( b+sqrt( b*b+four*c ) )
178 tau = ( b-sqrt( b*b+four*c ) ) / two
183 tau = tau / ( d( 2 )+sqrt( abs( d( 2 )*d( 2 )+tau ) ) )
184 dsigma = d( 2 ) + tau
185 delta( 1 ) = -( del+tau )
187 work( 1 ) = d( 1 ) + tau + d( 2 )
188 work( 2 ) = two*d( 2 ) + tau
199 b = -delsq + rho*( z( 1 )*z( 1 )+z( 2 )*z( 2 ) )
200 c = rho*z( 2 )*z( 2 )*delsq
205 tau = ( b+sqrt( b*b+four*c ) ) / two
207 tau = two*c / ( -b+sqrt( b*b+four*c ) )
212 tau = tau / ( d( 2 )+sqrt( d( 2 )*d( 2 )+tau ) )
213 dsigma = d( 2 ) + tau
214 delta( 1 ) = -( del+tau )
216 work( 1 ) = d( 1 ) + tau + d( 2 )
217 work( 2 ) = two*d( 2 ) + tau
subroutine dlasd5(i, d, z, delta, rho, dsigma, work)
DLASD5 computes the square root of the i-th eigenvalue of a positive symmetric rank-one modification ...