Diff for /rpl/lapack/lapack/zggev3.f between versions 1.5 and 1.6

version 1.5, 2018/05/29 07:18:17 version 1.6, 2023/08/07 08:39:21
Line 196 Line 196
 *>                The QZ iteration failed.  No eigenvectors have been  *>                The QZ iteration failed.  No eigenvectors have been
 *>                calculated, but ALPHA(j) and BETA(j) should be  *>                calculated, but ALPHA(j) and BETA(j) should be
 *>                correct for j=INFO+1,...,N.  *>                correct for j=INFO+1,...,N.
 *>          > N:  =N+1: other then QZ iteration failed in DHGEQZ,  *>          > N:  =N+1: other then QZ iteration failed in ZHGEQZ,
 *>                =N+2: error return from DTGEVC.  *>                =N+2: error return from ZTGEVC.
 *> \endverbatim  *> \endverbatim
 *  *
 *  Authors:  *  Authors:
Line 208 Line 208
 *> \author Univ. of Colorado Denver  *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.  *> \author NAG Ltd.
 *  *
 *> \date January 2015  
 *  
 *> \ingroup complex16GEeigen  *> \ingroup complex16GEeigen
 *  *
 *  =====================================================================  *  =====================================================================
       SUBROUTINE ZGGEV3( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHA, BETA,        SUBROUTINE ZGGEV3( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHA, BETA,
      $                   VL, LDVL, VR, LDVR, WORK, LWORK, RWORK, INFO )       $                   VL, LDVL, VR, LDVR, WORK, LWORK, RWORK, INFO )
 *  *
 *  -- LAPACK driver routine (version 3.6.1) --  *  -- LAPACK driver routine --
 *  -- 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..--
 *     January 2015  
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       CHARACTER          JOBVL, JOBVR        CHARACTER          JOBVL, JOBVR
Line 256 Line 253
 *     ..  *     ..
 *     .. External Subroutines ..  *     .. External Subroutines ..
       EXTERNAL           DLABAD, XERBLA, ZGEQRF, ZGGBAK, ZGGBAL, ZGGHD3,        EXTERNAL           DLABAD, XERBLA, ZGEQRF, ZGGBAK, ZGGBAL, ZGGHD3,
      $                   ZHGEQZ, ZLACPY, ZLASCL, ZLASET, ZTGEVC, ZUNGQR,       $                   ZLAQZ0, ZLACPY, ZLASCL, ZLASET, ZTGEVC, ZUNGQR,
      $                   ZUNMQR       $                   ZUNMQR
 *     ..  *     ..
 *     .. External Functions ..  *     .. External Functions ..
Line 338 Line 335
             CALL ZGGHD3( JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB, VL,              CALL ZGGHD3( JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB, VL,
      $                   LDVL, VR, LDVR, WORK, -1, IERR )       $                   LDVL, VR, LDVR, WORK, -1, IERR )
             LWKOPT = MAX( LWKOPT, N+INT( WORK( 1 ) ) )              LWKOPT = MAX( LWKOPT, N+INT( WORK( 1 ) ) )
             CALL ZHGEQZ( 'S', JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB,              CALL ZLAQZ0( 'S', JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB,
      $                   ALPHA, BETA, VL, LDVL, VR, LDVR, WORK, -1,       $                   ALPHA, BETA, VL, LDVL, VR, LDVR, WORK, -1,
      $                   RWORK, IERR )       $                   RWORK, 0, IERR )
             LWKOPT = MAX( LWKOPT, N+INT( WORK( 1 ) ) )              LWKOPT = MAX( LWKOPT, N+INT( WORK( 1 ) ) )
          ELSE           ELSE
             CALL ZGGHD3( JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB, VL,              CALL ZGGHD3( JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB, VL,
      $                   LDVL, VR, LDVR, WORK, -1, IERR )       $                   LDVL, VR, LDVR, WORK, -1, IERR )
             LWKOPT = MAX( LWKOPT, N+INT( WORK( 1 ) ) )              LWKOPT = MAX( LWKOPT, N+INT( WORK( 1 ) ) )
             CALL ZHGEQZ( 'E', JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB,              CALL ZLAQZ0( 'E', JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB,
      $                   ALPHA, BETA, VL, LDVL, VR, LDVR, WORK, -1,       $                   ALPHA, BETA, VL, LDVL, VR, LDVR, WORK, -1,
      $                   RWORK, IERR )       $                   RWORK, 0, IERR )
             LWKOPT = MAX( LWKOPT, N+INT( WORK( 1 ) ) )              LWKOPT = MAX( LWKOPT, N+INT( WORK( 1 ) ) )
          END IF           END IF
          WORK( 1 ) = DCMPLX( LWKOPT )           WORK( 1 ) = DCMPLX( LWKOPT )
Line 470 Line 467
       ELSE        ELSE
          CHTEMP = 'E'           CHTEMP = 'E'
       END IF        END IF
       CALL ZHGEQZ( CHTEMP, JOBVL, JOBVR, N, ILO, IHI, A, LDA, B, LDB,        CALL ZLAQZ0( CHTEMP, JOBVL, JOBVR, N, ILO, IHI, A, LDA, B, LDB,
      $             ALPHA, BETA, VL, LDVL, VR, LDVR, WORK( IWRK ),       $             ALPHA, BETA, VL, LDVL, VR, LDVR, WORK( IWRK ),
      $             LWORK+1-IWRK, RWORK( IRWRK ), IERR )       $             LWORK+1-IWRK, RWORK( IRWRK ), 0, IERR )
       IF( IERR.NE.0 ) THEN        IF( IERR.NE.0 ) THEN
          IF( IERR.GT.0 .AND. IERR.LE.N ) THEN           IF( IERR.GT.0 .AND. IERR.LE.N ) THEN
             INFO = IERR              INFO = IERR

Removed from v.1.5  
changed lines
  Added in v.1.6


CVSweb interface <joel.bertrand@systella.fr>