243 SUBROUTINE claed7( N, CUTPNT, QSIZ, TLVLS, CURLVL, CURPBM, D,
245 $ LDQ, RHO, INDXQ, QSTORE, QPTR, PRMPTR, PERM,
246 $ GIVPTR, GIVCOL, GIVNUM, WORK, RWORK, IWORK,
254 INTEGER CURLVL, CURPBM, CUTPNT, INFO, LDQ, N, QSIZ,
259 INTEGER GIVCOL( 2, * ), GIVPTR( * ), INDXQ( * ),
260 $ iwork( * ), perm( * ), prmptr( * ), qptr( * )
261 REAL D( * ), GIVNUM( 2, * ), QSTORE( * ), RWORK( * )
262 COMPLEX Q( LDQ, * ), WORK( * )
268 INTEGER COLTYP, CURR, I, IDLMDA, INDX,
269 $ INDXC, INDXP, IQ, IW, IZ, K, N1, N2, PTR
289 ELSE IF( min( 1, n ).GT.cutpnt .OR. n.LT.cutpnt )
THEN
291 ELSE IF( qsiz.LT.n )
THEN
293 ELSE IF( ldq.LT.max( 1, n ) )
THEN
297 CALL xerbla(
'CLAED7', -info )
324 DO 10 i = 1, curlvl - 1
325 ptr = ptr + 2**( tlvls-i )
328 CALL slaeda( n, tlvls, curlvl, curpbm, prmptr, perm, givptr,
329 $ givcol, givnum, qstore, qptr, rwork( iz ),
330 $ rwork( iz+n ), info )
336 IF( curlvl.EQ.tlvls )
THEN
344 CALL claed8( k, n, qsiz, q, ldq, d, rho, cutpnt, rwork( iz ),
345 $ rwork( idlmda ), work, qsiz, rwork( iw ),
346 $ iwork( indxp ), iwork( indx ), indxq,
347 $ perm( prmptr( curr ) ), givptr( curr+1 ),
348 $ givcol( 1, givptr( curr ) ),
349 $ givnum( 1, givptr( curr ) ), info )
350 prmptr( curr+1 ) = prmptr( curr ) + n
351 givptr( curr+1 ) = givptr( curr+1 ) + givptr( curr )
356 CALL slaed9( k, 1, k, n, d, rwork( iq ), k, rho,
357 $ rwork( idlmda ), rwork( iw ),
358 $ qstore( qptr( curr ) ), k, info )
359 CALL clacrm( qsiz, k, work, qsiz, qstore( qptr( curr ) ), k,
362 qptr( curr+1 ) = qptr( curr ) + k**2
371 CALL slamrg( n1, n2, d, 1, -1, indxq )
373 qptr( curr+1 ) = qptr( curr )
subroutine claed7(n, cutpnt, qsiz, tlvls, curlvl, curpbm, d, q, ldq, rho, indxq, qstore, qptr, prmptr, perm, givptr, givcol, givnum, work, rwork, iwork, info)
CLAED7 used by CSTEDC. Computes the updated eigensystem of a diagonal matrix after modification by a ...
subroutine claed8(k, n, qsiz, q, ldq, d, rho, cutpnt, z, dlambda, q2, ldq2, w, indxp, indx, indxq, perm, givptr, givcol, givnum, info)
CLAED8 used by CSTEDC. Merges eigenvalues and deflates secular equation. Used when the original matri...
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....
subroutine slaeda(n, tlvls, curlvl, curpbm, prmptr, perm, givptr, givcol, givnum, q, qptr, z, ztemp, info)
SLAEDA used by SSTEDC. Computes the Z vector determining the rank-one modification of the diagonal ma...