NAG Library Routine Document

f06tqf (zutupd)

1
Purpose

f06tqf performs a QR factorization (as a sequence of plane rotations) of a complex upper triangular matrix that has been augmented by a full row.

2
Specification

Fortran Interface
Subroutine f06tqf ( n, alpha, x, incx, a, lda, c, s)
Integer, Intent (In):: n, incx, lda
Real (Kind=nag_wp), Intent (Out):: c(n)
Complex (Kind=nag_wp), Intent (In):: alpha
Complex (Kind=nag_wp), Intent (Inout):: x(*), a(lda,*)
Complex (Kind=nag_wp), Intent (Out):: s(n)
C Header Interface
#include <nagmk26.h>
void  f06tqf_ (const Integer *n, const Complex *alpha, Complex x[], const Integer *incx, Complex a[], const Integer *lda, double c[], Complex s[])

3
Description

f06tqf performs the factorization
U αxT =Q R 0  
where U and R are n by n complex upper triangular matrices, x is an n-element complex vector, α is a complex scalar, and Q is a complex unitary matrix. If U has real diagonal elements, then so does R.
Q is formed as a sequence of plane rotations
QH = Qn Q2 Q1  
where Qk is a rotation in the k,n+1 plane, chosen to annihilate xk.
The 2 by 2 plane rotation part of Qk has the form
ck s-k -sk ck  
with ck real.

4
References

None.

5
Arguments

1:     n – IntegerInput
On entry: n, the order of the matrices U and R.
Constraint: n0.
2:     alpha – Complex (Kind=nag_wp)Input
On entry: the scalar α.
3:     x* – Complex (Kind=nag_wp) arrayInput/Output
Note: the dimension of the array x must be at least max1, 1+n-1 ×incx .
On entry: the n-element vector x. xi must be stored in x1+i-1×incx, for i=1,2,,n.
Intermediate elements of x are not referenced.
On exit: the referenced elements are overwritten by details of the sequence of plane rotations.
4:     incx – IntegerInput
On entry: the increment in the subscripts of x between successive elements of x.
Constraint: incx>0.
5:     alda* – Complex (Kind=nag_wp) arrayInput/Output
Note: the second dimension of the array a must be at least n.
On entry: the n by n upper triangular matrix U.
On exit: the upper triangular matrix R.
6:     lda – IntegerInput
On entry: the first dimension of the array a as declared in the (sub)program from which f06tqf is called.
Constraint: lda max1,n .
7:     cn – Real (Kind=nag_wp) arrayOutput
On exit: the values ck, the cosines of the rotations Qk, for k=1,2,,n.
8:     sn – Complex (Kind=nag_wp) arrayOutput
On exit: the values sk, the sines of the rotations Qk, for k=1,2,,n.

6
Error Indicators and Warnings

None.

7
Accuracy

Not applicable.

8
Parallelism and Performance

f06tqf is not threaded in any implementation.

9
Further Comments

None.

10
Example

None.