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

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

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

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

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

Definition at line 144 of file AbstractLinAlgPack_MatrixSymOpSerial.cpp.


The documentation for this class was generated from the following files:
Generated on Tue Oct 20 12:54:08 2009 for MOOCHO (Single Doxygen Collection) by doxygen 1.4.7