Provided by: liblapack-doc_3.12.0-3build1_all bug

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.