Subroutine */
| 11551 | } /* slaed6_ */ |
| 11552 | |
| 11553 | /* Subroutine */ int slaed7_(integer *icompq, integer *n, integer *qsiz, |
| 11554 | integer *tlvls, integer *curlvl, integer *curpbm, real *d__, real *q, |
| 11555 | integer *ldq, integer *indxq, real *rho, integer *cutpnt, real * |
| 11556 | qstore, integer *qptr, integer *prmptr, integer *perm, integer * |
| 11557 | givptr, integer *givcol, real *givnum, real *work, integer *iwork, |
| 11558 | integer *info) |
| 11559 | { |
| 11560 | /* System generated locals */ |
| 11561 | integer q_dim1, q_offset, i__1, i__2; |
| 11562 | |
| 11563 | /* Local variables */ |
| 11564 | static integer i__, k, n1, n2, is, iw, iz, iq2, ptr, ldq2, indx, curr, |
| 11565 | indxc; |
| 11566 | extern /* Subroutine */ int sgemm_(char *, char *, integer *, integer *, |
| 11567 | integer *, real *, real *, integer *, real *, integer *, real *, |
| 11568 | real *, integer *); |
| 11569 | static integer indxp; |
| 11570 | extern /* Subroutine */ int slaed8_(integer *, integer *, integer *, |
| 11571 | integer *, real *, real *, integer *, integer *, real *, integer * |
| 11572 | , real *, real *, real *, integer *, real *, integer *, integer *, |
| 11573 | integer *, real *, integer *, integer *, integer *), slaed9_( |
| 11574 | integer *, integer *, integer *, integer *, real *, real *, |
| 11575 | integer *, real *, real *, real *, real *, integer *, integer *), |
| 11576 | slaeda_(integer *, integer *, integer *, integer *, integer *, |
| 11577 | integer *, integer *, integer *, real *, real *, integer *, real * |
| 11578 | , real *, integer *); |
| 11579 | static integer idlmda; |
| 11580 | extern /* Subroutine */ int xerbla_(char *, integer *), slamrg_( |
| 11581 | integer *, integer *, real *, integer *, integer *, integer *); |
| 11582 | static integer coltyp; |
| 11583 | |
| 11584 | |
| 11585 | /* |
| 11586 | -- LAPACK routine (version 3.2) -- |
| 11587 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 11588 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 11589 | November 2006 |
| 11590 | |
| 11591 | |
| 11592 | Purpose |
| 11593 | ======= |
| 11594 | |
| 11595 | SLAED7 computes the updated eigensystem of a diagonal |
| 11596 | matrix after modification by a rank-one symmetric matrix. This |
| 11597 | routine is used only for the eigenproblem which requires all |
| 11598 | eigenvalues and optionally eigenvectors of a dense symmetric matrix |
| 11599 | that has been reduced to tridiagonal form. SLAED1 handles |
| 11600 | the case in which all eigenvalues and eigenvectors of a symmetric |
| 11601 | tridiagonal matrix are desired. |
| 11602 | |
| 11603 | T = Q(in) ( D(in) + RHO * Z*Z' ) Q'(in) = Q(out) * D(out) * Q'(out) |
| 11604 | |
| 11605 | where Z = Q'u, u is a vector of length N with ones in the |
| 11606 | CUTPNT and CUTPNT + 1 th elements and zeros elsewhere. |
| 11607 | |
| 11608 | The eigenvectors of the original matrix are stored in Q, and the |
| 11609 | eigenvalues are in D. The algorithm consists of three stages: |
| 11610 |