?roti

Applies Givens rotation to sparse vectors one of which is in compressed form.

Syntax

FORTRAN 77:

call sroti(nz, x, indx, y, c, s)

call droti(nz, x, indx, y, c, s)

Fortran 95:

call roti(x, indx, y, c, s)

C:

void cblas_sroti (const MKL_INT nz, float *x, const MKL_INT *indx, float *y, const float c, const float s);

void cblas_droti (const MKL_INT nz, double *x, const MKL_INT *indx, double *y, const double c, const double s);

Include Files

  • Fortran: mkl.fi
  • Fortran 95: blas.f90
  • C: mkl.h

Description

The ?roti routines apply the Givens rotation to elements of two real vectors, x (in compressed form nz, x, indx) and y (in full storage form):

x(i) = c*x(i) + s*y(indx(i))
y(indx(i)) = c*y(indx(i))- s*x(i)

The routines reference only the elements of y whose indices are listed in the array indx. The values in indx must be distinct.

Input Parameters

nz

INTEGER. The number of elements in x and indx.

x

REAL for sroti

DOUBLE PRECISION for droti

Array, size at least nz.

indx

INTEGER. Specifies the indices for the elements of x.

Array, size at least nz.

y

REAL for sroti

DOUBLE PRECISION for droti

Array, size at least max(indx(i)).

c

REAL for sroti

DOUBLE PRECISION for droti.

A scalar.

s

REAL for sroti

DOUBLE PRECISION for droti.

A scalar.

Output Parameters

x and y

The updated arrays.

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 roti interface are the following:

x

Holds the vector with the number of elements nz.

indx

Holds the vector with the number of elements nz.

y

Holds the vector with the number of elements nz.

For more complete information about compiler optimizations, see our Optimization Notice.