#include "linalg/blas_view.h"
#include <cblas.h>
Include dependency graph for blas_view.cpp:
Namespaces | |
namespace | BLAS |
Functions | |
itype | min (itype a, itype b) |
A tiny method to compute the minimum of two indices. | |
bool | ScalarVectorMultiply (const double &scalar, dataview_interface< double > &vec) |
Multiply a double vector by a double scalar (BLAS routine DSCAL()). | |
bool | ScalarVectorMultiply (const std::complex< double > &scalar, dataview_interface< std::complex< double > > &vec) |
Multiply a complex vector by a complex scalar (BLAS routine ZSCAL()). | |
bool | VectorCopy (dataview_interface< double > &dest, const dataview_interface< double > &src) |
Copy one double vector into another (BLAS routine DCOPY()). | |
bool | VectorCopy (dataview_interface< std::complex< double > > &dest, const dataview_interface< std::complex< double > > &src) |
Copy one complex vector into another (BLAS routine ZCOPY()). | |
bool | VectorScaleAdd (dataview_interface< double > &dest, const dataview_interface< double > &src, const double &scalar) |
Add a scalar double multiple of one double vector to another (BLAS routine DAXPY()). | |
bool | VectorScaleAdd (dataview_interface< std::complex< double > > &dest, const dataview_interface< std::complex< double > > &src, const std::complex< double > &scalar) |
Add a scalar complex multiple of one complex vector to another (BLAS routine ZAXPY()). | |
double | VectorVectorDot (const dataview_interface< double > &v1, const dataview_interface< double > &v2) |
Compute the dot product of two vectors of double (BLAS routine DDOT()). | |
std::complex< double > | VectorVectorDot (const dataview_interface< std::complex< double > > &v1, const dataview_interface< std::complex< double > > &v2) |
Compute the dot product of two vectors of complex (BLAS routine ZDOTU_SUB()). | |
std::complex< double > | VectorVectorConjugateDot (const dataview_interface< std::complex< double > > &conjv, const dataview_interface< std::complex< double > > ®v) |
Compute the conjugate dot product of two vectors of complex (BLAS routine ZDOTC_SUB()). | |
double | VectorNorm (const dataview_interface< double > &v) |
Compute the squared 2-norm of a vector of double (BLAS routine DNRM2()). | |
double | VectorNorm (const dataview_interface< std::complex< double > > &v) |
Compute the squared 2-norm of a vector of complex (BLAS routine DZNRM2()). | |
bool | ScalarMatrixMultiply (const double &scalar, dataview_interface< double > &mat) |
Multiply a double matrix by a double scalar (multiple calls to BLAS routine DSCAL()). | |
bool | ScalarMatrixMultiply (const std::complex< double > &scalar, dataview_interface< std::complex< double > > &mat) |
Multiply a complex matrix by a complex scalar (multiple calls to BLAS routine ZSCAL()). | |
bool | MatrixCopy (dataview_interface< double > &dest, const dataview_interface< double > &src) |
Copy one double matrix to another (multiple calls to BLAS routine DCOPY()). | |
bool | MatrixCopy (dataview_interface< std::complex< double > > &dest, const dataview_interface< std::complex< double > > &src) |
Copy one complex matrix to another (multiple calls to BLAS routine ZCOPY()). | |
bool | MatrixScaleAdd (dataview_interface< double > &dest, const dataview_interface< double > &src, const double &scalar) |
Add a scalar double multiple of one double matrix to another (multiple calls to BLAS routine DAXPY()). | |
bool | MatrixScaleAdd (dataview_interface< std::complex< double > > &dest, const dataview_interface< std::complex< double > > &src, const std::complex< double > &scalar) |
Add a scalar complex multiple of one complex matrix to another (multiple calls to BLAS routine ZAXPY()). | |
double | MatrixMatrixDot (const dataview_interface< double > &m1, const dataview_interface< double > &m2) |
Compute the dot product of two matrices of double (multiple calls to BLAS routine DDOT()). | |
std::complex< double > | MatrixMatrixDot (const dataview_interface< std::complex< double > > &m1, const dataview_interface< std::complex< double > > &m2) |
Compute the dot product of two matrices of complex (multiple calls to BLAS routine ZDOTC_SUB()). | |
std::complex< double > | MatrixMatrixConjugateDot (const dataview_interface< std::complex< double > > &m1, const dataview_interface< std::complex< double > > &m2) |
Compute the conjugate dot product of two matrices of complex (multiple calls to BLAS routine ZDOTC_SUB()). | |
double | MatrixNorm (const dataview_interface< double > &m) |
Compute the squared 2-norm of a matrix of double (multiple calls to BLAS routine DNRM2()). | |
double | MatrixNorm (const dataview_interface< std::complex< double > > &m) |
Compute the squared 2-norm of a matrix of complex (multiple calls to BLAS routine DZNRM2()). | |
bool | MatrixVectorMultiplyAdd (dataview_interface< double > &accumulator_v, const double &accumulator_scalar, const dataview_interface< double > &mat, const dataview_interface< double > &vec, const double &multiplication_scalar, bool VectorOnLeft) |
Multiply a double vector by a double matrix on either the left or the right, and add a double scalar multiple of the result to a double scalar multiple of another vector (BLAS routine DGEMV()). | |
bool | MatrixVectorMultiplyAdd (dataview_interface< std::complex< double > > &accumulator_v, const std::complex< double > &accumulator_scalar, const dataview_interface< std::complex< double > > &mat, const dataview_interface< std::complex< double > > &vec, const std::complex< double > &multiplication_scalar, bool VectorOnLeft) |
Multiply a complex vector by a complex matrix on either the left or the right, and add a complex scalar multiple of the result to a complex scalar multiple of another vector (BLAS routine ZGEMV()). | |
bool | VectorVectorMultiplyAdd (dataview_interface< double > &accumulator_m, const dataview_interface< double > &colvec, const dataview_interface< double > &rowvec, const double &scalar) |
Add a scalar double multiple of the outer product of two double vectors to another vector (BLAS routine DGER). | |
bool | VectorVectorMultiplyAdd (dataview_interface< std::complex< double > > &accumulator_m, const dataview_interface< std::complex< double > > &colvec, const dataview_interface< std::complex< double > > &rowvec, const std::complex< double > &scalar) |
Add a scalar complex multiple of the outer product of two complex vectors to another vector (BLAS routine ZGERU). | |
bool | VectorVectorConjugateMultiplyAdd (dataview_interface< std::complex< double > > &accumulator_m, const dataview_interface< std::complex< double > > &colvec, const dataview_interface< std::complex< double > > &rowvec, const std::complex< double > &scalar) |
Add a scalar complex multiple of the adjoint outer product of two complex vectors to another vector (BLAS routine ZGERC). | |
bool | MatrixMatrixMultiplyAdd (dataview_interface< double > &accumulator_m, const double &accumulator_scalar, const dataview_interface< double > &mat1, const dataview_interface< double > &mat2, const double &multiplication_scalar) |
Add a scalar double multiple of the product of two double matrices to another double matrix (BLAS routine DGEMM). | |
bool | MatrixMatrixMultiplyAdd (dataview_interface< std::complex< double > > &accumulator_m, const std::complex< double > &accumulator_scalar, const dataview_interface< std::complex< double > > &mat1, const dataview_interface< std::complex< double > > &mat2, const std::complex< double > &multiplication_scalar) |
Add a scalar complex multiple of the product of two complex matrices to another complex matrix (BLAS routine ZGEMM). |