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

Abstract base class for all serial polymorphic symmetrix nonsingular matrices that can be used to solve for linear systems relatively efficiently. More...

#include <AbstractLinAlgPack_MatrixSymNonsingSerial.hpp>

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

List of all members.

Level-3

virtual void M_StMtInvMtM (DMatrixSliceSym *sym_gms_lhs, value_type alpha, const MatrixOpSerial &mwo, BLAS_Cpp::Transp mwo_trans, EMatrixDummyArg) const
 sym_gms_lhs = alpha * op(mwo) * inv(M) * op(mwo)'.

Overridden from MatrixSymNonsing

void M_StMtInvMtM (MatrixSymOp *sym_lhs, value_type alpha, const MatrixOp &mwo, BLAS_Cpp::Transp mwo_trans, EMatrixDummyArg) const
 symwo_lhs = alpha * op(mwo) * inv(M) * op(mwo)'.

Detailed Description

Abstract base class for all serial polymorphic symmetrix nonsingular matrices that can be used to solve for linear systems relatively efficiently.

The methods of this interface should not be called directly but instead through the provided nonmember functions.

Definition at line 43 of file AbstractLinAlgPack_MatrixSymNonsingSerial.hpp.


Member Function Documentation

void AbstractLinAlgPack::MatrixSymNonsingSerial::M_StMtInvMtM ( DMatrixSliceSym sym_gms_lhs,
value_type  alpha,
const MatrixOpSerial mwo,
BLAS_Cpp::Transp  mwo_trans,
EMatrixDummyArg   
) const [virtual]

sym_gms_lhs = alpha * op(mwo) * inv(M) * op(mwo)'.

The default implementation is based on the operation M_StInvMtM(...) assuming that this M is a symmetric matrix. For an efficient implementation (for this = L*L' for instance) the subclass may want to override this function.

Definition at line 49 of file AbstractLinAlgPack_MatrixSymNonsingSerial.cpp.

void AbstractLinAlgPack::MatrixSymNonsingSerial::M_StMtInvMtM ( MatrixSymOp symwo_lhs,
value_type  alpha,
const MatrixOp mwo,
BLAS_Cpp::Transp  mwo_trans,
EMatrixDummyArg   
) const [virtual]

symwo_lhs = alpha * op(mwo) * inv(M) * op(mwo)'.

The default implementation is based on the operation M_StInvMtM(...) assuming that this M# is a symmetric matrix. For an efficient implementation (for this = L*L' for instance) the subclass may want to override this function.

Reimplemented from AbstractLinAlgPack::MatrixSymNonsing.

Definition at line 100 of file AbstractLinAlgPack_MatrixSymNonsingSerial.cpp.


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