MAGMA  2.3.0 Matrix Algebra for GPU and Multicore Architectures
rot: Apply Givens rotation

## Functions

void magma_crot (magma_int_t n, magmaFloatComplex_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy, float c, magmaFloatComplex s, magma_queue_t queue)
Apply Givens plane rotation, where cos (c) is real and sin (s) is complex. More...

void magma_csrot (magma_int_t n, magmaFloatComplex_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy, float c, float s, magma_queue_t queue)
Apply Givens plane rotation, where cos (c) and sin (s) are real. More...

void magma_drot (magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy, double c, double s, magma_queue_t queue)
Apply Givens plane rotation, where cos (c) is real and sin (s) is real. More...

void magma_srot (magma_int_t n, magmaFloat_ptr dx, magma_int_t incx, magmaFloat_ptr dy, magma_int_t incy, float c, float s, magma_queue_t queue)
Apply Givens plane rotation, where cos (c) is real and sin (s) is real. More...

void magma_zrot (magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy, double c, magmaDoubleComplex s, magma_queue_t queue)
Apply Givens plane rotation, where cos (c) is real and sin (s) is complex. More...

void magma_zdrot (magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy, double c, double s, magma_queue_t queue)
Apply Givens plane rotation, where cos (c) and sin (s) are real. More...

## Function Documentation

 void magma_crot ( magma_int_t n, magmaFloatComplex_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy, float c, magmaFloatComplex s, magma_queue_t queue )

Apply Givens plane rotation, where cos (c) is real and sin (s) is complex.

Parameters
 [in] n Number of elements in vector x and y. n >= 0. [in,out] dx COMPLEX array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y. [in] incx Stride between consecutive elements of dx. incx != 0. [in,out] dy COMPLEX array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). On output, overwritten with -conj(s)*x + c*y. [in] incy Stride between consecutive elements of dy. incy != 0. [in] c float. cosine. [in] s COMPLEX. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ] [in] queue magma_queue_t Queue to execute in.
 void magma_csrot ( magma_int_t n, magmaFloatComplex_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy, float c, float s, magma_queue_t queue )

Apply Givens plane rotation, where cos (c) and sin (s) are real.

Parameters
 [in] n Number of elements in vector x and y. n >= 0. [in,out] dx COMPLEX array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y. [in] incx Stride between consecutive elements of dx. incx != 0. [in,out] dy COMPLEX array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). On output, overwritten with -conj(s)*x + c*y. [in] incy Stride between consecutive elements of dy. incy != 0. [in] c float. cosine. [in] s float. sine. c and s define a rotation [ c s ] where c*c + s*s = 1. [ -s c ] [in] queue magma_queue_t Queue to execute in.
 void magma_drot ( magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy, double c, double s, magma_queue_t queue )

Apply Givens plane rotation, where cos (c) is real and sin (s) is real.

Parameters
 [in] n Number of elements in vector x and y. n >= 0. [in,out] dx DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y. [in] incx Stride between consecutive elements of dx. incx != 0. [in,out] dy DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). On output, overwritten with -conj(s)*x + c*y. [in] incy Stride between consecutive elements of dy. incy != 0. [in] c double. cosine. [in] s DOUBLE PRECISION. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ] [in] queue magma_queue_t Queue to execute in.
 void magma_srot ( magma_int_t n, magmaFloat_ptr dx, magma_int_t incx, magmaFloat_ptr dy, magma_int_t incy, float c, float s, magma_queue_t queue )

Apply Givens plane rotation, where cos (c) is real and sin (s) is real.

Parameters
 [in] n Number of elements in vector x and y. n >= 0. [in,out] dx REAL array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y. [in] incx Stride between consecutive elements of dx. incx != 0. [in,out] dy REAL array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). On output, overwritten with -conj(s)*x + c*y. [in] incy Stride between consecutive elements of dy. incy != 0. [in] c float. cosine. [in] s REAL. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ] [in] queue magma_queue_t Queue to execute in.
 void magma_zrot ( magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy, double c, magmaDoubleComplex s, magma_queue_t queue )

Apply Givens plane rotation, where cos (c) is real and sin (s) is complex.

Parameters
 [in] n Number of elements in vector x and y. n >= 0. [in,out] dx COMPLEX_16 array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y. [in] incx Stride between consecutive elements of dx. incx != 0. [in,out] dy COMPLEX_16 array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). On output, overwritten with -conj(s)*x + c*y. [in] incy Stride between consecutive elements of dy. incy != 0. [in] c double. cosine. [in] s COMPLEX_16. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ] [in] queue magma_queue_t Queue to execute in.
 void magma_zdrot ( magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy, double c, double s, magma_queue_t queue )

Apply Givens plane rotation, where cos (c) and sin (s) are real.

Parameters
 [in] n Number of elements in vector x and y. n >= 0. [in,out] dx COMPLEX_16 array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y. [in] incx Stride between consecutive elements of dx. incx != 0. [in,out] dy COMPLEX_16 array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). On output, overwritten with -conj(s)*x + c*y. [in] incy Stride between consecutive elements of dy. incy != 0. [in] c double. cosine. [in] s double. sine. c and s define a rotation [ c s ] where c*c + s*s = 1. [ -s c ] [in] queue magma_queue_t Queue to execute in.