If
,
is assumed to have a row spike, with nonzero elements
, for
. The rotations are applied from the left:
where
,
is a rotation in the
plane and
with
.
If
,
is assumed to have a column spike, with nonzero elements
, for
. The rotations are applied from the right:
where
,
is a rotation in the
plane and
with
.
None.
-
1:
– Character(1)
Input
-
On entry: specifies whether
is operated on from the left or the right.
- is pre-multiplied from the left.
- is post-multiplied from the right.
Constraint:
or .
-
2:
– Integer
Input
-
On entry: , the order of the matrix .
Constraint:
.
-
3:
– Integer
Input
-
4:
– Integer
Input
-
On entry: the values
and
.
If or or , an immediate return is effected.
-
5:
– Real (Kind=nag_wp) array
Output
-
On exit: holds , the cosine of the rotation , for .
-
6:
– Complex (Kind=nag_wp) array
Input/Output
-
Note: the dimension of the array
s
must be at least
.
On entry: the nonzero elements of the spike of :
must hold if , and if , for .
On exit: holds , the sine of the rotation , for ; holds , the th diagonal element of , if , or , the th diagonal element of , if .
-
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 part of the upper spiked matrix . The imaginary parts of the diagonal elements must be zero, except for the element if , or the element if .
On exit: the upper triangular matrix . The imaginary parts of the diagonal elements are set to zero.
-
8:
– Integer
Input
-
On entry: the first dimension of the array
a as declared in the (sub)program from which
f06tsf is called.
Constraint:
.
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.