LinAlgOpPack Namespace Reference


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.
template<class V>
void assign (VectorMutable *v_lhs, const V &V_rhs)
 v_lhs = V_rhs.
template<class V>
void V_StV (VectorMutable *v_lhs, value_type alpha, const V &V_rhs)
 v_lhs = alpha * V_rhs.
template<class V>
void V_mV (VectorMutable *v_lhs, const V &V_rhs)
 v_lhs = - V_rhs.
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.
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.

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

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

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

[NOHEADER]

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

[NOHEADER]

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)
 

[NOHEADER]

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)
 

[NOHEADER]

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

[NOHEADER]

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)
 

[NOHEADER]

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)
 

[NOHEADER]

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)
 

[NOHEADER]

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)
 

[NOHEADER]

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)
 

[NOHEADER]

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)
 

[NOHEADER]

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)
 

[NOHEADER]

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)
 

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).
void M_StM (MatrixOp *M_lhs, value_type alpha, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs)
 gm_lhs = alpha * M_rhs.
void M_mM (MatrixOp *M_lhs, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs)
 gm_lhs = - op(M_rhs).
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).
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).
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 Mp_StM (DMatrixSlice *vs_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1)
 m_lhs += alpha * op(mwo_rhs1).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.


Typedef Documentation

typedef AbstractLinAlgPack::size_type LinAlgOpPack::size_type
 

Definition at line 41 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

typedef DenseLinAlgPack::value_type LinAlgOpPack::value_type
 

Definition at line 43 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 361 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 478 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 487 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 381 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 389 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 90 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 99 of file AbstractLinAlgPack_AbstractLinAlgOpPack.cpp.

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
[inline]
 

Definition at line 370 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

void 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 397 of file AbstractLinAlgPack_LinAlgOpPack.hpp.

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 42 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 69 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 129 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 85 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 138 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 99 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 115 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 130 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 143 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 158 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 185 of file AbstractLinAlgPack_LinAlgOpPackHack.cpp.

template<class V>
void LinAlgOpPack::Vp_V DVectorSlice vs_lhs,
const V &  V_rhs
[inline]
 

Definition at line 567 of file DenseLinAlgPack_LinAlgOpPackDecl.hpp.

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

Definition at line 76 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 84 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

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

Definition at line 574 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 92 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 104 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 116 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

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

Definition at line 129 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 137 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.

template<class V>
void LinAlgOpPack::V_mV DVectorSlice vs_lhs,
const V &  V_rhs
[inline]
 

Definition at line 581 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 145 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 155 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 165 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 591 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 186 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 195 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 598 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 204 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 219 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 234 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 248 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 257 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 605 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 266 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 280 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 294 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 615 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 624 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 315 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 325 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 338 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 348 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 636 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 645 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 368 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 380 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 395 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 408 of file DenseLinAlgPack_LinAlgOpPackDef.hpp.


Generated on Thu Sep 18 12:36:18 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1