Documentation
|
|
#include "defines.h"Go to the source code of this file.
Namespaces | |
| af | |
Enumerations | |
| enum | af_solve_t { af_solve_none = 0, af_solve_posdef = 1, af_solve_nonposdef = 2, af_solve_gaussian = 3, af_solve_pseudo = 4, af_solve_ctrans = 256, af_solve_trans = 512, af_solve_uppertri = 1024, af_solve_lowertri = 2048, af_solve_tridiag = 4096, af_solve_blkdiag = 8192 } |
Functions | |||||||||||||||||||||||||||||||||||||
| array | lu (const array &in) | ||||||||||||||||||||||||||||||||||||
| LU factorization (packed). More... | |||||||||||||||||||||||||||||||||||||
| void | lu (array &lower, array &upper, const array &in) | ||||||||||||||||||||||||||||||||||||
| LU factorization. More... | |||||||||||||||||||||||||||||||||||||
| void | lu (array &lower, array &upper, array &pivot, const array &in) | ||||||||||||||||||||||||||||||||||||
| LU factorization (with pivoting). More... | |||||||||||||||||||||||||||||||||||||
| array | qr (const array &in) | ||||||||||||||||||||||||||||||||||||
| QR factorization (packed). More... | |||||||||||||||||||||||||||||||||||||
| void | qr (array &q, array &r, const array &in) | ||||||||||||||||||||||||||||||||||||
| QR factorization. More... | |||||||||||||||||||||||||||||||||||||
| void | qr (array &q, array &r, array &tau, const array &in) | ||||||||||||||||||||||||||||||||||||
QR factorization with tau. More... | |||||||||||||||||||||||||||||||||||||
| array | cholesky (const array &X, bool is_upper=true) | ||||||||||||||||||||||||||||||||||||
| Cholesky decomposition ("Y^T * Y == X"). More... | |||||||||||||||||||||||||||||||||||||
| array | cholesky (unsigned &info, const array &X, bool is_upper=true) | ||||||||||||||||||||||||||||||||||||
| Cholesky decomposition ("Y^T * Y == X"). More... | |||||||||||||||||||||||||||||||||||||
| array | hessenberg (const array &in) | ||||||||||||||||||||||||||||||||||||
| Hessenberg matrix form. More... | |||||||||||||||||||||||||||||||||||||
| void | hessenberg (array &h, array &q, const array &in) | ||||||||||||||||||||||||||||||||||||
Hessenberg matrix h with unitary permutation matrix q. More... | |||||||||||||||||||||||||||||||||||||
| array | eigen (const array &in, bool is_diag=false) | ||||||||||||||||||||||||||||||||||||
| Compute eigenvalues. More... | |||||||||||||||||||||||||||||||||||||
| void | eigen (array &values, array &vectors, const array &in) | ||||||||||||||||||||||||||||||||||||
| Eigenvalues and eigenvectors. More... | |||||||||||||||||||||||||||||||||||||
| array | svd (const array &in, bool is_diag=false) | ||||||||||||||||||||||||||||||||||||
| Singular values. More... | |||||||||||||||||||||||||||||||||||||
| void | svd (array &s, array &u, array &v, const array &in) | ||||||||||||||||||||||||||||||||||||
| Singular values with unitary bases: in = u * s * v. More... | |||||||||||||||||||||||||||||||||||||
| array | inverse (const array &in) | ||||||||||||||||||||||||||||||||||||
| Matrix inversion. More... | |||||||||||||||||||||||||||||||||||||
| array | matpow (const array &base, double exponent) | ||||||||||||||||||||||||||||||||||||
| Matrix power. More... | |||||||||||||||||||||||||||||||||||||
| unsigned | rank (const array &in, double tolerance=1e-5) | ||||||||||||||||||||||||||||||||||||
| Rank of matrix. More... | |||||||||||||||||||||||||||||||||||||
| template<typename T > | |||||||||||||||||||||||||||||||||||||
| T | det (const array &in) | ||||||||||||||||||||||||||||||||||||
| Matrix determinant. More... | |||||||||||||||||||||||||||||||||||||
| array | solve (const array &A, const array &b, af_solve_t options=af_solve_none) | ||||||||||||||||||||||||||||||||||||
| Solve linear system. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: lu Decomposition | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_lu_S (int *d_piv, float *d_U, float *d_L, unsigned m, unsigned n, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| lu Decomposition on single precision data. No DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_lu_C (int *d_piv, cfloat *d_U, cfloat *d_L, unsigned m, unsigned n, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| lu Decomposition on single precision, complex data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_lu_D (int *d_piv, double *d_U, double *d_L, unsigned m, unsigned n, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| lu Decomposition on double precision data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_lu_Z (int *d_piv, cdouble *d_U, cdouble *d_L, unsigned m, unsigned n, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| lu Decomposition on double precision, complex data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: qr decomposition | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_qr_S (float *d_tau, float *d_R, float *d_Q, unsigned m, unsigned n, unsigned k, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| qr decomposition on single precision data. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_qr_C (cfloat *d_tau, cfloat *d_R, cfloat *d_Q, unsigned m, unsigned n, unsigned k, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| qr decomposition on single precision, complex data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_qr_D (double *d_tau, double *d_R, double *d_Q, unsigned m, unsigned n, unsigned k, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| qr decomposition on double precision data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_qr_Z (cdouble *d_tau, cdouble *d_R, cdouble *d_Q, unsigned m, unsigned n, unsigned k, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| qr decomposition on double precision, complex data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: Cholesky decomposition | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_cholesky_S (float *d_R, unsigned *info, unsigned n, const float *d_A, bool is_upper, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Cholesky decomposition, single precision data. No DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_cholesky_C (cfloat *d_R, unsigned *info, unsigned n, const cfloat *d_A, bool is_upper, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Cholesky decomposition, single precision complex data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_cholesky_D (double *d_R, unsigned *info, unsigned n, const double *d_A, bool is_upper, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Cholesky decomposition, double precision data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_cholesky_Z (cdouble *d_R, unsigned *info, unsigned n, const cdouble *d_A, bool is_upper, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Cholesky decomposition, double precision, complex data. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: Hessenberg Matrix | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_hessenberg_S (float *d_H, float *d_Q, unsigned n, const float *d_A, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Find the hessenberg matrix on single precision data. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_hessenberg_C (cfloat *d_H, cfloat *d_Q, unsigned n, const cfloat *d_A, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Find the hessenberg matrix on single precision complex data. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_hessenberg_D (double *d_H, double *d_Q, unsigned n, const double *d_A, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Find the hessenberg matrix on double precision data. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_hessenberg_Z (cdouble *d_H, cdouble *d_Q, unsigned n, const cdouble *d_A, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Find the hessenberg matrix on double precision complex data. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: Eigen vectors and Eigen values | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| 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. More... | |||||||||||||||||||||||||||||||||||||
| 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. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_eigen_C (void **d_Val, cfloat *d_Vec, bool *is_imag, unsigned n, const cfloat *d_A, bool is_diag, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Eigen value decomposition of double precision input. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_eigen_Z (void **d_Val, cdouble *d_Vec, bool *is_imag, unsigned n, const cdouble *d_A, bool is_diag, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Eigen value decomposition of double precision complex input. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: Singular value decomposition | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_svd_S (float *d_S, float *d_U, float *d_V, char jobU, char jobV, unsigned m, unsigned n, const float *d_A, unsigned m_, unsigned n_, bool is_diag, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Singular value decomposition on single precision input DLA license not required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_svd_C (float *d_S, cfloat *d_U, cfloat *d_V, char jobU, char jobV, unsigned m, unsigned n, const cfloat *d_A, unsigned m_, unsigned n_, bool is_diag, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Singular value decomposition on single precision complex input DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_svd_D (double *d_S, double *d_U, double *d_V, char jobU, char jobV, unsigned m, unsigned n, const double *d_A, unsigned m_, unsigned n_, bool is_diag, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Singular value decomposition on double precision input DLA license not required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_svd_Z (double *d_S, cdouble *d_U, cdouble *d_V, char jobU, char jobV, unsigned m, unsigned n, const cdouble *d_A, unsigned m_, unsigned n_, bool is_diag, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Singular value decomposition on double precision complex input DLA license not required. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: Matrix inversion | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_inverse_S (float *out, unsigned n, float *d_in, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Inversion of single precision matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_inverse_C (cfloat *out, unsigned n, cfloat *d_in, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Inversion of single precision complex matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_inverse_D (double *out, unsigned n, double *d_in, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Inversion of double precision matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_inverse_Z (cdouble *out, unsigned n, cdouble *d_in, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Inversion of double precision complex matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: Matrix determinant | |||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
| afError | af_det_S (float *res, unsigned n, float *d_X, bool inplace, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Determinant of single precision matrix. DLA license not required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_det_C (cfloat *res, unsigned n, cfloat *d_X, bool inplace, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Determinant of single precision complex matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_det_D (double *res, unsigned n, double *d_X, bool inplace, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Determinant of double precision matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_det_Z (cdouble *res, unsigned n, cdouble *d_X, bool inplace, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| Determinant of double precision complex matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: Matrix power | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_matrixPower_S (void **d_out, unsigned n, const float *d_in, float power, unsigned batch, bool *is_cplx) | ||||||||||||||||||||||||||||||||||||
| Matrix power for single precision matrix. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_matrixPower_C (void **d_out, unsigned n, const cfloat *d_in, float power, unsigned batch, bool *is_cplx) | ||||||||||||||||||||||||||||||||||||
| Matrix power for single precision, complex matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_matrixPower_D (void **d_out, unsigned n, const double *d_in, double power, unsigned batch, bool *is_cplx) | ||||||||||||||||||||||||||||||||||||
| Matrix power for double precision matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_matrixPower_Z (void **d_out, unsigned n, const cdouble *d_in, double power, unsigned batch, bool *is_cplx) | ||||||||||||||||||||||||||||||||||||
| Matrix power for double precision, complex matrix. DLA license required. More... | |||||||||||||||||||||||||||||||||||||
Device pointer interface: Solving linear systems. | |||||||||||||||||||||||||||||||||||||
See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_linearSolve_SS (float *d_X, unsigned m, unsigned n, const float *d_A, unsigned batch_A, unsigned k, const float *d_B, unsigned batch_B, unsigned opts) | ||||||||||||||||||||||||||||||||||||
Solve a single precision system. DLA not required for opts = 0, 3. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_linearSolve_CC (cfloat *d_X, unsigned m, unsigned n, const cfloat *d_A, unsigned batch_A, unsigned k, const cfloat *d_B, unsigned batch_B, unsigned opts) | ||||||||||||||||||||||||||||||||||||
Solve a single precision complex system. DLA not required for opts = 3. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_linearSolve_DD (double *d_X, unsigned m, unsigned n, const double *d_A, unsigned batch_A, unsigned k, const double *d_B, unsigned batch_B, unsigned opts) | ||||||||||||||||||||||||||||||||||||
Solve a double precision system. DLA not required for opts = 3. More... | |||||||||||||||||||||||||||||||||||||
| afError | af_linearSolve_ZZ (cdouble *d_X, unsigned m, unsigned n, const cdouble *d_A, unsigned batch_A, unsigned k, const cdouble *d_B, unsigned batch_B, unsigned opts) | ||||||||||||||||||||||||||||||||||||
Solve a double precision complex system. DLA not required for opts = 3. More... | |||||||||||||||||||||||||||||||||||||
Get original pivot indices | |||||||||||||||||||||||||||||||||||||
d_piv returned by af_lu_* contain indices from their updated locations. af_piv_final gives the original locations of each of the pivots. See also Linear Algebra
| |||||||||||||||||||||||||||||||||||||
| afError | af_piv_final_I (int *d_out, unsigned m, unsigned k, const int *d_piv, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| afError | af_piv_final_U (unsigned *d_out, unsigned m, unsigned k, const int *d_piv, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| afError | af_piv_final_S (float *d_out, unsigned m, unsigned k, const int *d_piv, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| afError | af_piv_final_D (double *d_out, unsigned m, unsigned k, const int *d_piv, unsigned batch) | ||||||||||||||||||||||||||||||||||||
| afError af_piv_final_I | ( | int * | d_out, |
| unsigned | m, | ||
| unsigned | k, | ||
| const int * | d_piv, | ||
| unsigned | batch | ||
| ) |
| afError af_piv_final_U | ( | unsigned * | d_out, |
| unsigned | m, | ||
| unsigned | k, | ||
| const int * | d_piv, | ||
| unsigned | batch | ||
| ) |
| afError af_piv_final_S | ( | float * | d_out, |
| unsigned | m, | ||
| unsigned | k, | ||
| const int * | d_piv, | ||
| unsigned | batch | ||
| ) |
| afError af_piv_final_D | ( | double * | d_out, |
| unsigned | m, | ||
| unsigned | k, | ||
| const int * | d_piv, | ||
| unsigned | batch | ||
| ) |