NAG FL Interface
f06qqf (dutupd)

Settings help

FL Name Style:


FL Specification Language:


1 Purpose

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

2 Specification

Fortran Interface
Subroutine f06qqf ( n, alpha, x, incx, a, lda, c, s)
Integer, Intent (In) :: n, incx, lda
Real (Kind=nag_wp), Intent (In) :: alpha
Real (Kind=nag_wp), Intent (Inout) :: x(*), a(lda,*)
Real (Kind=nag_wp), Intent (Out) :: c(n), s(n)
C Header Interface
#include <nag.h>
void  f06qqf_ (const Integer *n, const double *alpha, double x[], const Integer *incx, double a[], const Integer *lda, double c[], double s[])
The routine may be called by the names f06qqf or nagf_blas_dutupd.

3 Description

f06qqf performs the factorization
( U αxT )=Q ( R 0 )  
where U and R are n×n real upper triangular matrices, x is an n-element real vector, α is a real scalar, and Q is a real orthogonal matrix.
Q is formed as a sequence of plane rotations
QT = Qn Q2 Q1  
where Qk is a rotation in the (k,n+1) plane, chosen to annihilate xk.
The 2×2 plane rotation part of Qk has the form
( ck sk -sk ck ) .  

4 References

None.

5 Arguments

1: n Integer Input
On entry: n, the order of the matrices U and R.
Constraint: n0.
2: alpha Real (Kind=nag_wp) Input
On entry: the scalar α.
3: x(*) Real (Kind=nag_wp) array Input/Output
Note: the dimension of the array x must be at least max(1, 1+(n-1) ×incx ) .
On entry: the vector x. xi must be stored in x(1+(i1)×incx) , for i=1,2,,n.
On exit: the referenced elements are overwritten by the tangents of the rotations Qk, for k=1,2,,n.
4: incx Integer Input
On entry: the increment in the subscripts of x between successive elements of x.
Constraint: incx>0.
5: a(lda,*) Real (Kind=nag_wp) array Input/Output
Note: the second dimension of the array a must be at least n.
On entry: the n×n upper triangular matrix U.
On exit: the upper triangular matrix R.
6: lda Integer Input
On entry: the first dimension of the array a as declared in the (sub)program from which f06qqf is called.
Constraint: lda max(1,n) .
7: c(n) Real (Kind=nag_wp) array Output
On exit: the values ck, the cosines of the rotations Qk, for k=1,2,,n.
8: s(n) Real (Kind=nag_wp) array Output
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

Background information to multithreading can be found in the Multithreading documentation.
f06qqf is not threaded in any implementation.

9 Further Comments

None.

10 Example

None.