MOOCHO (Single Doxygen Collection)
Version of the Day
|
#include "AbstractLinAlgPack_Types.hpp"
#include "AbstractLinAlgPack_MatrixOpNonsing.hpp"
#include "AbstractLinAlgPack_VectorMutable.hpp"
#include "AbstractLinAlgPack_VectorStdOps.hpp"
#include "AbstractLinAlgPack_AssertOp.hpp"
Go to the source code of this file.
Namespaces | |
LinAlgOpPack | |
Typedefs | |
typedef AbstractLinAlgPack::size_type | LinAlgOpPack::size_type |
typedef AbstractLinAlgPack::value_type | LinAlgOpPack::value_type |
Functions | |
void | LinAlgOpPack::assign (MatrixOp *M_lhs, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs) |
M_lhs = op(M_rhs). More... | |
void | LinAlgOpPack::M_StM (MatrixOp *M_lhs, value_type alpha, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs) |
gm_lhs = alpha * M_rhs. More... | |
void | LinAlgOpPack::M_mM (MatrixOp *M_lhs, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs) |
gm_lhs = - op(M_rhs). More... | |
void | LinAlgOpPack::M_MpM (MatrixOp *M_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2) |
void | LinAlgOpPack::M_MmM (MatrixOp *M_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2) |
M_lhs = op(M_rhs1) - op(M_rhs2). More... | |
void | LinAlgOpPack::M_StMpM (MatrixOp *M_lhs, value_type alpha, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &gms_rhs2, BLAS_Cpp::Transp trans_rhs2) |
M_lhs = alpha * op(M_rhs1) + op(gms_rhs2). More... | |
template<class V > | |
void | LinAlgOpPack::Vp_MtV (VectorMutable *v_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2, value_type beta) |
void | LinAlgOpPack::M_InvMtM (MatrixOp *M_lhs, const MatrixNonsing &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2) |
Level 1 BLAS for Vectors | |
For these functions to work for the type V the following function must be defined: // v_lhs += alpha * V_rhs
The rest of these level 1 BLAS functions implement the variations. | |
template<class V > | |
void | LinAlgOpPack::Vp_V (VectorMutable *v_lhs, const V &V_rhs) |
v_lhs += V_rhs. More... | |
template<class V > | |
void | LinAlgOpPack::assign (VectorMutable *v_lhs, const V &V_rhs) |
v_lhs = V_rhs. More... | |
template<class V > | |
void | LinAlgOpPack::V_StV (VectorMutable *v_lhs, value_type alpha, const V &V_rhs) |
v_lhs = alpha * V_rhs. More... | |
template<class V > | |
void | LinAlgOpPack::V_mV (VectorMutable *v_lhs, const V &V_rhs) |
v_lhs = - V_rhs. More... | |
template<class V1 , class V2 > | |
void | LinAlgOpPack::V_VpV (VectorMutable *v_lhs, const V1 &V1_rhs1, const V2 &V2_rhs2) |
template<class V1 , class V2 > | |
void | LinAlgOpPack::V_VmV (VectorMutable *v_lhs, const V1 &V1_rhs1, const V2 &V2_rhs2) |
v_lhs = V_rhs1 - V_rhs2. More... | |
template<class V > | |
void | LinAlgOpPack::V_StVpV (VectorMutable *v_lhs, value_type alpha, const V &V_rhs1, const Vector &vs_rhs2) |
v_lhs = alpha * V_rhs1 + vs_rhs2. More... | |
Level 1 BLAS for Matrices | |
For these functions to work for the type M the following function must be defined: // M_lhs += alpha * op(M_rhs) \ void Mp_StM(MatrixOp* v_lhs, value_type alpha, const V& V_rhs, BLAS_Cpp::Transp); The rest of these level 1 BLAS functions implement the variations. | |
void | LinAlgOpPack::Mp_M (MatrixOp *M_lhs, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs) |
M_lhs += op(M_rhs). More... | |
Level 2 BLAS | |
These operations implement variations on the Level-2 BLAS operation:\ v_lhs = alpha * op(M_rhs1) * V_rhs2 + beta * v_lhs | |
template<class V > | |
void | LinAlgOpPack::Vp_MtV (VectorMutable *v_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2) |
v_lhs += op(M_rhs1) * V_rhs2. More... | |
template<class V > | |
void | LinAlgOpPack::V_StMtV (VectorMutable *v_lhs, value_type alpha, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2) |
v_lhs = alpha * op(M_rhs1) * V_rhs2. More... | |
template<class V > | |
void | LinAlgOpPack::V_MtV (VectorMutable *v_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2) |
v_lhs = op(M_rhs1) * V_rhs2. More... | |
Level 3 BLAS | |
These operations are based on the Level-3 BLAS operation: M_lhs = alpha * op(M_rhs1) * op(M_rhs2) + beta * M_lhs | |
void | LinAlgOpPack::Mp_MtM (MatrixOp *M_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2) |
M_lhs += op(M_rhs1) * op(M_rhs2). More... | |
void | LinAlgOpPack::Mp_MtM (MatrixOp *M_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta) |
M_lhs = op(M_rhs1) * op(M_rhs2) + beta * gms_rhs. More... | |
void | LinAlgOpPack::M_StMtM (MatrixOp *M_lhs, value_type alpha, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2) |
M_lhs = alpha * op(M_rhs1) * op(M_rhs2). More... | |
void | LinAlgOpPack::M_MtM (MatrixOp *M_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2) |
M_lhs = op(M_rhs1) * op(M_rhs2). More... | |