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.