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://support.nag.com/numeric/nl/nagdoc_30.2/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