Scroll to navigation

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


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.

Sat Dec 9 2023 21:42:18 Version 3.12.0