Blaze 3.9

BLAS scaled vector addition functions (axpy)

template<typename VT1 , bool TF1, typename VT2 , bool TF2, typename ST >
void blaze::axpy (DenseVector< VT1, TF1 > &y, const DenseVector< VT2, TF2 > &x, ST alpha)
 BLAS kernel for a dense vector axpy product ( $ \vec{y}+=\alpha*\vec{x} $). More...
 

BLAS dot product functions (dotc)

template<typename VT1 , bool TF1, typename VT2 , bool TF2>
ElementType_t< VT1 > blaze::dotc (const DenseVector< VT1, TF1 > &x, const DenseVector< VT2, TF2 > &y)
 BLAS kernel for a dense vector complex conjugate dot product ( $ s=\vec{x}*\vec{y} $). More...
 

BLAS dot product functions (dotu)

template<typename VT1 , bool TF1, typename VT2 , bool TF2>
ElementType_t< VT1 > blaze::dotu (const DenseVector< VT1, TF1 > &x, const DenseVector< VT2, TF2 > &y)
 BLAS kernel for a dense vector dot product ( $ s=\vec{x}*\vec{y} $). More...
 

Detailed Description

Function Documentation

◆ axpy()

template<typename VT1 , bool TF1, typename VT2 , bool TF2, typename ST >
void blaze::axpy ( DenseVector< VT1, TF1 > &  y,
const DenseVector< VT2, TF2 > &  x,
ST  alpha 
)

BLAS kernel for a dense vector axpy product ( $ \vec{y}+=\alpha*\vec{x} $).

Parameters
yThe left-hand side dense vector operand.
xThe right-hand side dense vector operand.
alphaThe scaling factor for the dense vector x.
Returns
void

This function performs the dense vector axpy product based on the BLAS axpy() functions. Note that the function only works for vectors with float, double, complex<float>, or complex<double> element type. The attempt to call the function with vectors of any other element type results in a compile time error.

Note
This function can only be used if a fitting BLAS library, which supports this function, is available and linked to the executable. Otherwise a call to this function will result in a linker error.

◆ dotc()

template<typename VT1 , bool TF1, typename VT2 , bool TF2>
ElementType_t< VT1 > blaze::dotc ( const DenseVector< VT1, TF1 > &  x,
const DenseVector< VT2, TF2 > &  y 
)

BLAS kernel for a dense vector complex conjugate dot product ( $ s=\vec{x}*\vec{y} $).

Parameters
xThe left-hand side dense vector operand.
yThe right-hand side dense vector operand.
Returns
The result of the complex conjugate dot product computation.

This function performs the dot product of the complex conjugate of a dense vector with another dense vector based on the BLAS dotc() functions. Note that the function only works for vectors with float, double, complex<float>, or complex<double> element type. The attempt to call the function with vectors of any other element type results in a compile time error.

Note
This function can only be used if a fitting BLAS library, which supports this function, is available and linked to the executable. Otherwise a call to this function will result in a linker error.

◆ dotu()

template<typename VT1 , bool TF1, typename VT2 , bool TF2>
ElementType_t< VT1 > blaze::dotu ( const DenseVector< VT1, TF1 > &  x,
const DenseVector< VT2, TF2 > &  y 
)

BLAS kernel for a dense vector dot product ( $ s=\vec{x}*\vec{y} $).

Parameters
xThe left-hand side dense vector operand.
yThe right-hand side dense vector operand.
Returns
The result of the dot product computation.

This function performs the dense vector dot product based on the BLAS dotu() functions. Note that the function only works for vectors with float, double, complex<float>, or complex<double> element type. The attempt to call the function with vectors of any other element type results in a compile time error.

Note
This function can only be used if a fitting BLAS library, which supports this function, is available and linked to the executable. Otherwise a call to this function will result in a linker error.