Subroutine */
| 27071 | } /* slasd6_ */ |
| 27072 | |
| 27073 | /* Subroutine */ int slasd7_(integer *icompq, integer *nl, integer *nr, |
| 27074 | integer *sqre, integer *k, real *d__, real *z__, real *zw, real *vf, |
| 27075 | real *vfw, real *vl, real *vlw, real *alpha, real *beta, real *dsigma, |
| 27076 | integer *idx, integer *idxp, integer *idxq, integer *perm, integer * |
| 27077 | givptr, integer *givcol, integer *ldgcol, real *givnum, integer * |
| 27078 | ldgnum, real *c__, real *s, integer *info) |
| 27079 | { |
| 27080 | /* System generated locals */ |
| 27081 | integer givcol_dim1, givcol_offset, givnum_dim1, givnum_offset, i__1; |
| 27082 | real r__1, r__2; |
| 27083 | |
| 27084 | /* Local variables */ |
| 27085 | static integer i__, j, m, n, k2; |
| 27086 | static real z1; |
| 27087 | static integer jp; |
| 27088 | static real eps, tau, tol; |
| 27089 | static integer nlp1, nlp2, idxi, idxj; |
| 27090 | extern /* Subroutine */ int srot_(integer *, real *, integer *, real *, |
| 27091 | integer *, real *, real *); |
| 27092 | static integer idxjp, jprev; |
| 27093 | extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *, |
| 27094 | integer *); |
| 27095 | extern doublereal slapy2_(real *, real *), slamch_(char *); |
| 27096 | extern /* Subroutine */ int xerbla_(char *, integer *), slamrg_( |
| 27097 | integer *, integer *, real *, integer *, integer *, integer *); |
| 27098 | static real hlftol; |
| 27099 | |
| 27100 | |
| 27101 | /* |
| 27102 | -- LAPACK auxiliary routine (version 3.2) -- |
| 27103 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 27104 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 27105 | November 2006 |
| 27106 | |
| 27107 | |
| 27108 | Purpose |
| 27109 | ======= |
| 27110 | |
| 27111 | SLASD7 merges the two sets of singular values together into a single |
| 27112 | sorted set. Then it tries to deflate the size of the problem. There |
| 27113 | are two ways in which deflation can occur: when two or more singular |
| 27114 | values are close together or if there is a tiny entry in the Z |
| 27115 | vector. For each such occurrence the order of the related |
| 27116 | secular equation problem is reduced by one. |
| 27117 | |
| 27118 | SLASD7 is called from SLASD6. |
| 27119 | |
| 27120 | Arguments |
| 27121 | ========= |
| 27122 | |
| 27123 | ICOMPQ (input) INTEGER |
| 27124 | Specifies whether singular vectors are to be computed |
| 27125 | in compact form, as follows: |
| 27126 | = 0: Compute singular values only. |
| 27127 | = 1: Compute singular vectors of upper |
| 27128 | bidiagonal matrix in compact form. |
| 27129 | |
| 27130 | NL (input) INTEGER |