Subroutine */
| 12078 | } /* zlals0_ */ |
| 12079 | |
| 12080 | /* Subroutine */ int zlalsa_(integer *icompq, integer *smlsiz, integer *n, |
| 12081 | integer *nrhs, doublecomplex *b, integer *ldb, doublecomplex *bx, |
| 12082 | integer *ldbx, doublereal *u, integer *ldu, doublereal *vt, integer * |
| 12083 | k, doublereal *difl, doublereal *difr, doublereal *z__, doublereal * |
| 12084 | poles, integer *givptr, integer *givcol, integer *ldgcol, integer * |
| 12085 | perm, doublereal *givnum, doublereal *c__, doublereal *s, doublereal * |
| 12086 | rwork, integer *iwork, integer *info) |
| 12087 | { |
| 12088 | /* System generated locals */ |
| 12089 | integer givcol_dim1, givcol_offset, perm_dim1, perm_offset, difl_dim1, |
| 12090 | difl_offset, difr_dim1, difr_offset, givnum_dim1, givnum_offset, |
| 12091 | poles_dim1, poles_offset, u_dim1, u_offset, vt_dim1, vt_offset, |
| 12092 | z_dim1, z_offset, b_dim1, b_offset, bx_dim1, bx_offset, i__1, |
| 12093 | i__2, i__3, i__4, i__5, i__6; |
| 12094 | doublecomplex z__1; |
| 12095 | |
| 12096 | /* Local variables */ |
| 12097 | static integer i__, j, i1, ic, lf, nd, ll, nl, nr, im1, nlf, nrf, lvl, |
| 12098 | ndb1, nlp1, lvl2, nrp1, jcol, nlvl, sqre, jrow, jimag; |
| 12099 | extern /* Subroutine */ int dgemm_(char *, char *, integer *, integer *, |
| 12100 | integer *, doublereal *, doublereal *, integer *, doublereal *, |
| 12101 | integer *, doublereal *, doublereal *, integer *); |
| 12102 | static integer jreal, inode, ndiml, ndimr; |
| 12103 | extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, |
| 12104 | doublecomplex *, integer *), zlals0_(integer *, integer *, |
| 12105 | integer *, integer *, integer *, doublecomplex *, integer *, |
| 12106 | doublecomplex *, integer *, integer *, integer *, integer *, |
| 12107 | integer *, doublereal *, integer *, doublereal *, doublereal *, |
| 12108 | doublereal *, doublereal *, integer *, doublereal *, doublereal *, |
| 12109 | doublereal *, integer *), dlasdt_(integer *, integer *, integer * |
| 12110 | , integer *, integer *, integer *, integer *), xerbla_(char *, |
| 12111 | integer *); |
| 12112 | |
| 12113 | |
| 12114 | /* |
| 12115 | -- LAPACK routine (version 3.2) -- |
| 12116 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 12117 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 12118 | November 2006 |
| 12119 | |
| 12120 | |
| 12121 | Purpose |
| 12122 | ======= |
| 12123 | |
| 12124 | ZLALSA is an itermediate step in solving the least squares problem |
| 12125 | by computing the SVD of the coefficient matrix in compact form (The |
| 12126 | singular vectors are computed as products of simple orthorgonal |
| 12127 | matrices.). |
| 12128 | |
| 12129 | If ICOMPQ = 0, ZLALSA applies the inverse of the left singular vector |
| 12130 | matrix of an upper bidiagonal matrix to the right hand side; and if |
| 12131 | ICOMPQ = 1, ZLALSA applies the right singular vector matrix to the |
| 12132 | right hand side. The singular vector matrices were generated in |
| 12133 | compact form by ZLALSA. |
| 12134 | |
| 12135 | Arguments |
| 12136 | ========= |
| 12137 |