Subroutine */
| 15398 | } /* slals0_ */ |
| 15399 | |
| 15400 | /* Subroutine */ int slalsa_(integer *icompq, integer *smlsiz, integer *n, |
| 15401 | integer *nrhs, real *b, integer *ldb, real *bx, integer *ldbx, real * |
| 15402 | u, integer *ldu, real *vt, integer *k, real *difl, real *difr, real * |
| 15403 | z__, real *poles, integer *givptr, integer *givcol, integer *ldgcol, |
| 15404 | integer *perm, real *givnum, real *c__, real *s, real *work, integer * |
| 15405 | iwork, integer *info) |
| 15406 | { |
| 15407 | /* System generated locals */ |
| 15408 | integer givcol_dim1, givcol_offset, perm_dim1, perm_offset, b_dim1, |
| 15409 | b_offset, bx_dim1, bx_offset, difl_dim1, difl_offset, difr_dim1, |
| 15410 | difr_offset, givnum_dim1, givnum_offset, poles_dim1, poles_offset, |
| 15411 | u_dim1, u_offset, vt_dim1, vt_offset, z_dim1, z_offset, i__1, |
| 15412 | i__2; |
| 15413 | |
| 15414 | /* Local variables */ |
| 15415 | static integer i__, j, i1, ic, lf, nd, ll, nl, nr, im1, nlf, nrf, lvl, |
| 15416 | ndb1, nlp1, lvl2, nrp1, nlvl, sqre, inode, ndiml; |
| 15417 | extern /* Subroutine */ int sgemm_(char *, char *, integer *, integer *, |
| 15418 | integer *, real *, real *, integer *, real *, integer *, real *, |
| 15419 | real *, integer *); |
| 15420 | static integer ndimr; |
| 15421 | extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *, |
| 15422 | integer *), slals0_(integer *, integer *, integer *, integer *, |
| 15423 | integer *, real *, integer *, real *, integer *, integer *, |
| 15424 | integer *, integer *, integer *, real *, integer *, real *, real * |
| 15425 | , real *, real *, integer *, real *, real *, real *, integer *), |
| 15426 | xerbla_(char *, integer *), slasdt_(integer *, integer *, |
| 15427 | integer *, integer *, integer *, integer *, integer *); |
| 15428 | |
| 15429 | |
| 15430 | /* |
| 15431 | -- LAPACK routine (version 3.2) -- |
| 15432 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 15433 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 15434 | November 2006 |
| 15435 | |
| 15436 | |
| 15437 | Purpose |
| 15438 | ======= |
| 15439 | |
| 15440 | SLALSA is an itermediate step in solving the least squares problem |
| 15441 | by computing the SVD of the coefficient matrix in compact form (The |
| 15442 | singular vectors are computed as products of simple orthorgonal |
| 15443 | matrices.). |
| 15444 | |
| 15445 | If ICOMPQ = 0, SLALSA applies the inverse of the left singular vector |
| 15446 | matrix of an upper bidiagonal matrix to the right hand side; and if |
| 15447 | ICOMPQ = 1, SLALSA applies the right singular vector matrix to the |
| 15448 | right hand side. The singular vector matrices were generated in |
| 15449 | compact form by SLALSA. |
| 15450 | |
| 15451 | Arguments |
| 15452 | ========= |
| 15453 | |
| 15454 | |
| 15455 | ICOMPQ (input) INTEGER |
| 15456 | Specifies whether the left or the right singular vector |
| 15457 | matrix is involved. |