DROTM(3) BLAS routine of NEC Numeric Library Collection DROTM(3)
NAME
DROTM - BLAS level one. Applies a modified Givens rotation.
SYNOPSIS
SUBROUTINE DROTM ( n, x, incx, y, incy, rparam )
INTEGER n, incx, incy
DOUBLE PRECISION x, y, rparam
DESCRIPTION
DROTM applies the modified Givens plane rotation constructed by DROTMG.
ARGUMENTS
n INTEGER. (input)
Number of ordered pairs (planar points in DROTM) to be rotated.
If n <= 0, this routine returns without computation.
x DOUBLE PRECISION, (input and output)
Array of dimension (n-1) * |incx| + 1. On input, array x con-
tains the x-coordinate of each planar point to be rotated. On
output, array x contains the x-coordinate of each rotated pla-
nar point.
incx INTEGER. (input)
Increment between elements of x. If incx = 0, the results will
be unpredictable.
y DOUBLE PRECISION, (input and output)
Array of dimension (n-1) * |incy| + 1.
On input, array y contains the y-coordinate of each planar
point to be rotated. On output, array y contains the y-coordi-
nate of each rotated planar point.
incy INTEGER. (input)
Increment between elements of y. If incy = 0, the results will
be unpredictable.
rparam DOUBLE PRECISION array of dimension 5. (input)
Contains rotation matrix information.
NOTES
This routine computes a planar rotation, with possible scaling oreflec-
tion, as follows:
_ _ _ _ _ _
| x(i) | | h(1,1) h(1,2) | | x(i) |
| y(i) | <-- | h(2,1) h(2,2) | | y(i) |
- - - - - -
for i = 1,...,n
where the matrix that contains the elements h(1,1), h(2,1), h(1,2),
and h(2,2) is called a rotation matrix.
The rparam array determines the contents of the rotation matrix, as
follows:
The key parameter, rparam(1), may have one of four values:
1.0, 0.0, -1.0, or -2.0
If rparam(1) = 1.0:
_ _ _ _
| h(1,1) h(1,2) | = | rparam(2) 1.0 |
| h(2,1) h(2,2) | | -1.0 rparam(5) |
- - - -
and rparam(3) and rparam(4) are ignored.
If rparam(1) = 0.0:
_ _ _ _
| h(1,1) h(1,2) | = | 1.0 rparam(4) |
| h(2,1) h(2,2) | | rparam(3) 1.0 |
- - - -
and rparam(2) and rparam(5) are ignored.
If rparam(1)=-1.0 (rescaling case):
_ _ _ _
| h(1,1) h(1,2) | = | rparam(2) rparam(4) |
| h(2,1) h(2,2) | | rparam(3) rparam(5) |
- - - -
This is a full matrix multiplication.
If rparam(1) = -2.0:
_ _ _ _
| h(1,1) h(1,2) | = | 1.0 0.0 | = I
| h(2,1) h(2,2) | | 0.0 1.0 |
- - - -
where I is the identity matrix. In this case, rparam(2), rparam(3),
rparam(4), and rparam(5) are ignored.
If n <= 0, or if the rotation matrix is the identity matrix (for
example, when rparam(1) = -2.0), this routine returns with no
operation on input arrays x and y.
SEE ALSO
DROTMG(3) for further details about the modified Givens transformation
and array rparam.
BLAS routine DROTM(3)