# ?rotm

Performs rotation of points in the modified plane.

## Syntax

FORTRAN 77:

call srotm(n, x, incx, y, incy, param)

call drotm(n, x, incx, y, incy, param)

Fortran 95:

call rotm(x, y [,param])

## Description

Given two complex vectors x and y, each vector element of these vectors is replaced as follows:
`x(i) = H*x(i) + H*y(i)`
`y(i) = H*y(i) - H*x(i)`

where:

H is a modified Givens transformation matrix whose values are stored in the param(2) through param(5) array. See discussion on the param argument.

## Input Parameters

n

  INTEGER. Specifies the number of elements in vectors x and y.

x

  REAL for srotm

  DOUBLE PRECISION for drotm

  Array, DIMENSION at least `(1 + (n -1)*abs(incx))`.

incx

  INTEGER. Specifies the increment for the elements of x.

y

  REAL for srotm

  DOUBLE PRECISION for drotm

  Array, DIMENSION at least `(1 + (n -1)*abs(incy))`.

incy

  INTEGER. Specifies the increment for the elements of y.

param

  REAL for srotm

  DOUBLE PRECISION for drotm

  Array, DIMENSION 5.

  The elements of the param array are:

  param(1) contains a switch, flag. param(2-5) contain h11, h21, h12, and h22, respectively, the components of the array H.

  Depending on the values of flag, the components of H are set as follows:

  In the last three cases, the matrix entries of 1., -1., and 0. are assumed based on the value of flag and are not required to be set in the param vector.

## Output Parameters

x

  Each element is replaced by `h11*x + h12*y`.

y

  Each element is replaced by `h21*x + h22*y`.

## Fortran 95 Interface Notes

Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or reconstructible arguments, see Fortran 95 Interface Conventions.

Specific details for the routine rotm interface are the following:

x

  Holds the vector of length(n).

y

  Holds the vector of length (n).

param

  The default value for `param(1)` is -2.

Parent topic: BLAS Level 1 Routines