F06QPF performs a
factorization of an upper triangular matrix which has been modified by a rank-1 update:
where
and
are
by
real upper triangular matrices,
and
are
-element real vectors,
is a real scalar, and
is an
by
real orthogonal matrix.
is formed as the product of two sequences of plane rotations:
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.
The
by
plane rotation part of
or
has the form
The tangents of the rotations
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
are returned directly in the arrays
C and
S.
None.
- 1: – INTEGERInput
-
On entry: , the order of the matrices and .
Constraint:
.
- 2: – REAL (KIND=nag_wp)Input
-
On entry: the scalar .
- 3: – REAL (KIND=nag_wp) arrayInput/Output
-
Note: the dimension of the array
X
must be at least
.
On entry: the
-element vector
.
must be stored in
, for
.
Intermediate elements of
X are not referenced.
On exit: the referenced elements are overwritten by details of the sequence of plane rotations.
- 4: – INTEGERInput
-
On entry: the increment in the subscripts of
X between successive elements of
.
Constraint:
.
- 5: – REAL (KIND=nag_wp) arrayInput
-
Note: the dimension of the array
Y
must be at least
.
On entry: the
-element vector
.
must be stored in
, for
.
Intermediate elements of
Y are not referenced.
- 6: – INTEGERInput
-
On entry: the increment in the subscripts of
Y between successive elements of
.
Constraint:
.
- 7: – REAL (KIND=nag_wp) arrayInput/Output
-
Note: the second dimension of the array
A
must be at least
.
On entry: the by upper triangular matrix .
On exit: the upper triangular matrix .
- 8: – INTEGERInput
-
On entry: the first dimension of the array
A as declared in the (sub)program from which F06QPF is called.
Constraint:
.
- 9: – REAL (KIND=nag_wp) arrayOutput
-
On exit: the cosines of the rotations
, for .
- 10: – REAL (KIND=nag_wp) arrayOutput
-
On exit: the sines of the rotations
, for .
None.
Not applicable.
F06QPF is not threaded by NAG in any implementation.
F06QPF makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the
X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this routine. Please also consult the
Users' Note for your implementation for any additional implementation-specific information.
None.
None.