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.