Subroutine */
| 9350 | } /* dlaed1_ */ |
| 9351 | |
| 9352 | /* Subroutine */ int dlaed2_(integer *k, integer *n, integer *n1, doublereal * |
| 9353 | d__, doublereal *q, integer *ldq, integer *indxq, doublereal *rho, |
| 9354 | doublereal *z__, doublereal *dlamda, doublereal *w, doublereal *q2, |
| 9355 | integer *indx, integer *indxc, integer *indxp, integer *coltyp, |
| 9356 | integer *info) |
| 9357 | { |
| 9358 | /* System generated locals */ |
| 9359 | integer q_dim1, q_offset, i__1, i__2; |
| 9360 | doublereal d__1, d__2, d__3, d__4; |
| 9361 | |
| 9362 | /* Local variables */ |
| 9363 | static doublereal c__; |
| 9364 | static integer i__, j; |
| 9365 | static doublereal s, t; |
| 9366 | static integer k2, n2, ct, nj, pj, js, iq1, iq2, n1p1; |
| 9367 | static doublereal eps, tau, tol; |
| 9368 | static integer psm[4], imax, jmax; |
| 9369 | extern /* Subroutine */ int drot_(integer *, doublereal *, integer *, |
| 9370 | doublereal *, integer *, doublereal *, doublereal *); |
| 9371 | static integer ctot[4]; |
| 9372 | extern /* Subroutine */ int dscal_(integer *, doublereal *, doublereal *, |
| 9373 | integer *), dcopy_(integer *, doublereal *, integer *, doublereal |
| 9374 | *, integer *); |
| 9375 | |
| 9376 | extern integer idamax_(integer *, doublereal *, integer *); |
| 9377 | extern /* Subroutine */ int dlamrg_(integer *, integer *, doublereal *, |
| 9378 | integer *, integer *, integer *), dlacpy_(char *, integer *, |
| 9379 | integer *, doublereal *, integer *, doublereal *, integer *), xerbla_(char *, integer *); |
| 9380 | |
| 9381 | |
| 9382 | /* |
| 9383 | -- LAPACK routine (version 3.2) -- |
| 9384 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 9385 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 9386 | November 2006 |
| 9387 | |
| 9388 | |
| 9389 | Purpose |
| 9390 | ======= |
| 9391 | |
| 9392 | DLAED2 merges the two sets of eigenvalues together into a single |
| 9393 | sorted set. Then it tries to deflate the size of the problem. |
| 9394 | There are two ways in which deflation can occur: when two or more |
| 9395 | eigenvalues are close together or if there is a tiny entry in the |
| 9396 | Z vector. For each such occurrence the order of the related secular |
| 9397 | equation problem is reduced by one. |
| 9398 | |
| 9399 | Arguments |
| 9400 | ========= |
| 9401 | |
| 9402 | K (output) INTEGER |
| 9403 | The number of non-deflated eigenvalues, and the order of the |
| 9404 | related secular equation. 0 <= K <=N. |
| 9405 | |
| 9406 | N (input) INTEGER |
| 9407 | The dimension of the symmetric tridiagonal matrix. N >= 0. |
| 9408 | |
| 9409 | N1 (input) INTEGER |