F06QXF applies a sequence of plane rotations to a real rectangular matrix.
F06QXF performs the transformation
where
A is an
m by
n real matrix and
P is a real orthogonal matrix, defined as a sequence of plane rotations,
Pk, applied in planes
k1 to
k2.
The
2 by
2 plane rotation part of
Pk is assumed to have the form
None.
- 1: SIDE – CHARACTER(1)Input
On entry: specifies whether
A is operated on from the left or the right.
- SIDE='L'
- A is pre-multiplied from the left.
- SIDE='R'
- A is post-multiplied from the right.
Constraint:
SIDE='L' or 'R'.
- 2: PIVOT – CHARACTER(1)Input
On entry: specifies the plane rotated by
Pk.
- PIVOT='V' (variable pivot)
- Pk rotates the k,k+1 plane.
- PIVOT='T' (top pivot)
- Pk rotates the k1,k+1 plane.
- PIVOT='B' (bottom pivot)
- Pk rotates the k,k2 plane.
Constraint:
PIVOT='V', 'T' or 'B'.
- 3: DIRECT – CHARACTER(1)Input
On entry: specifies the sequence direction.
- DIRECT='F' (forward sequence)
- P=Pk2-1⋯Pk1+1Pk1.
- DIRECT='B' (backward sequence)
- P=Pk1Pk1+1⋯Pk2-1.
Constraint:
DIRECT='F' or 'B'.
- 4: M – INTEGERInput
On entry:
m, the number of rows of the matrix
A.
If M<1, an immediate return is effected.
Constraint:
M≥0.
- 5: N – INTEGERInput
On entry:
n, the number of columns of the matrix
A.
If N<1, an immediate return is effected.
Constraint:
N≥0.
- 6: K1 – INTEGERInput
- 7: K2 – INTEGERInput
On entry: the values
k1 and
k2.
If K1<1 or K2≤K1, or SIDE='L' and K2>M, or SIDE='R' and K2>N, an immediate return is effected.
- 8: C(K2-1) – REAL (KIND=nag_wp) arrayInput
On entry: Ck must hold ck, the cosine of the rotation Pk, for k=k1,…,k2-1.
- 9: S(K2-1) – REAL (KIND=nag_wp) arrayInput
On entry: Sk must hold sk, the sine of the rotation Pk, for k=k1,…,k2-1.
- 10: A(LDA,*) – REAL (KIND=nag_wp) arrayInput/Output
-
Note: the second dimension of the array
A
must be at least
N.
On entry: the m by n matrix A.
On exit: the transformed matrix A.
- 11: LDA – INTEGERInput
On entry: the first dimension of the array
A as declared in the (sub)program from which F06QXF is called.
Constraint:
LDA≥ max1,M .
None.
Not applicable.
None.
None.