SROTM or DROTM Subroutine

If N <= 0 or H is an identity matrix, the subroutines return immediately.

Purpose

Applies the modified Givens transformation.

Library

BLAS Library (libblas.a)

FORTRAN Syntax

SUBROUTINE SROTM(N,X,INCX,Y,INCY,PARAM)
INTEGER  N, INCX, INCY
REAL  X(*), Y(*), PARAM(5)

SUBROUTINE DROTM(N,X,INCX,Y,INCY,PARAM)
INTEGER N,INCX,INCY
DOUBLE PRECISION X(*),Y(*),PARAM(5)

Description

Let H denote the modified Givens transformation defined by the parameter array PARAM. The SROTM or DROTM subroutine computes:

---   ---            ---   ---
|   x   |            |   x   |
|       |  :=  H  *  |       |
|   y   |            |   y   |
---   ---            ---   ---

where H is a 2 x 2 matrix with the components defined by the elements of the array PARAM as follows:

if PARAM(1) == 0.0
   H(1,1) = H(2,2) = 1.0
   H(2,1) = PARAM(3)
   H(1,2) = PARAM(4)
if PARAM(1) == 1.0
   H(1,2) = H(2,1) = -1.0
   H(1,1) = PARAM(2)
   H(2,2) = PARAM(5)
if PARAM(1) == -1.0
   H(1,1) = PARAM(2)
   H(2,1) = PARAM(3) 
   H(1,2) = PARAM(4) 
   H(2,2) = PARAM(5) 
if PARAM(1) == -2.0
   H = I (Identity matrix)

Parameters

Item Description
N On entry, N specifies the number of elements in X and Y; unchanged on exit.
X Vector of dimension at least (1 + (N-1) * abs(INCX) ); on exit, modified as described above.
INCX On entry, INCX specifies the increment for the elements of X; INCX must be greater than 0; unchanged on exit.
Y Vector of dimension at least (1 + (N-1) * abs(INCY) ); on exit, modified as described above.
INCY On entry, INCY specifies the increment for the elements of Y; INCY must be greater than 0; unchanged on exit.
PARAM Vector of dimension (5); on entry, must be set as described above. Specifically, PARAM(1) is a flag and must have value of either 0.0, -1.0, 1.0, or 2.0; unchanged on exit.