Do more. Code less. Free software for GPU computing.
<scroll to top>

Eigenvalue

Factorization

Eigen values and eigen vectors of an input matrix. More...

Device pointer interface: Eigen vectors and Eigen values

Parameters:
[out]d_ValThe output containing the eigen values of d_A. For real inputs, this is allocated internally based on the resulting complexity of output and is_imag indicates complexity, e.g. real-valued hermitial matrices produce real-valued eigen values while non-hermitian produce complex-valued eigen values.
[out]d_VecThe output containing the eigen vectors of d_A, or NULL if this is to be ignored (faster). For real inputs, this is allocated internally based on complexity of output and is_imag indicates complexity. For complex inputs, caller allocates. Pass NULL to avoid computing eigen vectors (faster).
[out]is_imagThe output format specifier for real inputs. If is_imag is true, the outputs are stored as cuComplex or (cuDoubleComplex). If is_imag is false, the outputs are stored as float (or double).
[in]nWidth of the input matrix d_A.
[in]d_AInput square matrix of width n.
[in]is_diagSpecifier of d_Val data structure. If is_diag is true, d_Val is a diagonal matrix. if is_diag is false, d_Val is a vector. is_diag can not be false if d_Vec is not NULL
[in]batchNumber of tiles of input being handled.

afError af_eigen_S (void **d_Val, void **d_Vec, bool *is_imag, unsigned n, const float *d_A, bool is_diag, unsigned batch)
 Eigen value decomposition of single precision input.
afError af_eigen_D (void **d_Val, void **d_Vec, bool *is_imag, unsigned n, const double *d_A, bool is_diag, unsigned batch)
 Eigen value decomposition of single precision complex input.
afError af_eigen_C (void **d_Val, cuComplex *d_Vec, bool *is_imag, unsigned n, const cuComplex *d_A, bool is_diag, unsigned batch)
 Eigen value decomposition of double precision input.
afError af_eigen_Z (void **d_Val, cuDoubleComplex *d_Vec, bool *is_imag, unsigned n, const cuDoubleComplex *d_A, bool is_diag, unsigned batch)
 Eigen value decomposition of double precision complex input.

Detailed Description

Eigen values and eigen vectors of an input matrix.

Requires ArrayFire Pro.


Function Documentation

afError af_eigen_S ( void **  d_Val,
void **  d_Vec,
bool *  is_imag,
unsigned  n,
const float *  d_A,
bool  is_diag,
unsigned  batch 
)

Eigen value decomposition of single precision input.

DLA license is required.

afError af_eigen_D ( void **  d_Val,
void **  d_Vec,
bool *  is_imag,
unsigned  n,
const double *  d_A,
bool  is_diag,
unsigned  batch 
)

Eigen value decomposition of single precision complex input.

DLA license is required.

afError af_eigen_C ( void **  d_Val,
cuComplex *  d_Vec,
bool *  is_imag,
unsigned  n,
const cuComplex *  d_A,
bool  is_diag,
unsigned  batch 
)

Eigen value decomposition of double precision input.

DLA license is required.

afError af_eigen_Z ( void **  d_Val,
cuDoubleComplex *  d_Vec,
bool *  is_imag,
unsigned  n,
const cuDoubleComplex *  d_A,
bool  is_diag,
unsigned  batch 
)

Eigen value decomposition of double precision complex input.

DLA license is required.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines