Diff for /rpl/lapack/lapack/zgesvdq.f between versions 1.1 and 1.2

version 1.1, 2020/05/21 21:46:04 version 1.2, 2023/08/07 08:39:19
Line 40 Line 40
 *>  *>
 *> \verbatim  *> \verbatim
 *>  *>
 * ZCGESVDQ computes the singular value decomposition (SVD) of a complex  *> ZCGESVDQ computes the singular value decomposition (SVD) of a complex
 *> M-by-N matrix A, where M >= N. The SVD of A is written as  *> M-by-N matrix A, where M >= N. The SVD of A is written as
 *>                                    [++]   [xx]   [x0]   [xx]  *>                                    [++]   [xx]   [x0]   [xx]
 *>              A = U * SIGMA * V^*,  [++] = [xx] * [ox] * [xx]  *>              A = U * SIGMA * V^*,  [++] = [xx] * [ox] * [xx]
Line 218 Line 218
 *>          If JOBP = 'P', IWORK(N+1:N+M-1) contains the indices of the sequence  *>          If JOBP = 'P', IWORK(N+1:N+M-1) contains the indices of the sequence
 *>          of row swaps used in row pivoting. These can be used to restore the  *>          of row swaps used in row pivoting. These can be used to restore the
 *>          left singular vectors in the case JOBU = 'F'.  *>          left singular vectors in the case JOBU = 'F'.
 *  *>
 *>          If LIWORK, LCWORK, or LRWORK = -1, then on exit, if INFO = 0,  *>          If LIWORK, LCWORK, or LRWORK = -1, then on exit, if INFO = 0,
 *>          LIWORK(1) returns the minimal LIWORK.  *>          IWORK(1) returns the minimal LIWORK.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] LIWORK  *> \param[in] LIWORK
Line 242 Line 242
 *>          On exit, if, on entry, LCWORK.NE.-1, CWORK(1:N) contains parameters  *>          On exit, if, on entry, LCWORK.NE.-1, CWORK(1:N) contains parameters
 *>          needed to recover the Q factor from the QR factorization computed by  *>          needed to recover the Q factor from the QR factorization computed by
 *>          ZGEQP3.  *>          ZGEQP3.
 *  *>
 *>          If LIWORK, LCWORK, or LRWORK = -1, then on exit, if INFO = 0,  *>          If LIWORK, LCWORK, or LRWORK = -1, then on exit, if INFO = 0,
 *>          CWORK(1) returns the optimal LCWORK, and  *>          CWORK(1) returns the optimal LCWORK, and
 *>          CWORK(2) returns the minimal LCWORK.  *>          CWORK(2) returns the minimal LCWORK.
Line 315 Line 315
 *>          N^(-1/4) * RWORK(1) <= ||pinv(C)||_2 <= N^(1/4) * RWORK(1).  *>          N^(-1/4) * RWORK(1) <= ||pinv(C)||_2 <= N^(1/4) * RWORK(1).
 *>          Otherwise, RWORK(1) = -1.  *>          Otherwise, RWORK(1) = -1.
 *>          2. RWORK(2) contains the number of singular values computed as  *>          2. RWORK(2) contains the number of singular values computed as
 *>          exact zeros in ZGESVD applied to the upper triangular or trapeziodal  *>          exact zeros in ZGESVD applied to the upper triangular or trapezoidal
 *>          R (from the initial QR factorization). In case of early exit (no call to  *>          R (from the initial QR factorization). In case of early exit (no call to
 *>          ZGESVD, such as in the case of zero matrix) RWORK(2) = -1.  *>          ZGESVD, such as in the case of zero matrix) RWORK(2) = -1.
 *  *>
 *>          If LIWORK, LCWORK, or LRWORK = -1, then on exit, if INFO = 0,  *>          If LIWORK, LCWORK, or LRWORK = -1, then on exit, if INFO = 0,
 *>          RWORK(1) returns the minimal LRWORK.  *>          RWORK(1) returns the minimal LRWORK.
 *> \endverbatim  *> \endverbatim
Line 329 Line 329
 *>          The dimension of the array RWORK.  *>          The dimension of the array RWORK.
 *>          If JOBP ='P', then LRWORK >= MAX(2, M, 5*N);  *>          If JOBP ='P', then LRWORK >= MAX(2, M, 5*N);
 *>          Otherwise, LRWORK >= MAX(2, 5*N).  *>          Otherwise, LRWORK >= MAX(2, 5*N).
 *  *>
 *>          If LRWORK = -1, then a workspace query is assumed; the routine  *>          If LRWORK = -1, then a workspace query is assumed; the routine
 *>          only calculates and returns the optimal and minimal sizes  *>          only calculates and returns the optimal and minimal sizes
 *>          for the CWORK, IWORK, and RWORK arrays, and no error  *>          for the CWORK, IWORK, and RWORK arrays, and no error
Line 404 Line 404
 *> \author Univ. of Colorado Denver  *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.  *> \author NAG Ltd.
 *  *
 *> \date November 2018  
 *  
 *> \ingroup complex16GEsing  *> \ingroup complex16GEsing
 *  *
 *  =====================================================================  *  =====================================================================
Line 638 Line 636
                  IF ( WNTVA ) THEN                   IF ( WNTVA ) THEN
 *                   .. minimal workspace length for N x N/2 ZGEQRF  *                   .. minimal workspace length for N x N/2 ZGEQRF
                     LWQRF  = MAX( N/2, 1 )                      LWQRF  = MAX( N/2, 1 )
 *                   .. minimal workspace lengt for N/2 x N/2 ZGESVD  *                   .. minimal workspace length for N/2 x N/2 ZGESVD
                     LWSVD2 = MAX( 3 * (N/2), 1 )                      LWSVD2 = MAX( 3 * (N/2), 1 )
                     LWUNQ2 = MAX( N, 1 )                      LWUNQ2 = MAX( N, 1 )
                     MINWRK2 = MAX( LWQP3, N/2+LWQRF, N/2+LWSVD2,                      MINWRK2 = MAX( LWQP3, N/2+LWQRF, N/2+LWSVD2,

Removed from v.1.1  
changed lines
  Added in v.1.2


CVSweb interface <joel.bertrand@systella.fr>