naginterfaces.library.blas.duhqr

naginterfaces.library.blas.duhqr(side, k1, k2, s, a)[source]

duhqr performs a or factorization (as a sequence of plane rotations) of a real upper Hessenberg matrix.

For full information please refer to the NAG Library document for f06qr

https://www.nag.com/numeric/nl/nagdoc_28.7/flhtml/f06/f06qrf.html

Parameters
sidestr, length 1

Specifies whether is operated on from the left or the right.

is pre-multiplied from the left.

is post-multiplied from the right.

k1int

The value .

k2int

The value .

sfloat, array-like, shape

The nonzero subdiagonal elements of : must hold , for .

afloat, array-like, shape

The upper triangular part of the upper Hessenberg matrix .

Returns
cfloat, ndarray, shape

holds , the cosine of the rotation , for .

sfloat, ndarray, shape

holds , the sine of the rotation , for .

afloat, ndarray, shape

The upper triangular matrix .

Raises
NagValueError
(errno )

On entry, error in parameter .

Constraint: or .

(errno )

On entry, error in parameter .

Constraint: .

Notes

No equivalent traditional C interface for this routine exists in the NAG Library.

duhqr transforms an real upper Hessenberg matrix to upper triangular form by applying an orthogonal matrix from the left or the right. is assumed to have nonzero subdiagonal elements , for , only. is formed as a sequence of plane rotations in planes to .

If , the rotations are applied from the left:

where .

If , the rotations are applied from the right:

where .

In either case, is a rotation in the plane, chosen to annihilate .

The plane rotation part of has the form