f06qpf performs a
factorization of an upper triangular matrix which has been modified by a rank-1 update:
where
and
are
real upper triangular matrices,
and
are
-element real vectors,
is a real scalar, and
is an
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
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:
– Integer
Input
-
On entry: , the order of the matrices and .
Constraint:
.
-
2:
– Real (Kind=nag_wp)
Input
-
On entry: the scalar .
-
3:
– Real (Kind=nag_wp) array
Input/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:
– Integer
Input
-
On entry: the increment in the subscripts of
x between successive elements of
.
Constraint:
.
-
5:
– Real (Kind=nag_wp) array
Input
-
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:
– Integer
Input
-
On entry: the increment in the subscripts of
y between successive elements of
.
Constraint:
.
-
7:
– Real (Kind=nag_wp) array
Input/Output
-
Note: the second dimension of the array
a
must be at least
.
On entry: the upper triangular matrix .
On exit: the upper triangular matrix .
-
8:
– Integer
Input
-
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) array
Output
-
On exit: the cosines of the rotations
, for .
-
10:
– Real (Kind=nag_wp) array
Output
-
On exit: the sines of the rotations
, for .
None.
Not applicable.
Background information to multithreading can be found in the
Multithreading documentation.
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.