AbstractLinAlgPack::MatrixSymOpSerial Class Reference

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

#include <AbstractLinAlgPack_MatrixSymOpSerial.hpp>

Inheritance diagram for AbstractLinAlgPack::MatrixSymOpSerial:

[legend]
List of all members.

Overridden from MatrixSymOp

const VectorSpacespace_rows () const
 Must be overridden to call MatrixOpSerial::space_rows().
void Mp_StPtMtP (MatrixSymOp *symwo_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const GenPermMatrixSlice &gpms_rhs, BLAS_Cpp::Transp gpms_rhs_trans, value_type beta) const
 symwo_lhs = alpha * op(gpms_rhs') * M * op(gpms_rhs) + beta * sym_lhs.
void Mp_StMtMtM (MatrixSymOp *symwo_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const MatrixOp &mwo_rhs, BLAS_Cpp::Transp mwo_rhs_trans, value_type beta) const
 symwo_lhs = alpha * op(mwo_rhs') * M * op(mwo_rhs).

Public Member Functions

virtual void Mp_StPtMtP (DMatrixSliceSym *sym_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const GenPermMatrixSlice &gpms_rhs, BLAS_Cpp::Transp gpms_rhs_trans, value_type beta) const
 sym_lhs = alpha * op(gpms_rhs') * M * op(gpms_rhs) + beta * sym_lhs.
virtual void Mp_StMtMtM (DMatrixSliceSym *sym_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const MatrixOpSerial &mwo_rhs, BLAS_Cpp::Transp mwo_rhs_trans, value_type beta) const
 sym_lhs = alpha * op(mwo_rhs') * M * op(mwo_rhs).
virtual void Mp_StPtMtP (MatrixSymOp *sym_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const GenPermMatrixSlice &gpms_rhs, BLAS_Cpp::Transp gpms_rhs_trans, value_type beta) const
 
virtual bool Mp_StPtMtP (MatrixOp *mwo_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs2, BLAS_Cpp::Transp P_rhs2_trans) const
 
virtual bool Mp_StPtMtP (value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, const MatrixOp &mwo_rhs, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs2, BLAS_Cpp::Transp P_rhs2_trans)
 

Friends

void Mp_StPtMtP (MatrixSymOp *sym_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const MatrixSymOp &M, const GenPermMatrixSlice &gpms_rhs, BLAS_Cpp::Transp gpms_rhs_trans, value_type beta)
 
void Mp_StPtMtP (MatrixOp *mwo_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs, const GenPermMatrixSlice &P_rhs2, BLAS_Cpp::Transp P_rhs2_trans)
 

Detailed Description

Abstract base class for all AbstractLinAlgPack::MatrixSymOp 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_MatrixSymOpSerial.hpp.


Member Function Documentation

void AbstractLinAlgPack::MatrixSymOpSerial::Mp_StPtMtP DMatrixSliceSym sym_lhs,
value_type  alpha,
EMatRhsPlaceHolder  dummy_place_holder,
const GenPermMatrixSlice gpms_rhs,
BLAS_Cpp::Transp  gpms_rhs_trans,
value_type  beta
const [virtual]
 

sym_lhs = alpha * op(gpms_rhs') * M * op(gpms_rhs) + beta * sym_lhs.

The default operation is based on this->Vp_StMtV(...) and assumes that the matrix is symmetric. Of course, a more efficient implementation is often needed and the sublcass would like to override this.

Definition at line 43 of file AbstractLinAlgPack_MatrixSymOpSerial.cpp.

void AbstractLinAlgPack::MatrixSymOpSerial::Mp_StMtMtM DMatrixSliceSym sym_lhs,
value_type  alpha,
EMatRhsPlaceHolder  dummy_place_holder,
const MatrixOpSerial mwo_rhs,
BLAS_Cpp::Transp  mwo_rhs_trans,
value_type  beta
const [virtual]
 

sym_lhs = alpha * op(mwo_rhs') * M * op(mwo_rhs).

The default operation is based on this->Vp_StMtV(...) and assumes that the matrix is symmetric. Of course, a more efficient implementation is often needed and the sublcass would like to override this.

Reimplemented in AbstractLinAlgPack::MatrixSymDiagSparse.

Definition at line 113 of file AbstractLinAlgPack_MatrixSymOpSerial.cpp.

const VectorSpace & AbstractLinAlgPack::MatrixSymOpSerial::space_rows  )  const [virtual]
 

Must be overridden to call MatrixOpSerial::space_rows().

Reimplemented from AbstractLinAlgPack::MatrixSymOp.

Definition at line 126 of file AbstractLinAlgPack_MatrixSymOpSerial.cpp.

void AbstractLinAlgPack::MatrixSymOpSerial::Mp_StPtMtP MatrixSymOp symwo_lhs,
value_type  alpha,
EMatRhsPlaceHolder  dummy_place_holder,
const GenPermMatrixSlice gpms_rhs,
BLAS_Cpp::Transp  gpms_rhs_trans,
value_type  beta
const [virtual]
 

symwo_lhs = alpha * op(gpms_rhs') * M * op(gpms_rhs) + beta * sym_lhs.

Reimplemented from AbstractLinAlgPack::MatrixSymOp.

Definition at line 131 of file AbstractLinAlgPack_MatrixSymOpSerial.cpp.

void AbstractLinAlgPack::MatrixSymOpSerial::Mp_StMtMtM MatrixSymOp symwo_lhs,
value_type  alpha,
EMatRhsPlaceHolder  dummy_place_holder,
const MatrixOp mwo_rhs,
BLAS_Cpp::Transp  mwo_rhs_trans,
value_type  beta
const [virtual]
 

symwo_lhs = alpha * op(mwo_rhs') * M * op(mwo_rhs).

Reimplemented from AbstractLinAlgPack::MatrixSymOp.

Definition at line 144 of file AbstractLinAlgPack_MatrixSymOpSerial.cpp.

virtual void AbstractLinAlgPack::MatrixSymOp::Mp_StPtMtP MatrixSymOp sym_lhs,
value_type  alpha,
EMatRhsPlaceHolder  dummy_place_holder,
const GenPermMatrixSlice gpms_rhs,
BLAS_Cpp::Transp  gpms_rhs_trans,
value_type  beta
const
 

virtual bool AbstractLinAlgPack::MatrixOp::Mp_StPtMtP MatrixOp mwo_lhs,
value_type  alpha,
const GenPermMatrixSlice P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
BLAS_Cpp::Transp  M_trans,
const GenPermMatrixSlice P_rhs2,
BLAS_Cpp::Transp  P_rhs2_trans
const
 

virtual bool AbstractLinAlgPack::MatrixOp::Mp_StPtMtP value_type  alpha,
const GenPermMatrixSlice P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
const MatrixOp mwo_rhs,
BLAS_Cpp::Transp  M_trans,
const GenPermMatrixSlice P_rhs2,
BLAS_Cpp::Transp  P_rhs2_trans
 


Friends And Related Function Documentation

void Mp_StPtMtP MatrixSymOp sym_lhs,
value_type  alpha,
MatrixSymOp::EMatRhsPlaceHolder  dummy_place_holder,
const MatrixSymOp M,
const GenPermMatrixSlice gpms_rhs,
BLAS_Cpp::Transp  gpms_rhs_trans,
value_type  beta = 1.0
[friend]
 

Definition at line 183 of file AbstractLinAlgPack_MatrixSymOp.hpp.

void Mp_StPtMtP MatrixOp mwo_lhs,
value_type  alpha,
const GenPermMatrixSlice P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
const MatrixOp M_rhs,
BLAS_Cpp::Transp  trans_rhs,
const GenPermMatrixSlice P_rhs2,
BLAS_Cpp::Transp  P_rhs2_trans
[friend]
 


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:36:11 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1