AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
List of all members
AbstractLinAlgPack::MatrixNonsingSerial Class Referenceabstract

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]

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

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) More...
 
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) More...
 
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) More...
 
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) More...
 
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) More...
 
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) More...
 
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) More...
 
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) More...
 
void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const
 v_lhs = inv(op(M_rhs1)) * vs_rhs2 More...
 
void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2) const
 v_lhs = inv(op(M_rhs1)) * sv_rhs2 More...
 
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 More...
 
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). More...
 
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). More...
 

Additional Inherited Members

- Public Member Functions inherited from AbstractLinAlgPack::MatrixNonsing
virtual mat_mns_mut_ptr_t clone_mns ()
 Clone the non-const matrix object (if supported). More...
 
virtual mat_mns_ptr_t clone_mns () const
 Clone the const matrix object (if supported). More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixBase
virtual ~MatrixBase ()
 Virtual destructor. More...
 
virtual const VectorSpacespace_cols () const =0
 Vector space for vectors that are compatible with the columns of the matrix. More...
 
virtual const VectorSpacespace_rows () const =0
 Vector space for vectors that are compatible with the rows of the matrix. More...
 
virtual size_type rows () const
 Return the number of rows in the matrix. More...
 
virtual size_type cols () const
 Return the number of columns in the matrix. More...
 
virtual size_type nz () const
 Return the number of nonzero elements in the matrix. More...
 

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 59 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 70 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 80 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 92 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 103 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

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 114 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 127 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 141 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 162 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 171 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 180 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 194 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 208 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 217 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 228 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.

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

v_lhs = inv(op(M_rhs1)) * sv_rhs2

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 237 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 244 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 253 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 269 of file AbstractLinAlgPack_MatrixNonsingSerial.cpp.


The documentation for this class was generated from the following files: