152 SUBROUTINE slaed9( K, KSTART, KSTOP, N, D, Q, LDQ, RHO,
161 INTEGER INFO, K, KSTART, KSTOP, LDQ, LDS, N
165 REAL D( * ), DLAMBDA( * ), Q( LDQ, * ), S( LDS, * ),
183 INTRINSIC max, sign, sqrt
193 ELSE IF( kstart.LT.1 .OR. kstart.GT.max( 1, k ) )
THEN
195 ELSE IF( max( 1, kstop ).LT.kstart .OR. kstop.GT.max( 1, k ) )
198 ELSE IF( n.LT.k )
THEN
200 ELSE IF( ldq.LT.max( 1, k ) )
THEN
202 ELSE IF( lds.LT.max( 1, k ) )
THEN
206 CALL xerbla(
'SLAED9', -info )
215 DO 20 j = kstart, kstop
216 CALL slaed4( k, j, dlambda, w, q( 1, j ), rho, d( j ),
225 IF( k.EQ.1 .OR. k.EQ.2 )
THEN
228 s( j, i ) = q( j, i )
236 CALL scopy( k, w, 1, s, 1 )
240 CALL scopy( k, q, ldq+1, w, 1 )
243 w( i ) = w( i )*( q( i, j )/( dlambda( i )-dlambda( j ) ) )
246 w( i ) = w( i )*( q( i, j )/( dlambda( i )-dlambda( j ) ) )
250 w( i ) = sign( sqrt( -w( i ) ), s( i, 1 ) )
257 q( i, j ) = w( i ) / q( i, j )
259 temp = snrm2( k, q( 1, j ), 1 )
261 s( i, j ) = q( i, j ) / temp
subroutine slaed4(n, i, d, z, delta, rho, dlam, info)
SLAED4 used by SSTEDC. Finds a single root of the secular equation.
subroutine slaed9(k, kstart, kstop, n, d, q, ldq, rho, dlambda, w, s, lds, info)
SLAED9 used by SSTEDC. Finds the roots of the secular equation and updates the eigenvectors....