Loading...
Searching...
No Matches
rot: Apply Givens rotation
Dense LA » MAGMA BLAS and Auxiliary » Level 1: vectors operations, O(n) work

## 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.
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.
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.
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.
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.
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.

## Detailed Description

## Function Documentation

## magma_crot()

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.

## magma_csrot()

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.

## magma_drot()

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.

## magma_srot()

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.

## magma_zrot()

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.

## magma_zdrot()

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.