BLAS++ 2024.05.31
BLAS C++ API
Loading...
Searching...
No Matches

\(A = \alpha xx^H + A\) More...

Functions

template<typename TA , typename TX >
void blas::her (blas::Layout layout, blas::Uplo uplo, int64_t n, blas::real_type< TA, TX > alpha, TX const *x, int64_t incx, TA *A, int64_t lda)
 Hermitian matrix rank-1 update:
 
void blas::her (blas::Layout layout, blas::Uplo uplo, int64_t n, float alpha, float const *x, int64_t incx, float *A, int64_t lda)
 CPU, float version.
 
void blas::her (blas::Layout layout, blas::Uplo uplo, int64_t n, double alpha, double const *x, int64_t incx, double *A, int64_t lda)
 CPU, double version.
 
void blas::her (blas::Layout layout, blas::Uplo uplo, int64_t n, float alpha, std::complex< float > const *x, int64_t incx, std::complex< float > *A, int64_t lda)
 CPU, complex<float> version.
 
void blas::her (blas::Layout layout, blas::Uplo uplo, int64_t n, double alpha, std::complex< double > const *x, int64_t incx, std::complex< double > *A, int64_t lda)
 CPU, complex<double> version.
 

Detailed Description

\(A = \alpha xx^H + A\)

Function Documentation

◆ her()

template<typename TA , typename TX >
void blas::her ( blas::Layout  layout,
blas::Uplo  uplo,
int64_t  n,
blas::real_type< TA, TX >  alpha,
TX const *  x,
int64_t  incx,
TA *  A,
int64_t  lda 
)

Hermitian matrix rank-1 update:

\[ A = \alpha x x^H + A, \]

where alpha is a scalar, x is a vector, and A is an n-by-n Hermitian matrix.

Generic implementation for arbitrary data types.

Parameters
[in]layoutMatrix storage, Layout::ColMajor or Layout::RowMajor.
[in]uploWhat part of the matrix A is referenced, the opposite triangle being assumed from symmetry.
  • Uplo::Lower: only the lower triangular part of A is referenced.
  • Uplo::Upper: only the upper triangular part of A is referenced.
[in]nNumber of rows and columns of the matrix A. n >= 0.
[in]alphaScalar alpha. If alpha is zero, A is not updated.
[in]xThe n-element vector x, in an array of length (n-1)*abs(incx) + 1.
[in]incxStride between elements of x. incx must not be zero. If incx < 0, uses elements of x in reverse order: x(n-1), ..., x(0).
[in,out]AThe n-by-n matrix A, stored in an lda-by-n array [RowMajor: n-by-lda]. Imaginary parts of the diagonal elements need not be set, are assumed to be zero on entry, and are set to zero on exit.
[in]ldaLeading dimension of A. lda >= max(1, n).