# naginterfaces.library.blas.dusqr¶

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

dusqr performs a or factorization (as a sequence of plane rotations) of a real upper spiked matrix.

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

https://www.nag.com/numeric/nl/nagdoc_28.7/flhtml/f06/f06qsf.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 elements of the spike of : must hold if , and if , for .

afloat, array-like, shape

The upper triangular part of the upper spiked 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.

dusqr transforms an real upper spiked matrix to upper triangular form by applying a real orthogonal matrix from the left or the right. is formed as a sequence of plane rotations in planes to .

If , is assumed to have a row spike, with nonzero elements , for . The rotations are applied from the left:

where and is a rotation in the plane.

If , is assumed to have a column spike, with nonzero elements , for . The rotations are applied from the right:

where and is a rotation in the plane.

The plane rotation part of has the form