table of contents
laqz2(3) | LAPACK | laqz2(3) |
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 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
Date
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 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
Date
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 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
Date
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 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
Date
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Sat Dec 9 2023 21:42:18 | Version 3.12.0 |