naginterfaces.library.blas.zutr1¶
- naginterfaces.library.blas.zutr1(alpha, x, y, a)[source]¶
zutr1
performs a factorization (as a sequence of plane rotations) of a complex upper triangular matrix that has been modified by a rank-1 update.For full information please refer to the NAG Library document for f06tp
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/f06/f06tpf.html
- Parameters
- alphacomplex
The scalar .
- xcomplex, array-like, shape
The -element vector .
- ycomplex, array-like, shape
The -element vector .
- acomplex, array-like, shape
The upper triangular matrix . The imaginary parts of the diagonal elements must be zero.
- Returns
- xcomplex, ndarray, shape
The referenced elements are overwritten by details of the sequence of plane rotations.
- acomplex, ndarray, shape
The upper triangular matrix . The imaginary parts of the diagonal elements must be zero.
- cfloat, ndarray, shape
The cosines of the rotations , for .
- scomplex, ndarray, shape
The sines of the rotations , for ; holds , the th diagonal element of .
- Raises
- NagValueError
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- Notes
No equivalent traditional C interface for this routine exists in the NAG Library.
zutr1
performs a factorization of an upper triangular matrix which has been modified by a rank-1 update:where and are complex upper triangular matrices with real diagonal elements, and are -element complex vectors, is a complex scalar, and is an complex unitary matrix.
is formed as the product of two sequences of plane rotations and a unitary diagonal matrix :
where
is a rotation in the plane, chosen to annihilate : thus , where and is the last column of the unit matrix;
is a rotation in the plane, chosen to annihilate the element of , and thus restore it to upper triangular form;
, with chosen to make real; .
The plane rotation part of or has the form
with real. The tangents of the rotations are returned in the array ; the cosines and sines of these rotations can be recovered by calling
dcsg()
. The cosines and sines of the rotations are returned directly in the arrays and .