MAGMA  2.3.0
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
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...
 
void magma_zlarfy (magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, const magmaDoubleComplex *V, const magmaDoubleComplex *TAU, magmaDoubleComplex *work)
 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...
 

Detailed Description

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]nThe number of rows and columns of the matrix C. n >= 0.
[in,out]ACOMPLEX array, dimension (lda, n) On entry, the Hermetian matrix A. On exit, A is overwritten by H * A * H'.
[in]ldaThe leading dimension of the array A. lda >= max(1,n).
[in]VThe vector V that contains the Householder reflectors.
[in]TAUThe value tau.
[out]workWorkspace.
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]nThe number of rows and columns of the matrix C. n >= 0.
[in,out]ADOUBLE PRECISION array, dimension (lda, n) On entry, the Hermetian matrix A. On exit, A is overwritten by H * A * H'.
[in]ldaThe leading dimension of the array A. lda >= max(1,n).
[in]VThe vector V that contains the Householder reflectors.
[in]TAUThe value tau.
[out]workWorkspace.
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]nThe number of rows and columns of the matrix C. n >= 0.
[in,out]AREAL array, dimension (lda, n) On entry, the Hermetian matrix A. On exit, A is overwritten by H * A * H'.
[in]ldaThe leading dimension of the array A. lda >= max(1,n).
[in]VThe vector V that contains the Householder reflectors.
[in]TAUThe value tau.
[out]workWorkspace.
void magma_zlarfy ( magma_int_t  n,
magmaDoubleComplex *  A,
magma_int_t  lda,
const magmaDoubleComplex *  V,
const magmaDoubleComplex *  TAU,
magmaDoubleComplex *  work 
)

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.

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]nThe number of rows and columns of the matrix C. n >= 0.
[in,out]ACOMPLEX*16 array, dimension (lda, n) On entry, the Hermetian matrix A. On exit, A is overwritten by H * A * H'.
[in]ldaThe leading dimension of the array A. lda >= max(1,n).
[in]VThe vector V that contains the Householder reflectors.
[in]TAUThe value tau.
[out]workWorkspace.