logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

laqz1 - laqz1: step in ggev3, gges3

Author

Generated automatically by Doxygen for LAPACK from the source code. Version 3.12.0 Thu Aug 7 2025 17:26:25 laqz1(3)

Detailed Description

Function Documentation

subroutineclaqz1(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)CLAQZ1Purpose: CLAQZ1 chases a 1x1 shift bulge in a matrix pencil down a single position ParametersILQ 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 subroutinedlaqz1(doubleprecision,dimension(lda,*),intent(in)a,integer,intent(in)lda,doubleprecision,dimension(ldb,*),intent(in)b,integer,intent(in)ldb,doubleprecision,intent(in)sr1,doubleprecision,intent(in)sr2,doubleprecision,intent(in)si,doubleprecision,intent(in)beta1,doubleprecision,intent(in)beta2,doubleprecision,dimension(*),intent(out)v)DLAQZ1Purpose: 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. ParametersA 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 subroutineslaqz1(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)SLAQZ1Purpose: 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. ParametersA 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 subroutinezlaqz1(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)ZLAQZ1Purpose: ZLAQZ1 chases a 1x1 shift bulge in a matrix pencil down a single position ParametersILQ 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

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

See Also