MAGMA  2.3.0 Matrix Algebra for GPU and Multicore Architectures
larfy: Apply Householder reflector to symmetric/Hermitian matrix

## Functions

void magma_clarfy (magma_int_t n, magmaFloatComplex *A, magma_int_t lda, const magmaFloatComplex *V, const magmaFloatComplex *TAU, magmaFloatComplex *work)
magma_clarfy applies an elementary reflector, or Householder matrix, H, to a n-by-n Hermitian matrix C, from both the left and the right. More...

void magma_dlarfy (magma_int_t n, double *A, magma_int_t lda, const double *V, const double *TAU, double *work)
magma_dlarfy applies an elementary reflector, or Householder matrix, H, to a n-by-n symmetric matrix C, from both the left and the right. More...

void magma_slarfy (magma_int_t n, float *A, magma_int_t lda, const float *V, const float *TAU, float *work)
magma_slarfy applies an elementary reflector, or Householder matrix, H, to a n-by-n symmetric matrix C, from both the left and the right. More...

magma_zlarfy applies an elementary reflector, or Householder matrix, H, to a n-by-n Hermitian matrix C, from both the left and the right. More...

## Function Documentation

 void magma_clarfy ( magma_int_t n, magmaFloatComplex * A, magma_int_t lda, const magmaFloatComplex * V, const magmaFloatComplex * TAU, magmaFloatComplex * work )

magma_clarfy applies an elementary reflector, or Householder matrix, H, to a n-by-n Hermitian matrix C, from both the left and the right.

H is represented in the form

H = I - tau * v * v'

where tau is a scalar and v is a vector.

If tau is zero, then H is taken to be the unit matrix.

Parameters
 [in] n The number of rows and columns of the matrix C. n >= 0. [in,out] A COMPLEX array, dimension (lda, n) On entry, the Hermetian matrix A. On exit, A is overwritten by H * A * H'. [in] lda The leading dimension of the array A. lda >= max(1,n). [in] V The vector V that contains the Householder reflectors. [in] TAU The value tau. [out] work Workspace.
 void magma_dlarfy ( magma_int_t n, double * A, magma_int_t lda, const double * V, const double * TAU, double * work )

magma_dlarfy applies an elementary reflector, or Householder matrix, H, to a n-by-n symmetric matrix C, from both the left and the right.

H is represented in the form

H = I - tau * v * v'

where tau is a scalar and v is a vector.

If tau is zero, then H is taken to be the unit matrix.

Parameters
 [in] n The number of rows and columns of the matrix C. n >= 0. [in,out] A DOUBLE PRECISION array, dimension (lda, n) On entry, the Hermetian matrix A. On exit, A is overwritten by H * A * H'. [in] lda The leading dimension of the array A. lda >= max(1,n). [in] V The vector V that contains the Householder reflectors. [in] TAU The value tau. [out] work Workspace.
 void magma_slarfy ( magma_int_t n, float * A, magma_int_t lda, const float * V, const float * TAU, float * work )

magma_slarfy applies an elementary reflector, or Householder matrix, H, to a n-by-n symmetric matrix C, from both the left and the right.

H is represented in the form

H = I - tau * v * v'

where tau is a scalar and v is a vector.

If tau is zero, then H is taken to be the unit matrix.

Parameters
 [in] n The number of rows and columns of the matrix C. n >= 0. [in,out] A REAL array, dimension (lda, n) On entry, the Hermetian matrix A. On exit, A is overwritten by H * A * H'. [in] lda The leading dimension of the array A. lda >= max(1,n). [in] V The vector V that contains the Householder reflectors. [in] TAU The value tau. [out] work Workspace.