Diff for /rpl/lapack/lapack/dgesdd.f between versions 1.10 and 1.11

version 1.10, 2012/08/22 09:48:14 version 1.11, 2012/12/14 12:30:20
Line 176 Line 176
 *>                     max(max(M,N),5*min(M,N)*min(M,N)+4*min(M,N)).  *>                     max(max(M,N),5*min(M,N)*min(M,N)+4*min(M,N)).
 *>          If JOBZ = 'S' or 'A'  *>          If JOBZ = 'S' or 'A'
 *>            LWORK >= 3*min(M,N) +  *>            LWORK >= 3*min(M,N) +
 *>                     max(max(M,N),4*min(M,N)*min(M,N)+4*min(M,N)).  *>                     max(max(M,N),4*min(M,N)*min(M,N)+3*min(M,N)+max(M,N)).
 *>          For good performance, LWORK should generally be larger.  *>          For good performance, LWORK should generally be larger.
 *>          If LWORK = -1 but other input arguments are legal, WORK(1)  *>          If LWORK = -1 but other input arguments are legal, WORK(1)
 *>          returns the optimal LWORK.  *>          returns the optimal LWORK.
Line 203 Line 203
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver 
 *> \author NAG Ltd.   *> \author NAG Ltd. 
 *  *
 *> \date November 2011  *> \date September 2012
 *  *
 *> \ingroup doubleGEsing  *> \ingroup doubleGEsing
 *  *
Line 217 Line 217
       SUBROUTINE DGESDD( JOBZ, M, N, A, LDA, S, U, LDU, VT, LDVT, WORK,        SUBROUTINE DGESDD( JOBZ, M, N, A, LDA, S, U, LDU, VT, LDVT, WORK,
      $                   LWORK, IWORK, INFO )       $                   LWORK, IWORK, INFO )
 *  *
 *  -- LAPACK driver routine (version 3.4.0) --  *  -- LAPACK driver routine (version 3.4.2) --
 *  -- 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  *     September 2012
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       CHARACTER          JOBZ        CHARACTER          JOBZ
Line 372 Line 372
      $                    ILAENV( 1, 'DORMBR', 'PRT', N, N, N, -1 ) )       $                    ILAENV( 1, 'DORMBR', 'PRT', N, N, N, -1 ) )
                   WRKBL = MAX( WRKBL, BDSPAC+3*N )                    WRKBL = MAX( WRKBL, BDSPAC+3*N )
                   MAXWRK = WRKBL + N*N                    MAXWRK = WRKBL + N*N
                   MINWRK = BDSPAC + N*N + 3*N                    MINWRK = BDSPAC + N*N + 2*N + M
                END IF                 END IF
             ELSE              ELSE
 *  *
Line 766 Line 766
                NWORK = ITAU + N                 NWORK = ITAU + N
 *  *
 *              Compute A=Q*R, copying result to U  *              Compute A=Q*R, copying result to U
 *              (Workspace: need N*N+2*N, prefer N*N+N+N*NB)  *              (Workspace: need N*N+N+M, prefer N*N+N+M*NB)
 *  *
                CALL DGEQRF( M, N, A, LDA, WORK( ITAU ), WORK( NWORK ),                 CALL DGEQRF( M, N, A, LDA, WORK( ITAU ), WORK( NWORK ),
      $                      LWORK-NWORK+1, IERR )       $                      LWORK-NWORK+1, IERR )
                CALL DLACPY( 'L', M, N, A, LDA, U, LDU )                 CALL DLACPY( 'L', M, N, A, LDA, U, LDU )
 *  *
 *              Generate Q in U  *              Generate Q in U
 *              (Workspace: need N*N+2*N, prefer N*N+N+N*NB)  *              (Workspace: need N*N+N+M, prefer N*N+N+M*NB)
                CALL DORGQR( M, M, N, U, LDU, WORK( ITAU ),                 CALL DORGQR( M, M, N, U, LDU, WORK( ITAU ),
      $                      WORK( NWORK ), LWORK-NWORK+1, IERR )       $                      WORK( NWORK ), LWORK-NWORK+1, IERR )
 *  *

Removed from v.1.10  
changed lines
  Added in v.1.11


CVSweb interface <joel.bertrand@systella.fr>