# claqr5.f man page

claqr5.f

## Synopsis

### Functions/Subroutines

subroutine claqr5 (WANTT, WANTZ, KACC22, N, KTOP, KBOT, NSHFTS, S, H, LDH, ILOZ, IHIZ, Z, LDZ, V, LDV, U, LDU, NV, WV, LDWV, NH, WH, LDWH)
CLAQR5 performs a single small-bulge multi-shift QR sweep.

## Function/Subroutine Documentation

### subroutine claqr5 (logical WANTT, logical WANTZ, integer KACC22, integer N, integer KTOP, integer KBOT, integer NSHFTS, complex, dimension( * ) S, complex, dimension( ldh, * ) H, integer LDH, integer ILOZ, integer IHIZ, complex, dimension( ldz, * ) Z, integer LDZ, complex, dimension( ldv, * ) V, integer LDV, complex, dimension( ldu, * ) U, integer LDU, integer NV, complex, dimension( ldwv, * ) WV, integer LDWV, integer NH, complex, dimension( ldwh, * ) WH, integer LDWH)

CLAQR5 performs a single small-bulge multi-shift QR sweep.

Purpose:

```    CLAQR5 called by CLAQR0 performs a
single small-bulge multi-shift QR sweep.```
Parameters:

WANTT

```          WANTT is LOGICAL
WANTT = .true. if the triangular Schur factor
is being computed.  WANTT is set to .false. otherwise.```

WANTZ

```          WANTZ is LOGICAL
WANTZ = .true. if the unitary Schur factor is being
computed.  WANTZ is set to .false. otherwise.```

KACC22

```          KACC22 is INTEGER with value 0, 1, or 2.
Specifies the computation mode of far-from-diagonal
= 0: CLAQR5 does not accumulate reflections and does not
use matrix-matrix multiply to update far-from-diagonal
matrix entries.
= 1: CLAQR5 accumulates reflections and uses matrix-matrix
multiply to update the far-from-diagonal matrix entries.
= 2: CLAQR5 accumulates reflections, uses matrix-matrix
multiply to update the far-from-diagonal matrix entries,
and takes advantage of 2-by-2 block structure during
matrix multiplies.```

N

```          N is INTEGER
N is the order of the Hessenberg matrix H upon which this
subroutine operates.```

KTOP

`          KTOP is INTEGER`

KBOT

```          KBOT is INTEGER
These are the first and last rows and columns of an
isolated diagonal block upon which the QR sweep is to be
applied. It is assumed without a check that
either KTOP = 1  or   H(KTOP,KTOP-1) = 0
and
either KBOT = N  or   H(KBOT+1,KBOT) = 0.```

NSHFTS

```          NSHFTS is INTEGER
NSHFTS gives the number of simultaneous shifts.  NSHFTS
must be positive and even.```

S

```          S is COMPLEX array, dimension (NSHFTS)
S contains the shifts of origin that define the multi-
shift QR sweep.  On output S may be reordered.```

H

```          H is COMPLEX array, dimension (LDH,N)
On input H contains a Hessenberg matrix.  On output a
multi-shift QR sweep with shifts SR(J)+i*SI(J) is applied
to the isolated diagonal block in rows and columns KTOP
through KBOT.```

LDH

```          LDH is INTEGER
LDH is the leading dimension of H just as declared in the
calling procedure.  LDH.GE.MAX(1,N).```

ILOZ

`          ILOZ is INTEGER`

IHIZ

```          IHIZ is INTEGER
Specify the rows of Z to which transformations must be
applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N```

Z

```          Z is COMPLEX array, dimension (LDZ,IHIZ)
If WANTZ = .TRUE., then the QR Sweep unitary
similarity transformation is accumulated into
Z(ILOZ:IHIZ,ILOZ:IHIZ) from the right.
If WANTZ = .FALSE., then Z is unreferenced.```

LDZ

```          LDZ is INTEGER
LDA is the leading dimension of Z just as declared in
the calling procedure. LDZ.GE.N.```

V

`          V is COMPLEX array, dimension (LDV,NSHFTS/2)`

LDV

```          LDV is INTEGER
LDV is the leading dimension of V as declared in the
calling procedure.  LDV.GE.3.```

U

`          U is COMPLEX array, dimension (LDU,3*NSHFTS-3)`

LDU

```          LDU is INTEGER
LDU is the leading dimension of U just as declared in the
in the calling subroutine.  LDU.GE.3*NSHFTS-3.```

NH

```          NH is INTEGER
NH is the number of columns in array WH available for
workspace. NH.GE.1.```

WH

`          WH is COMPLEX array, dimension (LDWH,NH)`

LDWH

```          LDWH is INTEGER
Leading dimension of WH just as declared in the
calling procedure.  LDWH.GE.3*NSHFTS-3.```

NV

```          NV is INTEGER
NV is the number of rows in WV agailable for workspace.
NV.GE.1.```

WV

`          WV is COMPLEX array, dimension (LDWV,3*NSHFTS-3)`

LDWV

```          LDWV is INTEGER
LDWV is the leading dimension of WV as declared in the
in the calling subroutine.  LDWV.GE.NV.```
Author:

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Date:

June 2016

Contributors:

Karen Braman and Ralph Byers, Department of Mathematics, University of Kansas, USA

References:

K. Braman, R. Byers and R. Mathias, The Multi-Shift QR Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 Performance, SIAM Journal of Matrix Analysis, volume 23, pages 929--947, 2002.

Definition at line 251 of file claqr5.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page claqr5(3) is an alias of claqr5.f(3).

Tue Nov 14 2017 Version 3.8.0 LAPACK