naginterfaces.library.blas.zutsrs

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

zutsrs transforms a complex upper triangular matrix to an upper spiked matrix by applying a given sequence of plane rotations.

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

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

cfloat, array-like, shape

must hold , the cosine of the rotation , for .

scomplex, array-like, shape

must hold , the sine of the rotation , for .

acomplex, array-like, shape

The upper triangular matrix . The imaginary parts of the diagonal elements must be zero.

Returns
scomplex, ndarray, shape

holds a nonzero element of the spike of : if , or if , for .

acomplex, ndarray, shape

The upper triangular part of the upper spiked matrix . The imaginary parts of the diagonal elements are set to zero except for the element if , or the element if .

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.

zutsrs transforms an complex upper triangular matrix with real diagonal elements, to an upper spiked matrix , by applying a given sequence of plane rotations from either the left or the right, in planes to . has real diagonal elements except where the spike joins the diagonal.

If , has a row spike, with nonzero elements , for . The rotations are applied from the left:

where and is a rotation in the plane.

If , has 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

with real.