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

version 1.1, 2020/05/21 21:45:57 version 1.2, 2023/08/07 08:38:50
Line 220 Line 220
 *>          left singular vectors in the case JOBU = 'F'.  *>          left singular vectors in the case JOBU = 'F'.
 *>  *>
 *>          If LIWORK, LWORK, or LRWORK = -1, then on exit, if INFO = 0,  *>          If LIWORK, LWORK, 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 231 Line 231
 *>          LIWORK >= N              if JOBP = 'N' and JOBA .NE. 'E';  *>          LIWORK >= N              if JOBP = 'N' and JOBA .NE. 'E';
 *>          LIWORK >= N + M - 1 + N, if JOBP = 'P' and JOBA = 'E';  *>          LIWORK >= N + M - 1 + N, if JOBP = 'P' and JOBA = 'E';
 *>          LIWORK >= N + N          if JOBP = 'N' and JOBA = 'E'.  *>          LIWORK >= N + N          if JOBP = 'N' and JOBA = 'E'.
 *  *>
 *>          If LIWORK = -1, then a workspace query is assumed; the routine  *>          If LIWORK = -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 WORK, IWORK, and RWORK arrays, and no error  *>          for the WORK, IWORK, and RWORK arrays, and no error
Line 317 Line 317
 *>          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 DGESVD applied to the upper triangular or trapeziodal  *>          exact zeros in DGESVD 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
 *>          DGESVD, such as in the case of zero matrix) RWORK(2) = -1.  *>          DGESVD, such as in the case of zero matrix) RWORK(2) = -1.
 *>  *>
Line 331 Line 331
 *>          The dimension of the array RWORK.  *>          The dimension of the array RWORK.
 *>          If JOBP ='P', then LRWORK >= MAX(2, M).  *>          If JOBP ='P', then LRWORK >= MAX(2, M).
 *>          Otherwise, LRWORK >= 2  *>          Otherwise, LRWORK >= 2
 *  *>
 *>          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 WORK, IWORK, and RWORK arrays, and no error  *>          for the WORK, IWORK, and RWORK arrays, and no error
Line 406 Line 406
 *> \author Univ. of Colorado Denver  *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.  *> \author NAG Ltd.
 *  *
 *> \date November 2018  
 *  
 *> \ingroup doubleGEsing  *> \ingroup doubleGEsing
 *  *
 *  =====================================================================  *  =====================================================================
Line 641 Line 639
                  IF ( WNTVA ) THEN                   IF ( WNTVA ) THEN
 *                   .. minimal workspace length for N x N/2 DGEQRF  *                   .. minimal workspace length for N x N/2 DGEQRF
                     LWQRF  = MAX( N/2, 1 )                      LWQRF  = MAX( N/2, 1 )
 *                   .. minimal workspace lengt for N/2 x N/2 DGESVD  *                   .. minimal workspace length for N/2 x N/2 DGESVD
                     LWSVD2 = MAX( 5 * (N/2), 1 )                      LWSVD2 = MAX( 5 * (N/2), 1 )
                     LWORQ2 = MAX( N, 1 )                      LWORQ2 = 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>