laqz1 - Man Page

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.

Info

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK