version 1.13, 2012/08/22 09:48:20
|
version 1.19, 2016/08/27 15:34:31
|
Line 1
|
Line 1
|
*> \brief \b DLASD6 |
*> \brief \b DLASD6 computes the SVD of an updated upper bidiagonal matrix obtained by merging two smaller ones by appending a row. Used by sbdsdc. |
* |
* |
* =========== DOCUMENTATION =========== |
* =========== DOCUMENTATION =========== |
* |
* |
Line 74
|
Line 74
|
*> |
*> |
*> The first stage consists of deflating the size of the problem |
*> The first stage consists of deflating the size of the problem |
*> when there are multiple singular values or if there is a zero |
*> when there are multiple singular values or if there is a zero |
*> in the Z vector. For each such occurence the dimension of the |
*> in the Z vector. For each such occurrence the dimension of the |
*> secular equation problem is reduced by one. This stage is |
*> secular equation problem is reduced by one. This stage is |
*> performed by the routine DLASD7. |
*> performed by the routine DLASD7. |
*> |
*> |
Line 164
|
Line 164
|
*> row. |
*> row. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] IDXQ |
*> \param[in,out] IDXQ |
*> \verbatim |
*> \verbatim |
*> IDXQ is INTEGER array, dimension ( N ) |
*> IDXQ is INTEGER array, dimension ( N ) |
*> This contains the permutation which will reintegrate the |
*> This contains the permutation which will reintegrate the |
Line 232
|
Line 232
|
*> \param[out] DIFR |
*> \param[out] DIFR |
*> \verbatim |
*> \verbatim |
*> DIFR is DOUBLE PRECISION array, |
*> DIFR is DOUBLE PRECISION array, |
*> dimension ( LDGNUM, 2 ) if ICOMPQ = 1 and |
*> dimension ( LDDIFR, 2 ) if ICOMPQ = 1 and |
*> dimension ( N ) if ICOMPQ = 0. |
*> dimension ( K ) if ICOMPQ = 0. |
*> On exit, DIFR(I, 1) is the distance between I-th updated |
*> On exit, DIFR(I,1) = D(I) - DSIGMA(I+1), DIFR(K,1) is not |
*> (undeflated) singular value and the I+1-th (undeflated) old |
*> defined and will not be referenced. |
*> singular value. |
|
*> |
*> |
*> If ICOMPQ = 1, DIFR(1:K,2) is an array containing the |
*> If ICOMPQ = 1, DIFR(1:K,2) is an array containing the |
*> normalizing factors for the right singular vector matrix. |
*> normalizing factors for the right singular vector matrix. |
*> |
*> |
*> See DLASD8 for details on DIFL and DIFR. |
*> See DLASD8 for details on DIFL and DIFR. |
*> \endverbatim |
*> \endverbatim |
Line 298
|
Line 297
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date November 2011 |
*> \date June 2016 |
* |
* |
*> \ingroup auxOTHERauxiliary |
*> \ingroup auxOTHERauxiliary |
* |
* |
Line 314
|
Line 313
|
$ LDGNUM, POLES, DIFL, DIFR, Z, K, C, S, WORK, |
$ LDGNUM, POLES, DIFL, DIFR, Z, K, C, S, WORK, |
$ IWORK, INFO ) |
$ IWORK, INFO ) |
* |
* |
* -- LAPACK auxiliary routine (version 3.4.0) -- |
* -- LAPACK auxiliary routine (version 3.6.1) -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* November 2011 |
* June 2016 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER GIVPTR, ICOMPQ, INFO, K, LDGCOL, LDGNUM, NL, |
INTEGER GIVPTR, ICOMPQ, INFO, K, LDGCOL, LDGNUM, NL, |
Line 414
|
Line 413
|
CALL DLASD8( ICOMPQ, K, D, Z, VF, VL, DIFL, DIFR, LDGNUM, |
CALL DLASD8( ICOMPQ, K, D, Z, VF, VL, DIFL, DIFR, LDGNUM, |
$ WORK( ISIGMA ), WORK( IW ), INFO ) |
$ WORK( ISIGMA ), WORK( IW ), INFO ) |
* |
* |
* Handle error returned |
* Report the possible convergence failure. |
* |
* |
IF( INFO.NE.0 ) THEN |
IF( INFO.NE.0 ) THEN |
CALL XERBLA( 'DLASD8', -INFO ) |
|
RETURN |
RETURN |
END IF |
END IF |
* |
* |