.TH "laqz1" 3 "Sat Dec 9 2023 21:42:18" "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME laqz1 \- laqz1: step in ggev3, gges3 .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "subroutine \fBclaqz1\fP (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb, nq, qstart, q, ldq, nz, zstart, z, ldz)" .br .RI "\fBCLAQZ1\fP " .ti -1c .RI "subroutine \fBdlaqz1\fP (a, lda, b, ldb, sr1, sr2, si, beta1, beta2, v)" .br .RI "\fBDLAQZ1\fP " .ti -1c .RI "subroutine \fBslaqz1\fP (a, lda, b, ldb, sr1, sr2, si, beta1, beta2, v)" .br .RI "\fBSLAQZ1\fP " .ti -1c .RI "subroutine \fBzlaqz1\fP (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb, nq, qstart, q, ldq, nz, zstart, z, ldz)" .br .RI "\fBZLAQZ1\fP " .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "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)" .PP \fBCLAQZ1\fP .PP \fBPurpose:\fP .RS 4 .PP .nf CLAQZ1 chases a 1x1 shift bulge in a matrix pencil down a single position .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIILQ\fP .PP .nf ILQ is LOGICAL Determines whether or not to update the matrix Q .fi .PP .br \fIILZ\fP .PP .nf ILZ is LOGICAL Determines whether or not to update the matrix Z .fi .PP .br \fIK\fP .PP .nf 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))\&. .fi .PP .br \fIISTARTM\fP .PP .nf ISTARTM is INTEGER .fi .PP .br \fIISTOPM\fP .PP .nf 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 .fi .PP .br \fIIHI\fP .PP .nf IHI is INTEGER .fi .PP .br \fIA\fP .PP .nf A is COMPLEX array, dimension (LDA,N) .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of A as declared in the calling procedure\&. .fi .PP .br \fIB\fP .PP .nf B is COMPLEX array, dimension (LDB,N) .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of B as declared in the calling procedure\&. .fi .PP .br \fINQ\fP .PP .nf NQ is INTEGER The order of the matrix Q .fi .PP .br \fIQSTART\fP .PP .nf QSTART is INTEGER Start index of the matrix Q\&. Rotations are applied To columns k+2-qStart:k+3-qStart of Q\&. .fi .PP .br \fIQ\fP .PP .nf Q is COMPLEX array, dimension (LDQ,NQ) .fi .PP .br \fILDQ\fP .PP .nf LDQ is INTEGER The leading dimension of Q as declared in the calling procedure\&. .fi .PP .br \fINZ\fP .PP .nf NZ is INTEGER The order of the matrix Z .fi .PP .br \fIZSTART\fP .PP .nf ZSTART is INTEGER Start index of the matrix Z\&. Rotations are applied To columns k+1-qStart:k+2-qStart of Z\&. .fi .PP .br \fIZ\fP .PP .nf Z is COMPLEX array, dimension (LDZ,NZ) .fi .PP .br \fILDZ\fP .PP .nf LDZ is INTEGER The leading dimension of Q as declared in the calling procedure\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Thijs Steel, KU Leuven .RE .PP \fBDate\fP .RS 4 May 2020 .RE .PP .SS "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)" .PP \fBDLAQZ1\fP .PP \fBPurpose:\fP .RS 4 .PP .nf 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\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIA\fP .PP .nf A is DOUBLE PRECISION array, dimension (LDA,N) The 3-by-3 matrix A in (*)\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of A as declared in the calling procedure\&. .fi .PP .br \fIB\fP .PP .nf B is DOUBLE PRECISION array, dimension (LDB,N) The 3-by-3 matrix B in (*)\&. .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of B as declared in the calling procedure\&. .fi .PP .br \fISR1\fP .PP .nf SR1 is DOUBLE PRECISION .fi .PP .br \fISR2\fP .PP .nf SR2 is DOUBLE PRECISION .fi .PP .br \fISI\fP .PP .nf SI is DOUBLE PRECISION .fi .PP .br \fIBETA1\fP .PP .nf BETA1 is DOUBLE PRECISION .fi .PP .br \fIBETA2\fP .PP .nf BETA2 is DOUBLE PRECISION .fi .PP .br \fIV\fP .PP .nf V is DOUBLE PRECISION array, dimension (N) A scalar multiple of the first column of the matrix K in (*)\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Thijs Steel, KU Leuven .RE .PP \fBDate\fP .RS 4 May 2020 .RE .PP .SS "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)" .PP \fBSLAQZ1\fP .PP \fBPurpose:\fP .RS 4 .PP .nf 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\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIA\fP .PP .nf A is REAL array, dimension (LDA,N) The 3-by-3 matrix A in (*)\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of A as declared in the calling procedure\&. .fi .PP .br \fIB\fP .PP .nf B is REAL array, dimension (LDB,N) The 3-by-3 matrix B in (*)\&. .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of B as declared in the calling procedure\&. .fi .PP .br \fISR1\fP .PP .nf SR1 is REAL .fi .PP .br \fISR2\fP .PP .nf SR2 is REAL .fi .PP .br \fISI\fP .PP .nf SI is REAL .fi .PP .br \fIBETA1\fP .PP .nf BETA1 is REAL .fi .PP .br \fIBETA2\fP .PP .nf BETA2 is REAL .fi .PP .br \fIV\fP .PP .nf V is REAL array, dimension (N) A scalar multiple of the first column of the matrix K in (*)\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Thijs Steel, KU Leuven .RE .PP \fBDate\fP .RS 4 May 2020 .RE .PP .SS "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)" .PP \fBZLAQZ1\fP .PP \fBPurpose:\fP .RS 4 .PP .nf ZLAQZ1 chases a 1x1 shift bulge in a matrix pencil down a single position .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIILQ\fP .PP .nf ILQ is LOGICAL Determines whether or not to update the matrix Q .fi .PP .br \fIILZ\fP .PP .nf ILZ is LOGICAL Determines whether or not to update the matrix Z .fi .PP .br \fIK\fP .PP .nf 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))\&. .fi .PP .br \fIISTARTM\fP .PP .nf ISTARTM is INTEGER .fi .PP .br \fIISTOPM\fP .PP .nf 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 .fi .PP .br \fIIHI\fP .PP .nf IHI is INTEGER .fi .PP .br \fIA\fP .PP .nf A is COMPLEX*16 array, dimension (LDA,N) .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of A as declared in the calling procedure\&. .fi .PP .br \fIB\fP .PP .nf B is COMPLEX*16 array, dimension (LDB,N) .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of B as declared in the calling procedure\&. .fi .PP .br \fINQ\fP .PP .nf NQ is INTEGER The order of the matrix Q .fi .PP .br \fIQSTART\fP .PP .nf QSTART is INTEGER Start index of the matrix Q\&. Rotations are applied To columns k+2-qStart:k+3-qStart of Q\&. .fi .PP .br \fIQ\fP .PP .nf Q is COMPLEX*16 array, dimension (LDQ,NQ) .fi .PP .br \fILDQ\fP .PP .nf LDQ is INTEGER The leading dimension of Q as declared in the calling procedure\&. .fi .PP .br \fINZ\fP .PP .nf NZ is INTEGER The order of the matrix Z .fi .PP .br \fIZSTART\fP .PP .nf ZSTART is INTEGER Start index of the matrix Z\&. Rotations are applied To columns k+1-qStart:k+2-qStart of Z\&. .fi .PP .br \fIZ\fP .PP .nf Z is COMPLEX*16 array, dimension (LDZ,NZ) .fi .PP .br \fILDZ\fP .PP .nf LDZ is INTEGER The leading dimension of Q as declared in the calling procedure\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Thijs Steel, KU Leuven .RE .PP \fBDate\fP .RS 4 May 2020 .RE .PP .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.