.TH "laqz3" 3 "Sat Dec 9 2023 21:42:18" "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME laqz3 \- laqz3: step in ggev3, gges3 .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "subroutine \fBclaqz3\fP (ilschur, ilq, ilz, n, ilo, ihi, nshifts, nblock_desired, alpha, beta, a, lda, b, ldb, q, ldq, z, ldz, qc, ldqc, zc, ldzc, work, lwork, info)" .br .RI "\fBCLAQZ3\fP " .ti -1c .RI "recursive subroutine \fBdlaqz3\fP (ilschur, ilq, ilz, n, ilo, ihi, nw, a, lda, b, ldb, q, ldq, z, ldz, ns, nd, alphar, alphai, beta, qc, ldqc, zc, ldzc, work, lwork, rec, info)" .br .RI "\fBDLAQZ3\fP " .ti -1c .RI "recursive subroutine \fBslaqz3\fP (ilschur, ilq, ilz, n, ilo, ihi, nw, a, lda, b, ldb, q, ldq, z, ldz, ns, nd, alphar, alphai, beta, qc, ldqc, zc, ldzc, work, lwork, rec, info)" .br .RI "\fBSLAQZ3\fP " .ti -1c .RI "subroutine \fBzlaqz3\fP (ilschur, ilq, ilz, n, ilo, ihi, nshifts, nblock_desired, alpha, beta, a, lda, b, ldb, q, ldq, z, ldz, qc, ldqc, zc, ldzc, work, lwork, info)" .br .RI "\fBZLAQZ3\fP " .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "subroutine claqz3 (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) nshifts, integer, intent(in) nblock_desired, complex, dimension( * ), intent(inout) alpha, complex, dimension( * ), intent(inout) beta, 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, complex, dimension( ldqc, * ), intent(inout) qc, integer, intent(in) ldqc, complex, dimension( ldzc, * ), intent(inout) zc, integer, intent(in) ldzc, complex, dimension( * ), intent(inout) work, integer, intent(in) lwork, integer, intent(out) info)" .PP \fBCLAQZ3\fP .PP \fBPurpose:\fP .RS 4 .PP .nf CLAQZ3 Executes a single multishift QZ sweep .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIILSCHUR\fP .PP .nf ILSCHUR is LOGICAL Determines whether or not to update the full Schur form .fi .PP .br \fIILQ\fP .PP .nf ILQ is LOGICAL Determines whether or not to update the matrix Q .fi .PP .br \fIILZ\fP .PP .nf ILZ is LOGICAL Determines whether or not to update the matrix Z .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrices A, B, Q, and Z\&. N >= 0\&. .fi .PP .br \fIILO\fP .PP .nf ILO is INTEGER .fi .PP .br \fIIHI\fP .PP .nf IHI is INTEGER .fi .PP .br \fINSHIFTS\fP .PP .nf NSHIFTS is INTEGER The desired number of shifts to use .fi .PP .br \fINBLOCK_DESIRED\fP .PP .nf NBLOCK_DESIRED is INTEGER The desired size of the computational windows .fi .PP .br \fIALPHA\fP .PP .nf ALPHA is COMPLEX array\&. SR contains the alpha parts of the shifts to use\&. .fi .PP .br \fIBETA\fP .PP .nf BETA is COMPLEX array\&. SS contains the scale of the shifts to use\&. .fi .PP .br \fIA\fP .PP .nf A is COMPLEX array, dimension (LDA, N) .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max( 1, N )\&. .fi .PP .br \fIB\fP .PP .nf B is COMPLEX array, dimension (LDB, N) .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of the array B\&. LDB >= max( 1, N )\&. .fi .PP .br \fIQ\fP .PP .nf Q is COMPLEX array, dimension (LDQ, N) .fi .PP .br \fILDQ\fP .PP .nf LDQ is INTEGER .fi .PP .br \fIZ\fP .PP .nf Z is COMPLEX array, dimension (LDZ, N) .fi .PP .br \fILDZ\fP .PP .nf LDZ is INTEGER .fi .PP .br \fIQC\fP .PP .nf QC is COMPLEX array, dimension (LDQC, NBLOCK_DESIRED) .fi .PP .br \fILDQC\fP .PP .nf LDQC is INTEGER .fi .PP .br \fIZC\fP .PP .nf ZC is COMPLEX array, dimension (LDZC, NBLOCK_DESIRED) .fi .PP .br \fILDZC\fP .PP .nf LDZ is INTEGER .fi .PP .br \fIWORK\fP .PP .nf WORK is COMPLEX array, dimension (MAX(1,LWORK)) On exit, if INFO >= 0, WORK(1) returns the optimal LWORK\&. .fi .PP .br \fILWORK\fP .PP .nf 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\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value .fi .PP .RE .PP \fBAuthor\fP .RS 4 Thijs Steel, KU Leuven .RE .PP \fBDate\fP .RS 4 May 2020 .RE .PP .SS "recursive subroutine dlaqz3 (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, double precision, dimension( lda, * ), intent(inout) a, integer, intent(in) lda, double precision, dimension( ldb, * ), intent(inout) b, integer, intent(in) ldb, double precision, dimension( ldq, * ), intent(inout) q, integer, intent(in) ldq, double precision, dimension( ldz, * ), intent(inout) z, integer, intent(in) ldz, integer, intent(out) ns, integer, intent(out) nd, double precision, dimension( * ), intent(inout) alphar, double precision, dimension( * ), intent(inout) alphai, double precision, dimension( * ), intent(inout) beta, double precision, dimension( ldqc, * ) qc, integer, intent(in) ldqc, double precision, dimension( ldzc, * ) zc, integer, intent(in) ldzc, double precision, dimension( * ) work, integer, intent(in) lwork, integer, intent(in) rec, integer, intent(out) info)" .PP \fBDLAQZ3\fP .PP \fBPurpose:\fP .RS 4 .PP .nf DLAQZ3 performs AED .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIILSCHUR\fP .PP .nf ILSCHUR is LOGICAL Determines whether or not to update the full Schur form .fi .PP .br \fIILQ\fP .PP .nf ILQ is LOGICAL Determines whether or not to update the matrix Q .fi .PP .br \fIILZ\fP .PP .nf ILZ is LOGICAL Determines whether or not to update the matrix Z .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrices A, B, Q, and Z\&. N >= 0\&. .fi .PP .br \fIILO\fP .PP .nf ILO is INTEGER .fi .PP .br \fIIHI\fP .PP .nf IHI is INTEGER ILO and IHI mark the rows and columns of (A,B) which are to be normalized .fi .PP .br \fINW\fP .PP .nf NW is INTEGER The desired size of the deflation window\&. .fi .PP .br \fIA\fP .PP .nf A is DOUBLE PRECISION array, dimension (LDA, N) .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max( 1, N )\&. .fi .PP .br \fIB\fP .PP .nf B is DOUBLE PRECISION array, dimension (LDB, N) .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of the array B\&. LDB >= max( 1, N )\&. .fi .PP .br \fIQ\fP .PP .nf Q is DOUBLE PRECISION array, dimension (LDQ, N) .fi .PP .br \fILDQ\fP .PP .nf LDQ is INTEGER .fi .PP .br \fIZ\fP .PP .nf Z is DOUBLE PRECISION array, dimension (LDZ, N) .fi .PP .br \fILDZ\fP .PP .nf LDZ is INTEGER .fi .PP .br \fINS\fP .PP .nf NS is INTEGER The number of unconverged eigenvalues available to use as shifts\&. .fi .PP .br \fIND\fP .PP .nf ND is INTEGER The number of converged eigenvalues found\&. .fi .PP .br \fIALPHAR\fP .PP .nf ALPHAR is DOUBLE PRECISION array, dimension (N) The real parts of each scalar alpha defining an eigenvalue of GNEP\&. .fi .PP .br \fIALPHAI\fP .PP .nf ALPHAI is DOUBLE PRECISION array, dimension (N) The imaginary parts of each scalar alpha defining an eigenvalue of GNEP\&. If ALPHAI(j) is zero, then the j-th eigenvalue is real; if positive, then the j-th and (j+1)-st eigenvalues are a complex conjugate pair, with ALPHAI(j+1) = -ALPHAI(j)\&. .fi .PP .br \fIBETA\fP .PP .nf BETA is DOUBLE PRECISION array, dimension (N) The scalars beta that define the eigenvalues of GNEP\&. Together, the quantities alpha = (ALPHAR(j),ALPHAI(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\&. .fi .PP .br \fIQC\fP .PP .nf QC is DOUBLE PRECISION array, dimension (LDQC, NW) .fi .PP .br \fILDQC\fP .PP .nf LDQC is INTEGER .fi .PP .br \fIZC\fP .PP .nf ZC is DOUBLE PRECISION array, dimension (LDZC, NW) .fi .PP .br \fILDZC\fP .PP .nf LDZ is INTEGER .fi .PP .br \fIWORK\fP .PP .nf WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO >= 0, WORK(1) returns the optimal LWORK\&. .fi .PP .br \fILWORK\fP .PP .nf 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\&. .fi .PP .br \fIREC\fP .PP .nf REC is INTEGER REC indicates the current recursion level\&. Should be set to 0 on first call\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value .fi .PP .RE .PP \fBAuthor\fP .RS 4 Thijs Steel, KU Leuven .RE .PP \fBDate\fP .RS 4 May 2020 .RE .PP .SS "recursive subroutine slaqz3 (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, real, dimension( lda, * ), intent(inout) a, integer, intent(in) lda, real, dimension( ldb, * ), intent(inout) b, integer, intent(in) ldb, real, dimension( ldq, * ), intent(inout) q, integer, intent(in) ldq, real, dimension( ldz, * ), intent(inout) z, integer, intent(in) ldz, integer, intent(out) ns, integer, intent(out) nd, real, dimension( * ), intent(inout) alphar, real, dimension( * ), intent(inout) alphai, real, dimension( * ), intent(inout) beta, real, dimension( ldqc, * ) qc, integer, intent(in) ldqc, real, dimension( ldzc, * ) zc, integer, intent(in) ldzc, real, dimension( * ) work, integer, intent(in) lwork, integer, intent(in) rec, integer, intent(out) info)" .PP \fBSLAQZ3\fP .PP \fBPurpose:\fP .RS 4 .PP .nf SLAQZ3 performs AED .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIILSCHUR\fP .PP .nf ILSCHUR is LOGICAL Determines whether or not to update the full Schur form .fi .PP .br \fIILQ\fP .PP .nf ILQ is LOGICAL Determines whether or not to update the matrix Q .fi .PP .br \fIILZ\fP .PP .nf ILZ is LOGICAL Determines whether or not to update the matrix Z .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrices A, B, Q, and Z\&. N >= 0\&. .fi .PP .br \fIILO\fP .PP .nf ILO is INTEGER .fi .PP .br \fIIHI\fP .PP .nf IHI is INTEGER ILO and IHI mark the rows and columns of (A,B) which are to be normalized .fi .PP .br \fINW\fP .PP .nf NW is INTEGER The desired size of the deflation window\&. .fi .PP .br \fIA\fP .PP .nf A is REAL array, dimension (LDA, N) .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max( 1, N )\&. .fi .PP .br \fIB\fP .PP .nf B is REAL array, dimension (LDB, N) .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of the array B\&. LDB >= max( 1, N )\&. .fi .PP .br \fIQ\fP .PP .nf Q is REAL array, dimension (LDQ, N) .fi .PP .br \fILDQ\fP .PP .nf LDQ is INTEGER .fi .PP .br \fIZ\fP .PP .nf Z is REAL array, dimension (LDZ, N) .fi .PP .br \fILDZ\fP .PP .nf LDZ is INTEGER .fi .PP .br \fINS\fP .PP .nf NS is INTEGER The number of unconverged eigenvalues available to use as shifts\&. .fi .PP .br \fIND\fP .PP .nf ND is INTEGER The number of converged eigenvalues found\&. .fi .PP .br \fIALPHAR\fP .PP .nf ALPHAR is REAL array, dimension (N) The real parts of each scalar alpha defining an eigenvalue of GNEP\&. .fi .PP .br \fIALPHAI\fP .PP .nf ALPHAI is REAL array, dimension (N) The imaginary parts of each scalar alpha defining an eigenvalue of GNEP\&. If ALPHAI(j) is zero, then the j-th eigenvalue is real; if positive, then the j-th and (j+1)-st eigenvalues are a complex conjugate pair, with ALPHAI(j+1) = -ALPHAI(j)\&. .fi .PP .br \fIBETA\fP .PP .nf BETA is REAL array, dimension (N) The scalars beta that define the eigenvalues of GNEP\&. Together, the quantities alpha = (ALPHAR(j),ALPHAI(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\&. .fi .PP .br \fIQC\fP .PP .nf QC is REAL array, dimension (LDQC, NW) .fi .PP .br \fILDQC\fP .PP .nf LDQC is INTEGER .fi .PP .br \fIZC\fP .PP .nf ZC is REAL array, dimension (LDZC, NW) .fi .PP .br \fILDZC\fP .PP .nf LDZ is INTEGER .fi .PP .br \fIWORK\fP .PP .nf WORK is REAL array, dimension (MAX(1,LWORK)) On exit, if INFO >= 0, WORK(1) returns the optimal LWORK\&. .fi .PP .br \fILWORK\fP .PP .nf 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\&. .fi .PP .br \fIREC\fP .PP .nf REC is INTEGER REC indicates the current recursion level\&. Should be set to 0 on first call\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value .fi .PP .RE .PP \fBAuthor\fP .RS 4 Thijs Steel, KU Leuven .RE .PP \fBDate\fP .RS 4 May 2020 .RE .PP .SS "subroutine zlaqz3 (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) nshifts, integer, intent(in) nblock_desired, complex*16, dimension( * ), intent(inout) alpha, complex*16, dimension( * ), intent(inout) beta, 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, complex*16, dimension( ldqc, * ), intent(inout) qc, integer, intent(in) ldqc, complex*16, dimension( ldzc, * ), intent(inout) zc, integer, intent(in) ldzc, complex*16, dimension( * ), intent(inout) work, integer, intent(in) lwork, integer, intent(out) info)" .PP \fBZLAQZ3\fP .PP \fBPurpose:\fP .RS 4 .PP .nf ZLAQZ3 Executes a single multishift QZ sweep .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIILSCHUR\fP .PP .nf ILSCHUR is LOGICAL Determines whether or not to update the full Schur form .fi .PP .br \fIILQ\fP .PP .nf ILQ is LOGICAL Determines whether or not to update the matrix Q .fi .PP .br \fIILZ\fP .PP .nf ILZ is LOGICAL Determines whether or not to update the matrix Z .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrices A, B, Q, and Z\&. N >= 0\&. .fi .PP .br \fIILO\fP .PP .nf ILO is INTEGER .fi .PP .br \fIIHI\fP .PP .nf IHI is INTEGER .fi .PP .br \fINSHIFTS\fP .PP .nf NSHIFTS is INTEGER The desired number of shifts to use .fi .PP .br \fINBLOCK_DESIRED\fP .PP .nf NBLOCK_DESIRED is INTEGER The desired size of the computational windows .fi .PP .br \fIALPHA\fP .PP .nf ALPHA is COMPLEX*16 array\&. SR contains the alpha parts of the shifts to use\&. .fi .PP .br \fIBETA\fP .PP .nf BETA is COMPLEX*16 array\&. SS contains the scale of the shifts to use\&. .fi .PP .br \fIA\fP .PP .nf A is COMPLEX*16 array, dimension (LDA, N) .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max( 1, N )\&. .fi .PP .br \fIB\fP .PP .nf B is COMPLEX*16 array, dimension (LDB, N) .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of the array B\&. LDB >= max( 1, N )\&. .fi .PP .br \fIQ\fP .PP .nf Q is COMPLEX*16 array, dimension (LDQ, N) .fi .PP .br \fILDQ\fP .PP .nf LDQ is INTEGER .fi .PP .br \fIZ\fP .PP .nf Z is COMPLEX*16 array, dimension (LDZ, N) .fi .PP .br \fILDZ\fP .PP .nf LDZ is INTEGER .fi .PP .br \fIQC\fP .PP .nf QC is COMPLEX*16 array, dimension (LDQC, NBLOCK_DESIRED) .fi .PP .br \fILDQC\fP .PP .nf LDQC is INTEGER .fi .PP .br \fIZC\fP .PP .nf ZC is COMPLEX*16 array, dimension (LDZC, NBLOCK_DESIRED) .fi .PP .br \fILDZC\fP .PP .nf LDZ is INTEGER .fi .PP .br \fIWORK\fP .PP .nf WORK is COMPLEX*16 array, dimension (MAX(1,LWORK)) On exit, if INFO >= 0, WORK(1) returns the optimal LWORK\&. .fi .PP .br \fILWORK\fP .PP .nf 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\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value .fi .PP .RE .PP \fBAuthor\fP .RS 4 Thijs Steel, KU Leuven .RE .PP \fBDate\fP .RS 4 May 2020 .RE .PP .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.