F06QWF transforms a real upper triangular matrix to an upper spiked matrix by applying a given sequence of plane rotations.
If
,
has a row spike, with nonzero elements
, for
. The rotations are applied from the left:
where
and
is a rotation in the
plane.
If
,
has a column spike, with nonzero elements
, for
. The rotations are applied from the right:
where
and
is a rotation in the
plane.
None.
- 1: SIDE – 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: N – INTEGERInput
On entry: , the order of the matrices and .
Constraint:
.
- 3: K1 – INTEGERInput
- 4: K2 – INTEGERInput
On entry: the values
and
.
If or or , an immediate return is effected.
- 5: C() – REAL (KIND=nag_wp) arrayInput
-
Note: the dimension of the array
C
must be at least
.
On entry: must hold , the cosine of the rotation , for .
- 6: S() – REAL (KIND=nag_wp) arrayInput/Output
-
Note: the dimension of the array
S
must be at least
.
On entry: must hold , the sine of the rotation , for .
On exit: holds a nonzero element of the spike of : if , or if , for .
- 7: A(LDA,) – 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 part of the upper spiked matrix .
- 8: LDA – INTEGERInput
On entry: the first dimension of the array
A as declared in the (sub)program from which F06QWF is called.
Constraint:
.
None.
Not applicable.
None.
None.