xerus
a general purpose tensor library
|
Header file for the blas and lapack wrapper functions. More...
Go to the source code of this file.
Namespaces | |
xerus | |
The main namespace of xerus. | |
xerus::blasWrapper | |
In this namespace the minimal wrappers for the BLAS and LAPACK functions are collected. | |
Functions | |
std::tuple< std::unique_ptr< double[]>, std::unique_ptr< double[]>, size_t > | xerus::blasWrapper::cq (const double *const _A, const size_t _m, const size_t _n) |
: splits A = C*Q, with _C an rxm matrix (where r is the rank of _A) and _Q orthogonal. More... | |
std::tuple< std::unique_ptr< double[]>, std::unique_ptr< double[]>, size_t > | xerus::blasWrapper::cq_destructive (double *const _A, const size_t _m, const size_t _n) |
: splits A = C*Q, with _C an rxm matrix (where r is the rank of _A) and _Q orthogonal. Destroys A. More... | |
double | xerus::blasWrapper::dot_product (const double *const _x, const size_t _n, const double *const _y) |
: Computes the dot product = x^T*y More... | |
void | xerus::blasWrapper::dyadic_vector_product (double *_A, const size_t _m, const size_t _n, const double _alpha, const double *const _x, const double *const _y) |
: Performs A = alpha*x*y^T More... | |
void | xerus::blasWrapper::inplace_qr (double *const _AtoQ, double *const _R, const size_t _m, const size_t _n) |
: Performs (AtoQ,R) = QR(AtoQ) More... | |
void | xerus::blasWrapper::inplace_rq (double *const _R, double *const _AtoQ, const size_t _m, const size_t _n) |
: Performs (R,AtoQ) = RQ(AtoQ) More... | |
void | xerus::blasWrapper::inverse (double *const _B, const double *const _A, const size_t _m, const size_t _n) |
: Performs B = A^-1 More... | |
void | xerus::blasWrapper::matrix_matrix_product (double *const _C, const size_t _leftDim, const size_t _rightDim, const double _alpha, const double *const _A, const size_t _lda, const bool _transposeA, const size_t _middleDim, const double *const _B, const size_t _ldb, const bool _transposeB) |
: Performs the Matrix-Matrix product C = alpha*OP(A) * OP(B) More... | |
static XERUS_force_inline void | xerus::blasWrapper::matrix_matrix_product (double *const _C, const size_t _leftDim, const size_t _rightDim, const double _alpha, const double *const _A, const bool _transposeA, const size_t _middleDim, const double *const _B, const bool _transposeB) |
: Performs the Matrix-Matrix product C = alpha*OP(A) * OP(B) More... | |
void | xerus::blasWrapper::matrix_vector_product (double *const _x, const size_t _m, const double _alpha, const double *const _A, const size_t _n, const bool _transposed, const double *const _y) |
: Perfroms x = alpha*OP(A)*y More... | |
double | xerus::blasWrapper::one_norm (const double *const _x, const size_t _n) |
: Computes the one norm =||x||_1 More... | |
std::tuple< std::unique_ptr< double[]>, std::unique_ptr< double[]>, size_t > | xerus::blasWrapper::qc (const double *const _A, const size_t _m, const size_t _n) |
: splits A = Q*C, with _C an rxn matrix (where r is the rank of _A) and _Q orthogonal. More... | |
std::tuple< std::unique_ptr< double[]>, std::unique_ptr< double[]>, size_t > | xerus::blasWrapper::qc_destructive (double *const _A, const size_t _m, const size_t _n) |
: splits A = Q*C, with _C an rxn matrix (where r is the rank of _A) and _Q orthogonal. Destroys A. More... | |
void | xerus::blasWrapper::qr (double *const _Q, double *const _R, const double *const _A, const size_t _m, const size_t _n) |
: Performs (Q,R) = QR(A) More... | |
void | xerus::blasWrapper::qr_destructive (double *const _Q, double *const _R, double *const _A, const size_t _m, const size_t _n) |
: Performs (Q,R) = QR(A), destroys A in the process More... | |
void | xerus::blasWrapper::rq (double *const _R, double *const _Q, const double *const _A, const size_t _m, const size_t _n) |
: Performs (R,Q) = RQ(A) More... | |
void | xerus::blasWrapper::rq_destructive (double *const _R, double *const _Q, double *const _A, const size_t _m, const size_t _n) |
: Performs (R,Q) = RQ(A), destroys A in the process More... | |
void | xerus::blasWrapper::solve (double *_x, const double *_A, size_t _m, size_t _n, const double *_b, size_t _p) |
: Solves Ax = b for x More... | |
void | xerus::blasWrapper::solve_least_squares (double *const _x, const double *const _A, const size_t _m, const size_t _n, const double *const _b, const size_t _p) |
: Solves min ||Ax - b||_2 for x More... | |
void | xerus::blasWrapper::solve_least_squares_destructive (double *const _x, double *const _A, const size_t _m, const size_t _n, double *const _b, const size_t _p) |
: Solves min ||Ax - b||_2 for x More... | |
void | xerus::blasWrapper::svd (double *const _U, double *const _S, double *const _Vt, const double *const _A, const size_t _m, const size_t _n) |
: Performs (U,S,V) = SVD(A) More... | |
void | xerus::blasWrapper::svd_destructive (double *const _U, double *const _S, double *const _Vt, double *const _A, const size_t _m, const size_t _n) |
: Performs (U,S,V) = SVD(A). Destroys A. More... | |
double | xerus::blasWrapper::two_norm (const double *const _x, const size_t _n) |
: Computes the two norm =||x||_2 More... | |
Header file for the blas and lapack wrapper functions.
Definition in file blasLapackWrapper.h.