|
Ensign
Low-rank framework for multi-core CPUs and GPUs
|
Declares dense matrix and vector operations, including BLAS wrappers. More...
#include <generic/common.hpp>#include <generic/storage.hpp>#include <generic/kernels.hpp>#include <generic/index.hpp>#include <generic/utility.hpp>Go to the source code of this file.
Classes | |
| struct | Ensign::Matrix::blas_ops |
| Provides matrix and vector operations with optional GPU execution. More... | |
| struct | Ensign::Matrix::diagonalization |
| Helper class to perform diagonalization of a symmetric matrix (also known as the Schur decomposition) Factorizes the matrix CC as follows CC = TT*diag(diag_r)*TT^T. More... | |
| struct | Ensign::Matrix::lu_solver< T > |
| Linear solver based on a LU decomposition. More... | |
Namespaces | |
| namespace | Ensign |
| Core namespace for Ensign's numerical algorithms and data structures. | |
| namespace | Ensign::Matrix |
| Dense matrix operations. | |
Functions | |
| template<class T > | |
| void | Ensign::Matrix::set_zero (multi_array< T, 2 > &a) |
| Set matrix to zero. | |
| template<class T > | |
| void | Ensign::Matrix::set_identity (multi_array< T, 2 > &a) |
| Set matrix to identity. | |
| template<class T , size_t d> | |
| void | Ensign::Matrix::set_const (multi_array< T, d > &a, T alpha) |
| Set vector or matrix to a constant value. | |
| template<class T > | |
| void | Ensign::Matrix::ptw_mult_row (const multi_array< T, 2 > &a, const multi_array< T, 1 > &w, multi_array< T, 2 > &out) |
| Multiply every row of a matrix with a vector (i.e. | |
| template<class T > | |
| void | Ensign::Matrix::transpose_inplace (multi_array< T, 2 > &a) |
| Transpose a square matrix inplace (intended for small matrices) | |
| template<class T > | |
| void | Ensign::Matrix::svd (const multi_array< T, 2 > &input, multi_array< T, 2 > &U, multi_array< T, 2 > &V, multi_array< T, 1 > &sigma_diag, const blas_ops &blas) |
| Computes the singular value decomposition of the matrix input. | |
| template<class T > | |
| void | Ensign::Matrix::qr (multi_array< T, 2 > &Q, multi_array< T, 2 > &R) |
Declares dense matrix and vector operations, including BLAS wrappers.
Definition in file matrix.hpp.