MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Typedefs | Functions
LinAlgOpPack Namespace Reference

Typedefs

typedef
AbstractLinAlgPack::size_type 
size_type
 
typedef
AbstractLinAlgPack::value_type 
value_type
 

Functions

void assign (MatrixOp *M_lhs, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs)
 M_lhs = op(M_rhs). More...
 
void M_StM (MatrixOp *M_lhs, value_type alpha, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs)
 gm_lhs = alpha * M_rhs. More...
 
void M_mM (MatrixOp *M_lhs, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs)
 gm_lhs = - op(M_rhs). More...
 
void M_MpM (MatrixOp *M_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
void 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 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 Vp_MtV (VectorMutable *v_lhs, const MatrixOp &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2, value_type beta)
 
void M_InvMtM (MatrixOp *M_lhs, const MatrixNonsing &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &M_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
void assign (DMatrixSlice *gms_lhs, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs)
 gms_lhs = op(M_rhs). More...
 
void Mp_StM (DMatrixSlice *vs_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1)
 m_lhs += alpha * op(mwo_rhs1). More...
 
void Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta=1.0)
 vs_lhs = alpha * op(mwo_rhs1) * vs_rhs2 + beta * vs_lhs. More...
 
void Vp_MtV (DVectorSlice *vs_lhs, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta=1.0)
 vs_lhs = op(mwo_rhs1) * vs_rhs2 + beta * vs_lhs. More...
 
void Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta=1.0)
 vs_lhs = alpha * op(mwo_rhs1) * vs_rhs2 + beta * sv_lhs. More...
 
void V_MtV (DVectorSlice *vs_lhs, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2)
 vs_lhs = op(mwo_rhs1) * vs_rhs2. More...
 
void V_InvMtV (DVectorSlice *vs_lhs, const MatrixOpNonsing &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2)
 vs_lhs = inv(op(mwo_rhs1)) * vs_rhs2. More...
 
void V_InvMtV (DVector *v_lhs, const MatrixOpNonsing &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2)
 v_lhs = inv(op(mwo_rhs1)) * vs_rhs2. More...
 
void V_InvMtV (DVectorSlice *vs_lhs, const MatrixOpNonsing &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2)
 vs_lhs = inv(op(mwo_rhs1)) * sv_rhs2. More...
 
void V_InvMtV (DVector *v_lhs, const MatrixOpNonsing &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2)
 v_lhs = inv(op(mwo_rhs1)) * sv_rhs2. More...
 
void Vp_StPtMtV (DVectorSlice *vs_lhs, value_type alpha, const GenPermMatrixSlice &gpms_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2, const DVectorSlice &vs_rhs3, value_type beta=1.0)
 vs_lhs = alpha * op(gpms_rhs1) * op(mwo_rhs2) * vs_rhs3 + beta * vs_lhs. More...
 
void Vp_StPtMtV (DVectorSlice *vs_lhs, value_type alpha, const GenPermMatrixSlice &gpms_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3, value_type beta=1.0)
 vs_lhs = alpha * op(gpms_rhs1) * op(mwo_rhs2) * sv_rhs3 + beta * vs_lhs. More...
 

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
void Vp_StV(VectorMutable* v_lhs, value_type alpha, const V& V_rhs);

The rest of these level 1 BLAS functions implement the variations.

template<class V >
void Vp_V (VectorMutable *v_lhs, const V &V_rhs)
 v_lhs += V_rhs. More...
 
template<class V >
void assign (VectorMutable *v_lhs, const V &V_rhs)
 v_lhs = V_rhs. More...
 
template<class V >
void V_StV (VectorMutable *v_lhs, value_type alpha, const V &V_rhs)
 v_lhs = alpha * V_rhs. More...
 
template<class V >
void V_mV (VectorMutable *v_lhs, const V &V_rhs)
 v_lhs = - V_rhs. More...
 
template<class V1 , class V2 >
void V_VpV (VectorMutable *v_lhs, const V1 &V1_rhs1, const V2 &V2_rhs2)
 
template<class V1 , class V2 >
void V_VmV (VectorMutable *v_lhs, const V1 &V1_rhs1, const V2 &V2_rhs2)
 v_lhs = V_rhs1 - V_rhs2. More...
 
template<class V >
void 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 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 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 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 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 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 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 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 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...
 
template<class V >
void Vp_V (DVectorSlice *vs_lhs, const V &V_rhs)
 
template<class V >
void assign (DVector *v_lhs, const V &V_rhs)
 
template<class V >
void V_StV (DVector *v_lhs, value_type alpha, const V &V_rhs)
 
template<class V >
void V_mV (DVector *v_lhs, const V &V_rhs)
 
template<class V1 , class V2 >
void V_VpV (DVector *v_lhs, const V1 &V1_rhs1, const V2 &V2_rhs2)
 
template<class V1 , class V2 >
void V_VmV (DVector *v_lhs, const V1 &V1_rhs1, const V2 &V2_rhs2)
 
template<class V >
void V_StVpV (DVector *v_lhs, value_type alpha, const V &V_rhs1, const DVectorSlice &vs_rhs2)
 
template<class V >
void assign (DVectorSlice *vs_lhs, const V &V_rhs)
 
template<class V >
void V_StV (DVectorSlice *vs_lhs, value_type alpha, const V &V_rhs)
 
template<class V >
void V_mV (DVectorSlice *vs_lhs, const V &V_rhs)
 
template<class V1 , class V2 >
void V_VpV (DVectorSlice *vs_lhs, const V1 &V1_rhs1, const V2 &V2_rhs2)
 
template<class V1 , class V2 >
void V_VmV (DVectorSlice *vs_lhs, const V1 &V1_rhs1, const V2 &V2_rhs2)
 
template<class V >
void V_StVpV (DVectorSlice *vs_lhs, value_type alpha, const V &V_rhs1, const DVectorSlice &vs_rhs2)
 
template<class M >
void Mp_M (DMatrixSlice *gms_lhs, const M &M_rhs, BLAS_Cpp::Transp trans_rhs)
 
template<class M >
void assign (DMatrix *gm_lhs, const M &M_rhs, BLAS_Cpp::Transp trans_rhs)
 
template<class M >
void M_StM (DMatrix *v_lhs, value_type alpha, const M &M_rhs, BLAS_Cpp::Transp trans_rhs)
 
template<class M >
void M_mM (DMatrix *gm_lhs, const M &M_rhs, BLAS_Cpp::Transp trans_rhs)
 
template<class M1 , class M2 >
void M_MpM (DMatrix *gm_lhs, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M1 , class M2 >
void M_MmM (DMatrix *gm_lhs, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M >
void M_StMpM (DMatrix *gm_lhs, value_type alpha, const M &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const DMatrixSlice &gms_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M >
void assign (DMatrixSlice *gms_lhs, const M &M_rhs, BLAS_Cpp::Transp trans_rhs)
 
template<class M >
void M_StM (DMatrixSlice *gms_lhs, value_type alpha, const M &M_rhs, BLAS_Cpp::Transp trans_rhs)
 
template<class M >
void M_mM (DMatrixSlice *gms_lhs, const M &M_rhs, BLAS_Cpp::Transp trans_rhs)
 
template<class M1 , class M2 >
void M_MpM (DMatrixSlice *gms_lhs, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M1 , class M2 >
void M_MmM (DMatrixSlice *gms_lhs, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M >
void M_StMpM (DMatrixSlice *gms_lhs, value_type alpha, const M &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const DMatrixSlice &gms_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M , class V >
void Vp_MtV (DVectorSlice *vs_lhs, const M &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2)
 
template<class M , class V >
void Vp_MtV (DVectorSlice *vs_lhs, const M &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2, value_type beta)
 
template<class M , class V >
void V_StMtV (DVector *v_lhs, value_type alpha, const M &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2)
 
template<class M , class V >
void V_MtV (DVector *v_lhs, const M &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2)
 
template<class M , class V >
void V_StMtV (DVectorSlice *vs_lhs, value_type alpha, const M &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2)
 
template<class M , class V >
void V_MtV (DVectorSlice *vs_lhs, const M &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const V &V_rhs2)
 
template<class M1 , class M2 >
void Mp_MtM (DMatrixSlice *gms_lhs, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M1 , class M2 >
void Mp_MtM (DMatrixSlice *gms_lhs, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta)
 
template<class M1 , class M2 >
void M_StMtM (DMatrix *gm_lhs, value_type alpha, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M1 , class M2 >
void M_MtM (DMatrix *gm_lhs, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M1 , class M2 >
void M_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 
template<class M1 , class M2 >
void M_MtM (DMatrixSlice *gms_lhs, const M1 &M1_rhs1, BLAS_Cpp::Transp trans_rhs1, const M2 &M2_rhs2, BLAS_Cpp::Transp trans_rhs2)
 

Typedef Documentation

Definition at line 54 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

Definition at line 56 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

Function Documentation

template<class V >
void LinAlgOpPack::Vp_MtV ( VectorMutable *  v_lhs,
const MatrixOp &  M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const V &  V_rhs2 
)
inline

v_lhs += op(M_rhs1) * V_rhs2.

Calls: Vp_StMtV(v_lhs,1.0,M_rhs1,trans_rhs1,V_rhs2);

Definition at line 374 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

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.

Calls: Vp_StMtV(v_lhs,alpha,M_rhs1,trans_rhs1,V_rhs2);

Definition at line 491 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

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.

Calls: Vp_MtV(v_lhs,M_rhs1,trans_rhs1,V_rhs2);

Definition at line 500 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

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 
)
inline

M_lhs += op(M_rhs1) * op(M_rhs2).

Calls: Mp_StMtM(M_lhs,1.0,M_rhs1,trans_rhs1,M_rhs2,trans_rhs2);

Definition at line 394 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

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 
)
inline

M_lhs = op(M_rhs1) * op(M_rhs2) + beta * gms_rhs.

Calls: Mp_StMtM(M_lhs,1.0,M_rhs1,trans_rhs1,M_rhs2,trans_rhs2,beta);

Definition at line 402 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

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).

Calls: Mp_StMtM(M_lhs,alpha,M_rhs1,trans_rhs1,M_rhs2,trans_rhs2);

Definition at line 103 of file AbstractLinAlgPack_AbstractLinAlgOpPack.cpp.

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).

Calls: Mp_MtM(M_lhs,M_rhs1,trans_rhs1,M_rhs2,trans_rhs2);

Definition at line 112 of file AbstractLinAlgPack_AbstractLinAlgOpPack.cpp.

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 
)
inline

Definition at line 383 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

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 
)
inline

Definition at line 410 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

void LinAlgOpPack::assign ( DMatrixSlice *  gms_lhs,
const MatrixOp &  M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)

gms_lhs = op(M_rhs).

Definition at line 56 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::Mp_StM ( DMatrixSlice *  vs_lhs,
value_type  alpha,
const MatrixOp &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1 
)

m_lhs += alpha * op(mwo_rhs1).

Definition at line 69 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::Vp_StMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const MatrixOp &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice &  vs_rhs2,
value_type  beta = 1.0 
)

vs_lhs = alpha * op(mwo_rhs1) * vs_rhs2 + beta * vs_lhs.

Definition at line 96 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::Vp_MtV ( DVectorSlice *  vs_lhs,
const MatrixOp &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice &  vs_rhs2,
value_type  beta = 1.0 
)
inline

vs_lhs = op(mwo_rhs1) * vs_rhs2 + beta * vs_lhs.

Definition at line 145 of file AbstractLinAlgPack_LinAlgOpPackHack.hpp.

void LinAlgOpPack::Vp_StMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const MatrixOp &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice &  sv_rhs2,
value_type  beta = 1.0 
)

vs_lhs = alpha * op(mwo_rhs1) * vs_rhs2 + beta * sv_lhs.

Definition at line 112 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::V_MtV ( DVectorSlice *  vs_lhs,
const MatrixOp &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice &  sv_rhs2 
)
inline

vs_lhs = op(mwo_rhs1) * vs_rhs2.

Definition at line 154 of file AbstractLinAlgPack_LinAlgOpPackHack.hpp.

void LinAlgOpPack::V_InvMtV ( DVectorSlice *  vs_lhs,
const MatrixOpNonsing &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice &  vs_rhs2 
)

vs_lhs = inv(op(mwo_rhs1)) * vs_rhs2.

Definition at line 126 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::V_InvMtV ( DVector v_lhs,
const MatrixOpNonsing &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice &  vs_rhs2 
)

v_lhs = inv(op(mwo_rhs1)) * vs_rhs2.

Definition at line 142 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::V_InvMtV ( DVectorSlice *  vs_lhs,
const MatrixOpNonsing &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice &  sv_rhs2 
)

vs_lhs = inv(op(mwo_rhs1)) * sv_rhs2.

Definition at line 157 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::V_InvMtV ( DVector v_lhs,
const MatrixOpNonsing &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice &  sv_rhs2 
)

v_lhs = inv(op(mwo_rhs1)) * sv_rhs2.

Definition at line 170 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::Vp_StPtMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const GenPermMatrixSlice &  gpms_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOp &  mwo_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
const DVectorSlice &  vs_rhs3,
value_type  beta = 1.0 
)

vs_lhs = alpha * op(gpms_rhs1) * op(mwo_rhs2) * vs_rhs3 + beta * vs_lhs.

Definition at line 185 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

void LinAlgOpPack::Vp_StPtMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const GenPermMatrixSlice &  gpms_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOp &  mwo_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
const SpVectorSlice &  sv_rhs3,
value_type  beta = 1.0 
)

vs_lhs = alpha * op(gpms_rhs1) * op(mwo_rhs2) * sv_rhs3 + beta * vs_lhs.

Definition at line 212 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

template<class V >
void LinAlgOpPack::Vp_V ( DVectorSlice *  vs_lhs,
const V &  V_rhs 
)
inline

Definition at line 580 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class V >
void LinAlgOpPack::assign ( DVector v_lhs,
const V &  V_rhs 
)

Definition at line 89 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V >
void LinAlgOpPack::V_StV ( DVector v_lhs,
value_type  alpha,
const V &  V_rhs 
)

Definition at line 97 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V >
void LinAlgOpPack::V_mV ( DVector v_lhs,
const V &  V_rhs 
)
inline

Definition at line 587 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class V1 , class V2 >
void LinAlgOpPack::V_VpV ( DVector v_lhs,
const V1 &  V1_rhs1,
const V2 &  V2_rhs2 
)

Definition at line 105 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V1 , class V2 >
void LinAlgOpPack::V_VmV ( DVector v_lhs,
const V1 &  V1_rhs1,
const V2 &  V2_rhs2 
)

Definition at line 117 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V >
void LinAlgOpPack::V_StVpV ( DVector v_lhs,
value_type  alpha,
const V &  V_rhs1,
const DVectorSlice &  vs_rhs2 
)

Definition at line 129 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V >
void LinAlgOpPack::assign ( DVectorSlice *  vs_lhs,
const V &  V_rhs 
)

Definition at line 142 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V >
void LinAlgOpPack::V_StV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const V &  V_rhs 
)

Definition at line 150 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V >
void LinAlgOpPack::V_mV ( DVectorSlice *  vs_lhs,
const V &  V_rhs 
)
inline

Definition at line 594 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class V1 , class V2 >
void LinAlgOpPack::V_VpV ( DVectorSlice *  vs_lhs,
const V1 &  V1_rhs1,
const V2 &  V2_rhs2 
)

Definition at line 158 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V1 , class V2 >
void LinAlgOpPack::V_VmV ( DVectorSlice *  vs_lhs,
const V1 &  V1_rhs1,
const V2 &  V2_rhs2 
)

Definition at line 168 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V >
void LinAlgOpPack::V_StVpV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const V &  V_rhs1,
const DVectorSlice &  vs_rhs2 
)

Definition at line 178 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M >
void LinAlgOpPack::Mp_M ( DMatrixSlice *  gms_lhs,
const M M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)
inline

Definition at line 604 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class M >
void LinAlgOpPack::assign ( DMatrix gm_lhs,
const M M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)

Definition at line 199 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M >
void LinAlgOpPack::M_StM ( DMatrix v_lhs,
value_type  alpha,
const M M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)

Definition at line 208 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M >
void LinAlgOpPack::M_mM ( DMatrix gm_lhs,
const M M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)
inline

Definition at line 611 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::M_MpM ( DMatrix gm_lhs,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 217 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::M_MmM ( DMatrix gm_lhs,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 232 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M >
void LinAlgOpPack::M_StMpM ( DMatrix gm_lhs,
value_type  alpha,
const M M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DMatrixSlice &  gms_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 247 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M >
void LinAlgOpPack::assign ( DMatrixSlice *  gms_lhs,
const M M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)

Definition at line 261 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M >
void LinAlgOpPack::M_StM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const M M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)

Definition at line 270 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M >
void LinAlgOpPack::M_mM ( DMatrixSlice *  gms_lhs,
const M M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)
inline

Definition at line 618 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::M_MpM ( DMatrixSlice *  gms_lhs,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 279 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::M_MmM ( DMatrixSlice *  gms_lhs,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 293 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M >
void LinAlgOpPack::M_StMpM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const M M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DMatrixSlice &  gms_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 307 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M , class V >
void LinAlgOpPack::Vp_MtV ( DVectorSlice *  vs_lhs,
const M M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const V &  V_rhs2 
)
inline

Definition at line 628 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class M , class V >
void LinAlgOpPack::Vp_MtV ( DVectorSlice *  vs_lhs,
const M M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const V &  V_rhs2,
value_type  beta 
)
inline

Definition at line 637 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class M , class V >
void LinAlgOpPack::V_StMtV ( DVector v_lhs,
value_type  alpha,
const M M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const V &  V_rhs2 
)

Definition at line 328 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M , class V >
void LinAlgOpPack::V_MtV ( DVector v_lhs,
const M M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const V &  V_rhs2 
)

Definition at line 338 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M , class V >
void LinAlgOpPack::V_StMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const M M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const V &  V_rhs2 
)

Definition at line 351 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M , class V >
void LinAlgOpPack::V_MtV ( DVectorSlice *  vs_lhs,
const M M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const V &  V_rhs2 
)

Definition at line 361 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::Mp_MtM ( DMatrixSlice *  gms_lhs,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)
inline

Definition at line 649 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::Mp_MtM ( DMatrixSlice *  gms_lhs,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta 
)
inline

Definition at line 658 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::M_StMtM ( DMatrix gm_lhs,
value_type  alpha,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 381 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::M_MtM ( DMatrix gm_lhs,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 393 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::M_StMtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 408 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class M1 , class M2 >
void LinAlgOpPack::M_MtM ( DMatrixSlice *  gms_lhs,
const M1 &  M1_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const M2 &  M2_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
)

Definition at line 421 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.