Provided by: liblapack-doc_3.12.0-3build1.1_all 
      
    
NAME
       laqz2 - laqz2: step in ggev3, gges3
SYNOPSIS
   Functions
       recursive subroutine claqz2 (ilschur, ilq, ilz, n, ilo, ihi, nw, a, lda, b, ldb, q, ldq, z, ldz, ns, nd,
           alpha, beta, qc, ldqc, zc, ldzc, work, lwork, rwork, rec, info)
           CLAQZ2
       subroutine dlaqz2 (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb, nq, qstart, q, ldq, nz, zstart, z,
           ldz)
           DLAQZ2
       subroutine slaqz2 (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb, nq, qstart, q, ldq, nz, zstart, z,
           ldz)
           SLAQZ2
       recursive subroutine zlaqz2 (ilschur, ilq, ilz, n, ilo, ihi, nw, a, lda, b, ldb, q, ldq, z, ldz, ns, nd,
           alpha, beta, qc, ldqc, zc, ldzc, work, lwork, rwork, rec, info)
           ZLAQZ2
Detailed Description
Function Documentation
   recursive subroutine claqz2 (logical, intent(in) ilschur, logical, intent(in) ilq, logical, intent(in) ilz,
       integer, intent(in) n, integer, intent(in) ilo, integer, intent(in) ihi, integer, intent(in) nw, complex,
       dimension( lda, * ), intent(inout) a, integer, intent(in) lda, complex, dimension( ldb, * ),
       intent(inout) b, integer, intent(in) ldb, complex, dimension( ldq, * ), intent(inout) q, integer,
       intent(in) ldq, complex, dimension( ldz, * ), intent(inout) z, integer, intent(in) ldz, integer,
       intent(out) ns, integer, intent(out) nd, complex, dimension( * ), intent(inout) alpha, complex,
       dimension( * ), intent(inout) beta, complex, dimension( ldqc, * ) qc, integer, intent(in) ldqc, complex,
       dimension( ldzc, * ) zc, integer, intent(in) ldzc, complex, dimension( * ) work, integer, intent(in)
       lwork, real, dimension( * ) rwork, integer, intent(in) rec, integer, intent(out) info)
       CLAQZ2
       Purpose:
            CLAQZ2 performs AED
       Parameters
           ILSCHUR
                     ILSCHUR is LOGICAL
                         Determines whether or not to update the full Schur form
           ILQ
                     ILQ is LOGICAL
                         Determines whether or not to update the matrix Q
           ILZ
                     ILZ is LOGICAL
                         Determines whether or not to update the matrix Z
           N
                     N is INTEGER
                     The order of the matrices A, B, Q, and Z.  N >= 0.
           ILO
                     ILO is INTEGER
           IHI
                     IHI is INTEGER
                     ILO and IHI mark the rows and columns of (A,B) which
                     are to be normalized
           NW
                     NW is INTEGER
                     The desired size of the deflation window.
           A
                     A is COMPLEX array, dimension (LDA, N)
           LDA
                     LDA is INTEGER
                     The leading dimension of the array A.  LDA >= max( 1, N ).
           B
                     B is COMPLEX array, dimension (LDB, N)
           LDB
                     LDB is INTEGER
                     The leading dimension of the array B.  LDB >= max( 1, N ).
           Q
                     Q is COMPLEX array, dimension (LDQ, N)
           LDQ
                     LDQ is INTEGER
           Z
                     Z is COMPLEX array, dimension (LDZ, N)
           LDZ
                     LDZ is INTEGER
           NS
                     NS is INTEGER
                     The number of unconverged eigenvalues available to
                     use as shifts.
           ND
                     ND is INTEGER
                     The number of converged eigenvalues found.
           ALPHA
                     ALPHA is COMPLEX array, dimension (N)
                     Each scalar alpha defining an eigenvalue
                     of GNEP.
           BETA
                     BETA is COMPLEX array, dimension (N)
                     The scalars beta that define the eigenvalues of GNEP.
                     Together, the quantities alpha = ALPHA(j) and
                     beta = BETA(j) represent the j-th eigenvalue of the matrix
                     pair (A,B), in one of the forms lambda = alpha/beta or
                     mu = beta/alpha.  Since either lambda or mu may overflow,
                     they should not, in general, be computed.
           QC
                     QC is COMPLEX array, dimension (LDQC, NW)
           LDQC
                     LDQC is INTEGER
           ZC
                     ZC is COMPLEX array, dimension (LDZC, NW)
           LDZC
                     LDZ is INTEGER
           WORK
                     WORK is COMPLEX array, dimension (MAX(1,LWORK))
                     On exit, if INFO >= 0, WORK(1) returns the optimal LWORK.
           LWORK
                     LWORK is INTEGER
                     The dimension of the array WORK.  LWORK >= max(1,N).
                     If LWORK = -1, then a workspace query is assumed; the routine
                     only calculates the optimal size of the WORK array, returns
                     this value as the first entry of the WORK array, and no error
                     message related to LWORK is issued by XERBLA.
           RWORK
                     RWORK is REAL array, dimension (N)
           REC
                     REC is INTEGER
                        REC indicates the current recursion level. Should be set
                        to 0 on first call.
           INFO
                     INFO is INTEGER
                     = 0: successful exit
                     < 0: if INFO = -i, the i-th argument had an illegal value
       Author
           Thijs Steel, KU Leuven, KU Leuven
       Date
           May 2020
   subroutine dlaqz2 (logical, intent(in) ilq, logical, intent(in) ilz, integer, intent(in) k, integer,
       intent(in) istartm, integer, intent(in) istopm, integer, intent(in) ihi, double precision, dimension(
       lda, * ) a, integer, intent(in) lda, double precision, dimension( ldb, * ) b, integer, intent(in) ldb,
       integer, intent(in) nq, integer, intent(in) qstart, double precision, dimension( ldq, * ) q, integer,
       intent(in) ldq, integer, intent(in) nz, integer, intent(in) zstart, double precision, dimension( ldz,
       * ) z, integer, intent(in) ldz)
       DLAQZ2
       Purpose:
                 DLAQZ2 chases a 2x2 shift bulge in a matrix pencil down a single position
       Parameters
           ILQ
                     ILQ is LOGICAL
                         Determines whether or not to update the matrix Q
           ILZ
                     ILZ is LOGICAL
                         Determines whether or not to update the matrix Z
           K
                     K is INTEGER
                         Index indicating the position of the bulge.
                         On entry, the bulge is located in
                         (A(k+1:k+2,k:k+1),B(k+1:k+2,k:k+1)).
                         On exit, the bulge is located in
                         (A(k+2:k+3,k+1:k+2),B(k+2:k+3,k+1:k+2)).
           ISTARTM
                     ISTARTM is INTEGER
           ISTOPM
                     ISTOPM is INTEGER
                         Updates to (A,B) are restricted to
                         (istartm:k+3,k:istopm). It is assumed
                         without checking that istartm <= k+1 and
                         k+2 <= istopm
           IHI
                     IHI is INTEGER
           A
                     A is DOUBLE PRECISION array, dimension (LDA,N)
           LDA
                     LDA is INTEGER
                         The leading dimension of A as declared in
                         the calling procedure.
           B
                     B is DOUBLE PRECISION array, dimension (LDB,N)
           LDB
                     LDB is INTEGER
                         The leading dimension of B as declared in
                         the calling procedure.
           NQ
                     NQ is INTEGER
                         The order of the matrix Q
           QSTART
                     QSTART is INTEGER
                         Start index of the matrix Q. Rotations are applied
                         To columns k+2-qStart:k+4-qStart of Q.
           Q
                     Q is DOUBLE PRECISION array, dimension (LDQ,NQ)
           LDQ
                     LDQ is INTEGER
                         The leading dimension of Q as declared in
                         the calling procedure.
           NZ
                     NZ is INTEGER
                         The order of the matrix Z
           ZSTART
                     ZSTART is INTEGER
                         Start index of the matrix Z. Rotations are applied
                         To columns k+1-qStart:k+3-qStart of Z.
           Z
                     Z is DOUBLE PRECISION array, dimension (LDZ,NZ)
           LDZ
                     LDZ is INTEGER
                         The leading dimension of Q as declared in
                         the calling procedure.
       Author
           Thijs Steel, KU Leuven
       Date
           May 2020
   subroutine slaqz2 (logical, intent(in) ilq, logical, intent(in) ilz, integer, intent(in) k, integer,
       intent(in) istartm, integer, intent(in) istopm, integer, intent(in) ihi, real, dimension( lda, * ) a,
       integer, intent(in) lda, real, dimension( ldb, * ) b, integer, intent(in) ldb, integer, intent(in) nq,
       integer, intent(in) qstart, real, dimension( ldq, * ) q, integer, intent(in) ldq, integer, intent(in) nz,
       integer, intent(in) zstart, real, dimension( ldz, * ) z, integer, intent(in) ldz)
       SLAQZ2
       Purpose:
                 SLAQZ2 chases a 2x2 shift bulge in a matrix pencil down a single position
       Parameters
           ILQ
                     ILQ is LOGICAL
                         Determines whether or not to update the matrix Q
           ILZ
                     ILZ is LOGICAL
                         Determines whether or not to update the matrix Z
           K
                     K is INTEGER
                         Index indicating the position of the bulge.
                         On entry, the bulge is located in
                         (A(k+1:k+2,k:k+1),B(k+1:k+2,k:k+1)).
                         On exit, the bulge is located in
                         (A(k+2:k+3,k+1:k+2),B(k+2:k+3,k+1:k+2)).
           ISTARTM
                     ISTARTM is INTEGER
           ISTOPM
                     ISTOPM is INTEGER
                         Updates to (A,B) are restricted to
                         (istartm:k+3,k:istopm). It is assumed
                         without checking that istartm <= k+1 and
                         k+2 <= istopm
           IHI
                     IHI is INTEGER
           A
                     A is REAL array, dimension (LDA,N)
           LDA
                     LDA is INTEGER
                         The leading dimension of A as declared in
                         the calling procedure.
           B
                     B is REAL array, dimension (LDB,N)
           LDB
                     LDB is INTEGER
                         The leading dimension of B as declared in
                         the calling procedure.
           NQ
                     NQ is INTEGER
                         The order of the matrix Q
           QSTART
                     QSTART is INTEGER
                         Start index of the matrix Q. Rotations are applied
                         To columns k+2-qStart:k+4-qStart of Q.
           Q
                     Q is REAL array, dimension (LDQ,NQ)
           LDQ
                     LDQ is INTEGER
                         The leading dimension of Q as declared in
                         the calling procedure.
           NZ
                     NZ is INTEGER
                         The order of the matrix Z
           ZSTART
                     ZSTART is INTEGER
                         Start index of the matrix Z. Rotations are applied
                         To columns k+1-qStart:k+3-qStart of Z.
           Z
                     Z is REAL array, dimension (LDZ,NZ)
           LDZ
                     LDZ is INTEGER
                         The leading dimension of Q as declared in
                         the calling procedure.
       Author
           Thijs Steel, KU Leuven
       Date
           May 2020
   recursive subroutine zlaqz2 (logical, intent(in) ilschur, logical, intent(in) ilq, logical, intent(in) ilz,
       integer, intent(in) n, integer, intent(in) ilo, integer, intent(in) ihi, integer, intent(in) nw,
       complex*16, dimension( lda, * ), intent(inout) a, integer, intent(in) lda, complex*16, dimension( ldb, *
       ), intent(inout) b, integer, intent(in) ldb, complex*16, dimension( ldq,         * ), intent(inout) q,
       integer, intent(in) ldq, complex*16, dimension( ldz, * ), intent(inout) z, integer, intent(in) ldz,
       integer, intent(out) ns, integer, intent(out) nd, complex*16, dimension( * ), intent(inout) alpha,
       complex*16, dimension( * ), intent(inout) beta, complex*16, dimension( ldqc, * ) qc, integer, intent(in)
       ldqc, complex*16, dimension( ldzc, * ) zc, integer, intent(in) ldzc, complex*16, dimension( * ) work,
       integer, intent(in) lwork, double precision, dimension( * ) rwork, integer, intent(in) rec, integer,
       intent(out) info)
       ZLAQZ2
       Purpose:
            ZLAQZ2 performs AED
       Parameters
           ILSCHUR
                     ILSCHUR is LOGICAL
                         Determines whether or not to update the full Schur form
           ILQ
                     ILQ is LOGICAL
                         Determines whether or not to update the matrix Q
           ILZ
                     ILZ is LOGICAL
                         Determines whether or not to update the matrix Z
           N
                     N is INTEGER
                     The order of the matrices A, B, Q, and Z.  N >= 0.
           ILO
                     ILO is INTEGER
           IHI
                     IHI is INTEGER
                     ILO and IHI mark the rows and columns of (A,B) which
                     are to be normalized
           NW
                     NW is INTEGER
                     The desired size of the deflation window.
           A
                     A is COMPLEX*16 array, dimension (LDA, N)
           LDA
                     LDA is INTEGER
                     The leading dimension of the array A.  LDA >= max( 1, N ).
           B
                     B is COMPLEX*16 array, dimension (LDB, N)
           LDB
                     LDB is INTEGER
                     The leading dimension of the array B.  LDB >= max( 1, N ).
           Q
                     Q is COMPLEX*16 array, dimension (LDQ, N)
           LDQ
                     LDQ is INTEGER
           Z
                     Z is COMPLEX*16 array, dimension (LDZ, N)
           LDZ
                     LDZ is INTEGER
           NS
                     NS is INTEGER
                     The number of unconverged eigenvalues available to
                     use as shifts.
           ND
                     ND is INTEGER
                     The number of converged eigenvalues found.
           ALPHA
                     ALPHA is COMPLEX*16 array, dimension (N)
                     Each scalar alpha defining an eigenvalue
                     of GNEP.
           BETA
                     BETA is COMPLEX*16 array, dimension (N)
                     The scalars beta that define the eigenvalues of GNEP.
                     Together, the quantities alpha = ALPHA(j) and
                     beta = BETA(j) represent the j-th eigenvalue of the matrix
                     pair (A,B), in one of the forms lambda = alpha/beta or
                     mu = beta/alpha.  Since either lambda or mu may overflow,
                     they should not, in general, be computed.
           QC
                     QC is COMPLEX*16 array, dimension (LDQC, NW)
           LDQC
                     LDQC is INTEGER
           ZC
                     ZC is COMPLEX*16 array, dimension (LDZC, NW)
           LDZC
                     LDZ is INTEGER
           WORK
                     WORK is COMPLEX*16 array, dimension (MAX(1,LWORK))
                     On exit, if INFO >= 0, WORK(1) returns the optimal LWORK.
           LWORK
                     LWORK is INTEGER
                     The dimension of the array WORK.  LWORK >= max(1,N).
                     If LWORK = -1, then a workspace query is assumed; the routine
                     only calculates the optimal size of the WORK array, returns
                     this value as the first entry of the WORK array, and no error
                     message related to LWORK is issued by XERBLA.
           RWORK
                     RWORK is DOUBLE PRECISION array, dimension (N)
           REC
                     REC is INTEGER
                        REC indicates the current recursion level. Should be set
                        to 0 on first call.
           INFO
                     INFO is INTEGER
                     = 0: successful exit
                     < 0: if INFO = -i, the i-th argument had an illegal value
       Author
           Thijs Steel, KU Leuven
       Date
           May 2020
Author
       Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0                               Fri Aug 9 2024 02:33:22                                    laqz2(3)