Provided by: liblapack-doc_3.12.0-3build1.1_all 

NAME
laqz1 - laqz1: step in ggev3, gges3
SYNOPSIS
Functions
subroutine claqz1 (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb, nq, qstart, q, ldq, nz, zstart, z,
ldz)
CLAQZ1
subroutine dlaqz1 (a, lda, b, ldb, sr1, sr2, si, beta1, beta2, v)
DLAQZ1
subroutine slaqz1 (a, lda, b, ldb, sr1, sr2, si, beta1, beta2, v)
SLAQZ1
subroutine zlaqz1 (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb, nq, qstart, q, ldq, nz, zstart, z,
ldz)
ZLAQZ1
Detailed Description
Function Documentation
subroutine claqz1 (logical, intent(in) ilq, logical, intent(in) ilz, integer, intent(in) k, integer,
intent(in) istartm, integer, intent(in) istopm, integer, intent(in) ihi, complex, dimension( lda, * ) a,
integer, intent(in) lda, complex, dimension( ldb, * ) b, integer, intent(in) ldb, integer, intent(in) nq,
integer, intent(in) qstart, complex, dimension( ldq, * ) q, integer, intent(in) ldq, integer, intent(in)
nz, integer, intent(in) zstart, complex, dimension( ldz, * ) z, integer, intent(in) ldz)
CLAQZ1
Purpose:
CLAQZ1 chases a 1x1 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),B(k+1,k)).
On exit, the bulge is located in
(A(k+2,k+1),B(k+2,k+1)).
ISTARTM
ISTARTM is INTEGER
ISTOPM
ISTOPM is INTEGER
Updates to (A,B) are restricted to
(istartm:k+2,k:istopm). It is assumed
without checking that istartm <= k+1 and
k+2 <= istopm
IHI
IHI is INTEGER
A
A is COMPLEX array, dimension (LDA,N)
LDA
LDA is INTEGER
The leading dimension of A as declared in
the calling procedure.
B
B is COMPLEX 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+3-qStart of Q.
Q
Q is COMPLEX 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+2-qStart of Z.
Z
Z is COMPLEX 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 dlaqz1 (double precision, dimension( lda, * ), intent(in) a, integer, intent(in) lda, double
precision, dimension( ldb, * ), intent(in) b, integer, intent(in) ldb, double precision, intent(in) sr1,
double precision, intent(in) sr2, double precision, intent(in) si, double precision, intent(in) beta1,
double precision, intent(in) beta2, double precision, dimension( * ), intent(out) v)
DLAQZ1
Purpose:
Given a 3-by-3 matrix pencil (A,B), DLAQZ1 sets v to a
scalar multiple of the first column of the product
(*) K = (A - (beta2*sr2 - i*si)*B)*B^(-1)*(beta1*A - (sr2 + i*si2)*B)*B^(-1).
It is assumed that either
1) sr1 = sr2
or
2) si = 0.
This is useful for starting double implicit shift bulges
in the QZ algorithm.
Parameters
A
A is DOUBLE PRECISION array, dimension (LDA,N)
The 3-by-3 matrix A in (*).
LDA
LDA is INTEGER
The leading dimension of A as declared in
the calling procedure.
B
B is DOUBLE PRECISION array, dimension (LDB,N)
The 3-by-3 matrix B in (*).
LDB
LDB is INTEGER
The leading dimension of B as declared in
the calling procedure.
SR1
SR1 is DOUBLE PRECISION
SR2
SR2 is DOUBLE PRECISION
SI
SI is DOUBLE PRECISION
BETA1
BETA1 is DOUBLE PRECISION
BETA2
BETA2 is DOUBLE PRECISION
V
V is DOUBLE PRECISION array, dimension (N)
A scalar multiple of the first column of the
matrix K in (*).
Author
Thijs Steel, KU Leuven
Date
May 2020
subroutine slaqz1 (real, dimension( lda, * ), intent(in) a, integer, intent(in) lda, real, dimension( ldb, *
), intent(in) b, integer, intent(in) ldb, real, intent(in) sr1, real, intent(in) sr2, real, intent(in)
si, real, intent(in) beta1, real, intent(in) beta2, real, dimension( * ), intent(out) v)
SLAQZ1
Purpose:
Given a 3-by-3 matrix pencil (A,B), SLAQZ1 sets v to a
scalar multiple of the first column of the product
(*) K = (A - (beta2*sr2 - i*si)*B)*B^(-1)*(beta1*A - (sr2 + i*si2)*B)*B^(-1).
It is assumed that either
1) sr1 = sr2
or
2) si = 0.
This is useful for starting double implicit shift bulges
in the QZ algorithm.
Parameters
A
A is REAL array, dimension (LDA,N)
The 3-by-3 matrix A in (*).
LDA
LDA is INTEGER
The leading dimension of A as declared in
the calling procedure.
B
B is REAL array, dimension (LDB,N)
The 3-by-3 matrix B in (*).
LDB
LDB is INTEGER
The leading dimension of B as declared in
the calling procedure.
SR1
SR1 is REAL
SR2
SR2 is REAL
SI
SI is REAL
BETA1
BETA1 is REAL
BETA2
BETA2 is REAL
V
V is REAL array, dimension (N)
A scalar multiple of the first column of the
matrix K in (*).
Author
Thijs Steel, KU Leuven
Date
May 2020
subroutine zlaqz1 (logical, intent(in) ilq, logical, intent(in) ilz, integer, intent(in) k, integer,
intent(in) istartm, integer, intent(in) istopm, integer, intent(in) ihi, complex*16, dimension( lda, * )
a, integer, intent(in) lda, complex*16, dimension( ldb, * ) b, integer, intent(in) ldb, integer,
intent(in) nq, integer, intent(in) qstart, complex*16, dimension( ldq, * ) q, integer, intent(in) ldq,
integer, intent(in) nz, integer, intent(in) zstart, complex*16, dimension( ldz, * ) z, integer,
intent(in) ldz)
ZLAQZ1
Purpose:
ZLAQZ1 chases a 1x1 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),B(k+1,k)).
On exit, the bulge is located in
(A(k+2,k+1),B(k+2,k+1)).
ISTARTM
ISTARTM is INTEGER
ISTOPM
ISTOPM is INTEGER
Updates to (A,B) are restricted to
(istartm:k+2,k:istopm). It is assumed
without checking that istartm <= k+1 and
k+2 <= istopm
IHI
IHI is INTEGER
A
A is COMPLEX*16 array, dimension (LDA,N)
LDA
LDA is INTEGER
The leading dimension of A as declared in
the calling procedure.
B
B is COMPLEX*16 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+3-qStart of Q.
Q
Q is COMPLEX*16 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+2-qStart of Z.
Z
Z is COMPLEX*16 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
Author
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 Fri Aug 9 2024 02:33:22 laqz1(3)