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

\(||x||_2\) More...

Functions

template<typename T >
real_type< T > blas::nrm2 (int64_t n, T const *x, int64_t incx)
 
void blas::nrm2 (int64_t n, float const *x, int64_t incx, float *result, blas::Queue &queue)
 GPU device, float version.
 
void blas::nrm2 (int64_t n, double const *x, int64_t incx, double *result, blas::Queue &queue)
 GPU device, double version.
 
void blas::nrm2 (int64_t n, std::complex< float > const *x, int64_t incx, float *result, blas::Queue &queue)
 GPU device, complex<float> version.
 
void blas::nrm2 (int64_t n, std::complex< double > const *x, int64_t incx, double *result, blas::Queue &queue)
 GPU device, complex<double> version.
 
float blas::nrm2 (int64_t n, float const *x, int64_t incx)
 CPU, float version.
 
double blas::nrm2 (int64_t n, double const *x, int64_t incx)
 CPU, double version.
 
float blas::nrm2 (int64_t n, std::complex< float > const *x, int64_t incx)
 CPU, complex<float> version.
 
double blas::nrm2 (int64_t n, std::complex< double > const *x, int64_t incx)
 CPU, complex<double> version.
 

Detailed Description

\(||x||_2\)

Function Documentation

◆ nrm2() [1/2]

void blas::nrm2 ( int64_t  n,
float const *  x,
int64_t  incx,
float *  result,
blas::Queue queue 
)

GPU device, float version.

Unlike CPU version, here result is an output parameter, to store the result when the asynchronous execution completes.

◆ nrm2() [2/2]

template<typename T >
real_type< T > blas::nrm2 ( int64_t  n,
T const *  x,
int64_t  incx 
)
Returns
2-norm of vector, \(|| x ||_2 = (\sum_{i=0}^{n-1} |x_i|^2)^{1/2}\).

Generic implementation for arbitrary data types. TODO: generic implementation does not currently scale to avoid over- or underflow.

Parameters
[in]nNumber of elements in x. n >= 0.
[in]xThe n-element vector x, in an array of length (n-1)*incx + 1.
[in]incxStride between elements of x. incx > 0.