f06tpf performs a
factorization of an upper triangular matrix which has been modified by a rank-1 update:
where
and
are
complex upper triangular matrices with real diagonal elements,
and
are
-element complex vectors,
is a complex scalar, and
is an
complex unitary matrix.
is formed as the product of two sequences of plane rotations and a unitary diagonal matrix
:
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;
- , with chosen to make real; .
The
plane rotation part of
or
has the form
with
real. 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:
– Complex (Kind=nag_wp)
Input
-
On entry: the scalar .
-
3:
– Complex (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:
– Complex (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:
– Complex (Kind=nag_wp) array
Input/Output
-
Note: the second dimension of the array
a
must be at least
.
On entry: the upper triangular matrix . The imaginary parts of the diagonal elements must be zero.
On exit: the upper triangular matrix . The imaginary parts of the diagonal elements must be zero.
-
8:
– Integer
Input
-
On entry: the first dimension of the array
a as declared in the (sub)program from which
f06tpf is called.
Constraint:
.
-
9:
– Real (Kind=nag_wp) array
Output
-
On exit: the cosines of the rotations
, for .
-
10:
– Complex (Kind=nag_wp) array
Output
-
On exit: the sines of the rotations
, for ; holds , the th diagonal element of .
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.