Subroutine */
| 24630 | } /* dlasd1_ */ |
| 24631 | |
| 24632 | /* Subroutine */ int dlasd2_(integer *nl, integer *nr, integer *sqre, integer |
| 24633 | *k, doublereal *d__, doublereal *z__, doublereal *alpha, doublereal * |
| 24634 | beta, doublereal *u, integer *ldu, doublereal *vt, integer *ldvt, |
| 24635 | doublereal *dsigma, doublereal *u2, integer *ldu2, doublereal *vt2, |
| 24636 | integer *ldvt2, integer *idxp, integer *idx, integer *idxc, integer * |
| 24637 | idxq, integer *coltyp, integer *info) |
| 24638 | { |
| 24639 | /* System generated locals */ |
| 24640 | integer u_dim1, u_offset, u2_dim1, u2_offset, vt_dim1, vt_offset, |
| 24641 | vt2_dim1, vt2_offset, i__1; |
| 24642 | doublereal d__1, d__2; |
| 24643 | |
| 24644 | /* Local variables */ |
| 24645 | static doublereal c__; |
| 24646 | static integer i__, j, m, n; |
| 24647 | static doublereal s; |
| 24648 | static integer k2; |
| 24649 | static doublereal z1; |
| 24650 | static integer ct, jp; |
| 24651 | static doublereal eps, tau, tol; |
| 24652 | static integer psm[4], nlp1, nlp2, idxi, idxj; |
| 24653 | extern /* Subroutine */ int drot_(integer *, doublereal *, integer *, |
| 24654 | doublereal *, integer *, doublereal *, doublereal *); |
| 24655 | static integer ctot[4], idxjp; |
| 24656 | extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *, |
| 24657 | doublereal *, integer *); |
| 24658 | static integer jprev; |
| 24659 | |
| 24660 | extern /* Subroutine */ int dlamrg_(integer *, integer *, doublereal *, |
| 24661 | integer *, integer *, integer *), dlacpy_(char *, integer *, |
| 24662 | integer *, doublereal *, integer *, doublereal *, integer *), dlaset_(char *, integer *, integer *, doublereal *, |
| 24663 | doublereal *, doublereal *, integer *), xerbla_(char *, |
| 24664 | integer *); |
| 24665 | static doublereal hlftol; |
| 24666 | |
| 24667 | |
| 24668 | /* |
| 24669 | -- LAPACK auxiliary routine (version 3.2) -- |
| 24670 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 24671 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 24672 | November 2006 |
| 24673 | |
| 24674 | |
| 24675 | Purpose |
| 24676 | ======= |
| 24677 | |
| 24678 | DLASD2 merges the two sets of singular values together into a single |
| 24679 | sorted set. Then it tries to deflate the size of the problem. |
| 24680 | There are two ways in which deflation can occur: when two or more |
| 24681 | singular values are close together or if there is a tiny entry in the |
| 24682 | Z vector. For each such occurrence the order of the related secular |
| 24683 | equation problem is reduced by one. |
| 24684 | |
| 24685 | DLASD2 is called from DLASD1. |
| 24686 | |
| 24687 | Arguments |
| 24688 | ========= |
| 24689 |