laqz3 - Man Page
laqz3: step in ggev3, gges3
Synopsis
Functions
subroutine claqz3 (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)
CLAQZ3
recursive subroutine dlaqz3 (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)
DLAQZ3
recursive subroutine slaqz3 (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)
SLAQZ3
subroutine zlaqz3 (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)
ZLAQZ3
Detailed Description
Function Documentation
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)
CLAQZ3
Purpose:
CLAQZ3 Executes a single multishift QZ sweep
- 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
NSHIFTS
NSHIFTS is INTEGER The desired number of shifts to use
NBLOCK_DESIRED
NBLOCK_DESIRED is INTEGER The desired size of the computational windows
ALPHA
ALPHA is COMPLEX array. SR contains the alpha parts of the shifts to use.
BETA
BETA is COMPLEX array. SS contains the scale of the shifts to use.
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
QC
QC is COMPLEX array, dimension (LDQC, NBLOCK_DESIRED)
LDQC
LDQC is INTEGER
ZC
ZC is COMPLEX array, dimension (LDZC, NBLOCK_DESIRED)
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.
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
Definition at line 203 of file claqz3.f.
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)
DLAQZ3
Purpose:
DLAQZ3 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 DOUBLE PRECISION array, dimension (LDA, N)
LDA
LDA is INTEGER The leading dimension of the array A. LDA >= max( 1, N ).
B
B is DOUBLE PRECISION array, dimension (LDB, N)
LDB
LDB is INTEGER The leading dimension of the array B. LDB >= max( 1, N ).
Q
Q is DOUBLE PRECISION array, dimension (LDQ, N)
LDQ
LDQ is INTEGER
Z
Z is DOUBLE PRECISION 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.
ALPHAR
ALPHAR is DOUBLE PRECISION array, dimension (N) The real parts of each scalar alpha defining an eigenvalue of GNEP.
ALPHAI
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).
BETA
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.
QC
QC is DOUBLE PRECISION array, dimension (LDQC, NW)
LDQC
LDQC is INTEGER
ZC
ZC is DOUBLE PRECISION array, dimension (LDZC, NW)
LDZC
LDZ is INTEGER
WORK
WORK is DOUBLE PRECISION 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.
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
Definition at line 235 of file dlaqz3.f.
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)
SLAQZ3
Purpose:
SLAQZ3 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 REAL array, dimension (LDA, N)
LDA
LDA is INTEGER The leading dimension of the array A. LDA >= max( 1, N ).
B
B is REAL array, dimension (LDB, N)
LDB
LDB is INTEGER The leading dimension of the array B. LDB >= max( 1, N ).
Q
Q is REAL array, dimension (LDQ, N)
LDQ
LDQ is INTEGER
Z
Z is REAL 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.
ALPHAR
ALPHAR is REAL array, dimension (N) The real parts of each scalar alpha defining an eigenvalue of GNEP.
ALPHAI
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).
BETA
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.
QC
QC is REAL array, dimension (LDQC, NW)
LDQC
LDQC is INTEGER
ZC
ZC is REAL array, dimension (LDZC, NW)
LDZC
LDZ is INTEGER
WORK
WORK is REAL 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.
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
Definition at line 234 of file slaqz3.f.
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)
ZLAQZ3
Purpose:
ZLAQZ3 Executes a single multishift QZ sweep
- 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
NSHIFTS
NSHIFTS is INTEGER The desired number of shifts to use
NBLOCK_DESIRED
NBLOCK_DESIRED is INTEGER The desired size of the computational windows
ALPHA
ALPHA is COMPLEX*16 array. SR contains the alpha parts of the shifts to use.
BETA
BETA is COMPLEX*16 array. SS contains the scale of the shifts to use.
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
QC
QC is COMPLEX*16 array, dimension (LDQC, NBLOCK_DESIRED)
LDQC
LDQC is INTEGER
ZC
ZC is COMPLEX*16 array, dimension (LDZC, NBLOCK_DESIRED)
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.
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
Definition at line 204 of file zlaqz3.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.