F06TPF performs a
factorization of an upper triangular matrix which has been modified by a rank-1 update:
where
and
are
by
complex upper triangular matrices with real diagonal elements,
and
are
-element complex vectors,
is a complex scalar, and
is an
by
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
by
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: – INTEGERInput
-
On entry: , the order of the matrices and .
Constraint:
.
- 2: – COMPLEX (KIND=nag_wp)Input
-
On entry: the scalar .
- 3: – COMPLEX (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: – COMPLEX (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: – COMPLEX (KIND=nag_wp) arrayInput/Output
-
Note: the second dimension of the array
A
must be at least
.
On entry: the by 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: – INTEGERInput
-
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) arrayOutput
-
On exit: the cosines of the rotations
, for .
- 10: – COMPLEX (KIND=nag_wp) arrayOutput
-
On exit: the sines of the rotations
, for ; holds , the th diagonal element of .
None.
Not applicable.
F06TPF is not threaded by NAG in any implementation.
F06TPF 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.