laqz1(3)

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

Definition at line 171 of file claqz1.f.

  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

Definition at line 125 of file dlaqz1.f.

  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

Definition at line 125 of file slaqz1.f.

  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

Definition at line 171 of file zlaqz1.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.