Subroutine */
| 12012 | } /* clals0_ */ |
| 12013 | |
| 12014 | /* Subroutine */ int clalsa_(integer *icompq, integer *smlsiz, integer *n, |
| 12015 | integer *nrhs, complex *b, integer *ldb, complex *bx, integer *ldbx, |
| 12016 | real *u, integer *ldu, real *vt, integer *k, real *difl, real *difr, |
| 12017 | real *z__, real *poles, integer *givptr, integer *givcol, integer * |
| 12018 | ldgcol, integer *perm, real *givnum, real *c__, real *s, real *rwork, |
| 12019 | integer *iwork, integer *info) |
| 12020 | { |
| 12021 | /* System generated locals */ |
| 12022 | integer givcol_dim1, givcol_offset, perm_dim1, perm_offset, difl_dim1, |
| 12023 | difl_offset, difr_dim1, difr_offset, givnum_dim1, givnum_offset, |
| 12024 | poles_dim1, poles_offset, u_dim1, u_offset, vt_dim1, vt_offset, |
| 12025 | z_dim1, z_offset, b_dim1, b_offset, bx_dim1, bx_offset, i__1, |
| 12026 | i__2, i__3, i__4, i__5, i__6; |
| 12027 | complex q__1; |
| 12028 | |
| 12029 | /* Local variables */ |
| 12030 | static integer i__, j, i1, ic, lf, nd, ll, nl, nr, im1, nlf, nrf, lvl, |
| 12031 | ndb1, nlp1, lvl2, nrp1, jcol, nlvl, sqre, jrow, jimag, jreal, |
| 12032 | inode, ndiml; |
| 12033 | extern /* Subroutine */ int sgemm_(char *, char *, integer *, integer *, |
| 12034 | integer *, real *, real *, integer *, real *, integer *, real *, |
| 12035 | real *, integer *); |
| 12036 | static integer ndimr; |
| 12037 | extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, |
| 12038 | complex *, integer *), clals0_(integer *, integer *, integer *, |
| 12039 | integer *, integer *, complex *, integer *, complex *, integer *, |
| 12040 | integer *, integer *, integer *, integer *, real *, integer *, |
| 12041 | real *, real *, real *, real *, integer *, real *, real *, real *, |
| 12042 | integer *), xerbla_(char *, integer *), slasdt_(integer * |
| 12043 | , integer *, integer *, integer *, integer *, integer *, integer * |
| 12044 | ); |
| 12045 | |
| 12046 | |
| 12047 | /* |
| 12048 | -- LAPACK routine (version 3.2) -- |
| 12049 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 12050 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 12051 | November 2006 |
| 12052 | |
| 12053 | |
| 12054 | Purpose |
| 12055 | ======= |
| 12056 | |
| 12057 | CLALSA is an itermediate step in solving the least squares problem |
| 12058 | by computing the SVD of the coefficient matrix in compact form (The |
| 12059 | singular vectors are computed as products of simple orthorgonal |
| 12060 | matrices.). |
| 12061 | |
| 12062 | If ICOMPQ = 0, CLALSA applies the inverse of the left singular vector |
| 12063 | matrix of an upper bidiagonal matrix to the right hand side; and if |
| 12064 | ICOMPQ = 1, CLALSA applies the right singular vector matrix to the |
| 12065 | right hand side. The singular vector matrices were generated in |
| 12066 | compact form by CLALSA. |
| 12067 | |
| 12068 | Arguments |
| 12069 | ========= |
| 12070 | |
| 12071 | ICOMPQ (input) INTEGER |