---
name: "slaqz2"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/slaqz2.f"
---

# slaqz2(3)

Part of [slaqz2.f(3)](/slaqz2.f/3.md).

## NAME

SRC/slaqz2.f

## SYNOPSIS

### Functions/Subroutines

subroutine **slaqz2** (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb, nq, qstart, q, ldq, nz, zstart, z, ldz)\
 **SLAQZ2**

## Function/Subroutine Documentation

### subroutine slaqz2 (logical, intent(in) ilq, logical, intent(in) ilz, integer, intent(in) k, integer, intent(in) istartm, integer, intent(in) istopm, integer, intent(in) ihi, real, dimension( lda, \* ) a, integer, intent(in) lda, real, dimension( ldb, \* ) b, integer, intent(in) ldb, integer, intent(in) nq, integer, intent(in) qstart, real, dimension( ldq, \* ) q, integer, intent(in) ldq, integer, intent(in) nz, integer, intent(in) zstart, real, dimension( ldz, \* ) z, integer, intent(in) ldz)

**SLAQZ2**

**Purpose:**

```
!>
!>      SLAQZ2 chases a 2x2 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+2,k:k+1),B(k+1:k+2,k:k+1)).
!>              On exit, the bulge is located in
!>              (A(k+2:k+3,k+1:k+2),B(k+2:k+3,k+1:k+2)).
!>
```

*ISTARTM*

```
!>          ISTARTM is INTEGER
!>
```

*ISTOPM*

```
!>          ISTOPM is INTEGER
!>              Updates to (A,B) are restricted to
!>              (istartm:k+3,k:istopm). It is assumed
!>              without checking that istartm <= k+1 and
!>              k+2 <= istopm
!>
```

*IHI*

```
!>          IHI is INTEGER
!>
```

*A*

```
!>          A is REAL array, dimension (LDA,N)
!>
```

*LDA*

```
!>          LDA is INTEGER
!>              The leading dimension of A as declared in
!>              the calling procedure.
!>
```

*B*

```
!>          B is REAL 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+4-qStart of Q.
!>
```

*Q*

```
!>          Q is REAL 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+3-qStart of Z.
!>
```

*Z*

```
!>          Z is REAL 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 **slaqz2.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
