MAGMA  2.3.0
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
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...
 

Detailed Description

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]nNumber of elements in vector x and y. n >= 0.
[in,out]dxCOMPLEX array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y.
[in]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyCOMPLEX 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]incyStride between consecutive elements of dy. incy != 0.
[in]cfloat. cosine.
[in]sCOMPLEX. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ]
[in]queuemagma_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]nNumber of elements in vector x and y. n >= 0.
[in,out]dxCOMPLEX array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y.
[in]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyCOMPLEX 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]incyStride between consecutive elements of dy. incy != 0.
[in]cfloat. cosine.
[in]sfloat. sine. c and s define a rotation [ c s ] where c*c + s*s = 1. [ -s c ]
[in]queuemagma_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]nNumber of elements in vector x and y. n >= 0.
[in,out]dxDOUBLE 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]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyDOUBLE 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]incyStride between consecutive elements of dy. incy != 0.
[in]cdouble. cosine.
[in]sDOUBLE PRECISION. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ]
[in]queuemagma_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]nNumber of elements in vector x and y. n >= 0.
[in,out]dxREAL array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y.
[in]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyREAL 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]incyStride between consecutive elements of dy. incy != 0.
[in]cfloat. cosine.
[in]sREAL. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ]
[in]queuemagma_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]nNumber of elements in vector x and y. n >= 0.
[in,out]dxCOMPLEX_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]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyCOMPLEX_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]incyStride between consecutive elements of dy. incy != 0.
[in]cdouble. cosine.
[in]sCOMPLEX_16. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ]
[in]queuemagma_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]nNumber of elements in vector x and y. n >= 0.
[in,out]dxCOMPLEX_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]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyCOMPLEX_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]incyStride between consecutive elements of dy. incy != 0.
[in]cdouble. cosine.
[in]sdouble. sine. c and s define a rotation [ c s ] where c*c + s*s = 1. [ -s c ]
[in]queuemagma_queue_t Queue to execute in.