MOOCHO (Single Doxygen Collection) Version of the Day
AbstractLinAlgPack::MatrixNonsingSerial Class Reference

Abstract base class for all AbstractLinAlgPack::MatrixNonsing objects implemented in shared memory space. More...

#include <AbstractLinAlgPack_MatrixNonsingSerial.hpp>

Inheritance diagram for AbstractLinAlgPack::MatrixNonsingSerial:
Inheritance graph
[legend]

List of all members.

Level-2 BLAS

virtual void V_InvMtV (DVector *v_lhs, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2) const
 v_lhs = inv(op(M_rhs1)) * vs_rhs2
virtual void V_InvMtV (DVectorSlice *vs_lhs, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2) const =0
 vs_lhs = inv(op(M_rhs1)) * vs_rhs2
virtual void V_InvMtV (DVector *v_lhs, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2) const
 v_lhs = inv(op(M_rhs1)) * sv_rhs2
virtual void V_InvMtV (DVectorSlice *vs_lhs, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2) const
 vs_lhs = inv(op(M_rhs1)) * sv_rhs2
virtual value_type transVtInvMtV (const DVectorSlice &vs_rhs1, BLAS_Cpp::Transp trans_rhs2, const DVectorSlice &vs_rhs3) const
 result = vs_rhs1' * inv(op(M_rhs2)) * vs_rhs3
virtual value_type transVtInvMtV (const SpVectorSlice &sv_rhs1, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3) const
 result = sv_rhs1' * inv(op(M_rhs2)) * sv_rhs3

Level-3 BLAS

virtual void M_StInvMtM (DMatrix *gm_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DMatrixSlice &gms_rhs2, BLAS_Cpp::Transp trans_rhs2) const
 gm_lhs = alpha * inv(op(M_rhs1)) * op(gms_rhs2) (right)
virtual void M_StInvMtM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DMatrixSlice &gms_rhs2, BLAS_Cpp::Transp trans_rhs2) const
 gms_lhs = alpha * inv(op(M_rhs1)) * op(gms_rhs2) (right)
virtual void M_StMtInvM (DMatrix *gm_lhs, value_type alpha, const DMatrixSlice &gms_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2) const
 gm_lhs = alpha * op(gms_rhs1) * inv(op(M_rhs2)) (left)
virtual void M_StMtInvM (DMatrixSlice *gms_lhs, value_type alpha, const DMatrixSlice &gms_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2) const
 gms_lhs = alpha * op(gms_rhs1) * inv(op(M_rhs2)) (left)
virtual void M_StInvMtM (DMatrix *gm_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOpSerial &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2) const
 gm_lhs = alpha * inv(op(M_rhs1)) * op(mwo_rhs2) (right)
virtual void M_StInvMtM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOpSerial &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2) const
 gms_lhs = alpha * inv(op(M_rhs1)) * op(mwo_rhs2) (right)
virtual void M_StMtInvM (DMatrix *gm_lhs, value_type alpha, const MatrixOpSerial &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2) const
 gm_lhs = alpha * op(mwo_rhs1) * inv(op(M_rhs2)) (left)
virtual void M_StMtInvM (DMatrixSlice *gms_lhs, value_type alpha, const MatrixOpSerial &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2) const
 gms_lhs = alpha * op(mwo_rhs1) * inv(op(M_rhs2)) (left)
void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const
 v_lhs = inv(op(M_rhs1)) * vs_rhs2
void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2) const
 v_lhs = inv(op(M_rhs1)) * sv_rhs2
value_type transVtInvMtV (const Vector &v_rhs1, BLAS_Cpp::Transp trans_rhs2, const Vector &v_rhs3) const
 result = vs_rhs1' * inv(op(M_rhs2)) * vs_rhs3
void M_StInvMtM (MatrixOp *m_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2) const
 m_lhs = alpha * inv(op(M_rhs1)) * op(mwo_rhs2) (right).
void M_StMtInvM (MatrixOp *m_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2) const
 m_lhs = alpha * op(mwo_rhs1) * inv(op(M_rhs2)) (left).

Detailed Description

Abstract base class for all AbstractLinAlgPack::MatrixNonsing objects implemented in shared memory space.

This base class does a mapping from fully abstract linear algebra to shared memory linear algebra.

These methods should not be called directly but instead should be called through the line non-member functions that are provided.

Definition at line 46 of file AbstractLinAlgPack_MatrixNonsingSerial.hpp.


Member Function Documentation

void AbstractLinAlgPack::MatrixNonsingSerial::V_InvMtV ( DVector v_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice vs_rhs2 
) const [virtual]

v_lhs = inv(op(M_rhs1)) * vs_rhs2

Definition at line 57 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

virtual void AbstractLinAlgPack::MatrixNonsingSerial::V_InvMtV ( DVectorSlice vs_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice vs_rhs2 
) const [pure virtual]

vs_lhs = inv(op(M_rhs1)) * vs_rhs2

void AbstractLinAlgPack::MatrixNonsingSerial::V_InvMtV ( DVector v_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice sv_rhs2 
) const [virtual]

v_lhs = inv(op(M_rhs1)) * sv_rhs2

Definition at line 67 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::V_InvMtV ( DVectorSlice vs_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice sv_rhs2 
) const [virtual]

vs_lhs = inv(op(M_rhs1)) * sv_rhs2

Definition at line 79 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

value_type AbstractLinAlgPack::MatrixNonsingSerial::transVtInvMtV ( const DVectorSlice vs_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const DVectorSlice vs_rhs3 
) const [virtual]

result = vs_rhs1' * inv(op(M_rhs2)) * vs_rhs3

Definition at line 90 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

value_type AbstractLinAlgPack::MatrixNonsingSerial::transVtInvMtV ( const SpVectorSlice sv_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const SpVectorSlice sv_rhs3 
) const [virtual]

result = sv_rhs1' * inv(op(M_rhs2)) * sv_rhs3

Definition at line 101 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StInvMtM ( DMatrix gm_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const DMatrixSlice gms_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

gm_lhs = alpha * inv(op(M_rhs1)) * op(gms_rhs2) (right)

Definition at line 114 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StInvMtM ( DMatrixSlice gms_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const DMatrixSlice gms_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

gms_lhs = alpha * inv(op(M_rhs1)) * op(gms_rhs2) (right)

Definition at line 128 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StMtInvM ( DMatrix gm_lhs,
value_type  alpha,
const DMatrixSlice gms_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

gm_lhs = alpha * op(gms_rhs1) * inv(op(M_rhs2)) (left)

Definition at line 149 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StMtInvM ( DMatrixSlice gms_lhs,
value_type  alpha,
const DMatrixSlice gms_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

gms_lhs = alpha * op(gms_rhs1) * inv(op(M_rhs2)) (left)

Definition at line 158 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StInvMtM ( DMatrix gm_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOpSerial mwo_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

gm_lhs = alpha * inv(op(M_rhs1)) * op(mwo_rhs2) (right)

Definition at line 167 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StInvMtM ( DMatrixSlice gms_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOpSerial mwo_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

gms_lhs = alpha * inv(op(M_rhs1)) * op(mwo_rhs2) (right)

Definition at line 181 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StMtInvM ( DMatrix gm_lhs,
value_type  alpha,
const MatrixOpSerial mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

gm_lhs = alpha * op(mwo_rhs1) * inv(op(M_rhs2)) (left)

Definition at line 195 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StMtInvM ( DMatrixSlice gms_lhs,
value_type  alpha,
const MatrixOpSerial mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

gms_lhs = alpha * op(mwo_rhs1) * inv(op(M_rhs2)) (left)

Definition at line 204 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::V_InvMtV ( VectorMutable v_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const Vector v_rhs2 
) const [virtual]

v_lhs = inv(op(M_rhs1)) * vs_rhs2

Overridden from MatrixNonsing

Implements AbstractLinAlgPack::MatrixNonsing.

Definition at line 215 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::V_InvMtV ( VectorMutable v_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice sv_rhs2 
) const

v_lhs = inv(op(M_rhs1)) * sv_rhs2

Definition at line 224 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

value_type AbstractLinAlgPack::MatrixNonsingSerial::transVtInvMtV ( const Vector v_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const Vector v_rhs3 
) const [virtual]

result = vs_rhs1' * inv(op(M_rhs2)) * vs_rhs3

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 231 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StInvMtM ( MatrixOp m_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOp mwo_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

m_lhs = alpha * inv(op(M_rhs1)) * op(mwo_rhs2) (right).

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 240 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixNonsingSerial::M_StMtInvM ( MatrixOp m_lhs,
value_type  alpha,
const MatrixOp mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
BLAS_Cpp::Transp  trans_rhs2 
) const [virtual]

m_lhs = alpha * op(mwo_rhs1) * inv(op(M_rhs2)) (left).

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 256 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines