F06TPF (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

F06TPF

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

+ Contents

    1  Purpose
    7  Accuracy
    9  Example

1  Purpose

F06TPF performs a QR factorization (as a sequence of plane rotations) of a complex upper triangular matrix that has been modified by a rank-1 update.

2  Specification

SUBROUTINE F06TPF ( N, ALPHA, X, INCX, Y, INCY, A, LDA, C, S)
INTEGER  N, INCX, INCY, LDA
REAL (KIND=nag_wp)  C(N-1)
COMPLEX (KIND=nag_wp)  ALPHA, X(*), Y(*), A(LDA,*), S(N)

3  Description

F06TPF performs a QR factorization of an upper triangular matrix which has been modified by a rank-1 update:
αxyT + U=QR
where U and R are n by n complex upper triangular matrices with real diagonal elements, x and y are n-element complex vectors, α is a complex scalar, and Q is an n by n complex unitary matrix.
Q is formed as the product of two sequences of plane rotations and a unitary diagonal matrix D:
QH = DQn-1 Q2 Q1 P1 P2 Pn-1
where
The 2 by 2 plane rotation part of Pk or Qk has the form
ck s-k -sk ck
with ck real. The tangents of the rotations Pk are returned in the array X; the cosines and sines of these rotations can be recovered by calling F06BCF. The cosines and sines of the rotations Qk are returned directly in the arrays C and S.

4  References

None.

5  Parameters

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:     Y(*) – COMPLEX (KIND=nag_wp) arrayInput
Note: the dimension of the array Y must be at least max1, 1+N-1 ×INCY .
On entry: the n-element vector y. yi must be stored in Y1+i-1×INCY, for i=1,2,,N.
Intermediate elements of Y are not referenced.
6:     INCY – INTEGERInput
On entry: the increment in the subscripts of Y between successive elements of y.
Constraint: INCY>0.
7:     A(LDA,*) – 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. The imaginary parts of the diagonal elements must be zero.
On exit: the upper triangular matrix R. The imaginary parts of the diagonal elements must be zero.
8:     LDA – INTEGERInput
On entry: the first dimension of the array A as declared in the (sub)program from which F06TPF is called.
Constraint: LDA max1,N .
9:     C(N-1) – REAL (KIND=nag_wp) arrayOutput
On exit: the cosines of the rotations Qk, for k=1,2,,n-1.
10:   S(N) – COMPLEX (KIND=nag_wp) arrayOutput
On exit: the sines of the rotations Qk, for k=1,2,,n-1; Sn holds dn, the nth diagonal element of D.

6  Error Indicators and Warnings

None.

7  Accuracy

Not applicable.

8  Further Comments

None.

9  Example

None.

F06TPF (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012