F06QQF performs the factorization
where
U and
R are
n by
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
where
Qk is a rotation in the
k,n+1 plane, chosen to annihilate
xk.
None.
- 1: N – INTEGERInput
On entry: n, the order of the matrices U and R.
Constraint:
N≥0.
- 2: ALPHA – REAL (KIND=nag_wp)Input
On entry: the scalar α.
- 3: X(*) – REAL (KIND=nag_wp) arrayInput/Output
-
Note: the dimension of the array
X
must be at least
max1,
1+N-1
×INCX
.
On entry: the vector x.
xi must be stored in X1+i–1×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 – INTEGERInput
On entry: the increment in the subscripts of
X between successive elements of
x.
Constraint:
INCX>0.
- 5: A(LDA,*) – REAL (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 F06QQF is called.
Constraint:
LDA≥ max1,N .
- 7: C(N) – REAL (KIND=nag_wp) arrayOutput
On exit: the values
ck, the cosines of the rotations Qk, for k=1,2,…,n.
- 8: S(N) – REAL (KIND=nag_wp) arrayOutput
On exit: the values
sk, the sines of the rotations Qk, for k=1,2,…,n.
None.
Not applicable.
None.
None.