F06QMF performs an orthogonal similarity transformation (as a sequence of plane rotations) of a real symmetric matrix.
F06QMF performs the transformation
where
is an
by
real symmetric matrix, and
is a real orthogonal matrix defined as a sequence of plane rotations,
, applied in planes
to
.
The
by
plane rotation part of
is assumed to have the form
None.
- 1: UPLO – CHARACTER(1)Input
On entry: specifies whether the upper or lower triangular part of
is stored.
- The upper triangular part of is stored.
- The lower triangular part of is stored.
Constraint:
or .
- 2: PIVOT – CHARACTER(1)Input
On entry: specifies the plane rotated by
.
- (variable pivot)
- rotates the plane.
- (top pivot)
- rotates the plane.
- (bottom pivot)
- rotates the plane.
Constraint:
, or .
- 3: DIRECT – CHARACTER(1)Input
On entry: specifies the sequence direction.
- (forward sequence)
- .
- (backward sequence)
- .
Constraint:
or .
- 4: N – INTEGERInput
On entry: , the order of the matrix .
Constraint:
.
- 5: K1 – INTEGERInput
- 6: K2 – INTEGERInput
On entry: the values
and
.
If or or , an immediate return is effected.
- 7: 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 .
- 8: S() – REAL (KIND=nag_wp) arrayInput
-
Note: the dimension of the array
S
must be at least
.
On entry: must hold , the sine of the rotation , for .
- 9: A(LDA,) – REAL (KIND=nag_wp) arrayInput/Output
-
Note: the second dimension of the array
A
must be at least
.
On entry: the
by
symmetric matrix
.
- If , the upper triangular part of must be stored and the elements of the array below the diagonal are not referenced.
- If , the lower triangular part of must be stored and the elements of the array above the diagonal are not referenced.
On exit: the transformed matrix .
- 10: LDA – INTEGERInput
On entry: the first dimension of the array
A as declared in the (sub)program from which F06QMF is called.
Constraint:
.
None.
Not applicable.
None.
None.