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::MatrixOpNonsingAggr Class Reference

Aggregate matrix class pulling together a MatrixOp object and a MatrixNonsing object into a unified matrix object. More...

#include <AbstractLinAlgPack_MatrixOpNonsingAggr.hpp>

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

Public types

typedef Teuchos::RCP< const
MatrixOp
mwo_ptr_t
 
typedef Teuchos::RCP< const
MatrixNonsing
mns_ptr_t
 

Constructors / initializers

 MatrixOpNonsingAggr ()
 Construct to uninitialized. More...
 
 MatrixOpNonsingAggr (const mwo_ptr_t &mwo, BLAS_Cpp::Transp mwo_trans, const mns_ptr_t &mns, BLAS_Cpp::Transp mns_trans)
 Calls this->initialize(). More...
 
void initialize (const mwo_ptr_t &mwo, BLAS_Cpp::Transp mwo_trans, const mns_ptr_t &mns, BLAS_Cpp::Transp mns_trans)
 Initialize. More...
 
void set_uninitialized ()
 Set uninitialized. More...
 

Access

const mwo_ptr_tmwo () const
 
BLAS_Cpp::Transp mwo_trans () const
 
const mns_ptr_tmns () const
 
BLAS_Cpp::Transp mns_trans () const
 

Overridden from MatrixBase

size_type rows () const
 
size_type cols () const
 
size_type nz () const
 

Overridden from MatrixOp

const VectorSpacespace_cols () const
 
const VectorSpacespace_rows () const
 
MatrixOp::mat_ptr_t sub_view (const Range1D &row_rng, const Range1D &col_rng) const
 
MatrixOpoperator= (const MatrixOp &M)
 
std::ostream & output (std::ostream &out) const
 
bool Mp_StM (MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const
 
bool Mp_StMtP (MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans) const
 
bool Mp_StPtM (MatrixOp *mwo_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans, BLAS_Cpp::Transp M_trans) const
 
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
 
void Vp_StMtV (VectorMutable *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const
 
void Vp_StMtV (VectorMutable *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta) const
 
void Vp_StPtMtV (VectorMutable *vs_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_rhs2_trans, const Vector &v_rhs3, value_type beta) const
 
void Vp_StPtMtV (VectorMutable *vs_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_rhs2_trans, const SpVectorSlice &sv_rhs3, value_type beta) const
 
value_type transVtMtV (const Vector &v_rhs1, BLAS_Cpp::Transp trans_rhs2, const Vector &v_rhs3) const
 
value_type transVtMtV (const SpVectorSlice &sv_rhs1, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3) const
 
void syr2k (BLAS_Cpp::Transp M_trans, value_type alpha, const GenPermMatrixSlice &P1, BLAS_Cpp::Transp P1_trans, const GenPermMatrixSlice &P2, BLAS_Cpp::Transp P2_trans, value_type beta, MatrixSymOp *symwo_lhs) const
 
bool Mp_StMtM (MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 
bool Mp_StMtM (MatrixOp *mwo_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 
bool syrk (BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta, MatrixSymOp *sym_lhs) const
 

Overridden from MatrixNonsing

void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const
 
void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2) const
 
value_type transVtInvMtV (const Vector &v_rhs1, BLAS_Cpp::Transp trans_rhs2, const Vector &v_rhs3) const
 
value_type transVtInvMtV (const SpVectorSlice &sv_rhs1, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3) const
 
void M_StInvMtM (MatrixOp *m_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2) const
 
void M_StMtInvM (MatrixOp *m_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2) const
 

Additional Inherited Members

- Public Types inherited from AbstractLinAlgPack::MatrixOp
enum  EMatNormType { MAT_NORM_INF, MAT_NORM_2, MAT_NORM_1, MAT_NORM_FORB }
 Type of matrix norm. More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixOpNonsing
MatrixOpNonsingoperator= (const MatrixOpNonsing &M)
 Calls operator=(MatrixOp&) More...
 
virtual mat_mwons_mut_ptr_t clone_mwons ()
 Clone the non-const matrix object (if supported). More...
 
virtual mat_mwons_ptr_t clone_mwons () const
 Clone the const matrix object (if supported). More...
 
const MatNorm calc_cond_num (EMatNormType requested_norm_type=MAT_NORM_1, bool allow_replacement=false) const
 Compute an estimate of the condition number of this matrix. More...
 
mat_mut_ptr_t clone ()
 Returns this->clone_mwons(). More...
 
mat_ptr_t clone () const
 Returns this->clone_mwons(). More...
 
mat_mns_mut_ptr_t clone_mns ()
 Returns this->clone_mwons(). More...
 
mat_mns_ptr_t clone_mns () const
 Returns this->clone_mwons(). More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixOp
virtual void zero_out ()
 M_lhs = 0 : Zero out the matrix. More...
 
virtual void Mt_S (value_type alpha)
 M_lhs *= alpha : Multiply a matrix by a scalar. More...
 
const MatNorm calc_norm (EMatNormType requested_norm_type=MAT_NORM_1, bool allow_replacement=false) const
 Compute a norm of this matrix. More...
 
mat_ptr_t sub_view (const index_type &rl, const index_type &ru, const index_type &cl, const index_type &cu) const
 Inlined implementation calls this->sub_view(Range1D(rl,ru),Range1D(cl,cu)). More...
 
virtual mat_ptr_t perm_view (const Permutation *P_row, const index_type row_part[], int num_row_part, const Permutation *P_col, const index_type col_part[], int num_col_part) const
 Create a permuted view: M_perm = P_row' * M * P_col. More...
 
virtual mat_ptr_t perm_view_update (const Permutation *P_row, const index_type row_part[], int num_row_part, const Permutation *P_col, const index_type col_part[], int num_col_part, const mat_ptr_t &perm_view) const
 Reinitialize a permuted view: M_perm = P_row' * M * P_col. More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixBase
virtual ~MatrixBase ()
 Virtual destructor. More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixNonsing
- Protected Member Functions inherited from AbstractLinAlgPack::MatrixOp
virtual bool Mp_StM (value_type alpha, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs)
 M_lhs += alpha * op(mwo_rhs) (BLAS xAXPY). More...
 
virtual bool Mp_StMtP (value_type alpha, const MatrixOp &mwo_rhs, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans)
 M_lhs += alpha * op(mwo_rhs) * op(P_rhs). More...
 
virtual bool Mp_StPtM (value_type alpha, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans, const MatrixOp &mwo_rhs, BLAS_Cpp::Transp M_trans)
 M_lhs += alpha * op(P_rhs) * op(mwo_rhs). More...
 
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)
 M_lhs += alpha * op(P_rhs1) * op(mwo_rhs) * op(P_rhs2). More...
 
virtual bool Mp_StMtM (value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta)
 M_lhs = alpha * op(mwo_rhs1) * op(mwo_rhs2) + beta * mwo_lhs (left) (xGEMM) More...
 
virtual bool syrk (const MatrixOp &mwo_rhs, BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta)
 Perform a rank-k update of a symmetric matrix of the form: More...
 

Detailed Description

Aggregate matrix class pulling together a MatrixOp object and a MatrixNonsing object into a unified matrix object.

ToDo: Finish documentation!

Definition at line 54 of file AbstractLinAlgPack_MatrixOpNonsingAggr.hpp.

Member Typedef Documentation

Definition at line 63 of file AbstractLinAlgPack_MatrixOpNonsingAggr.hpp.

Definition at line 65 of file AbstractLinAlgPack_MatrixOpNonsingAggr.hpp.

Constructor & Destructor Documentation

AbstractLinAlgPack::MatrixOpNonsingAggr::MatrixOpNonsingAggr ( )

Construct to uninitialized.

Definition at line 53 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

AbstractLinAlgPack::MatrixOpNonsingAggr::MatrixOpNonsingAggr ( const mwo_ptr_t mwo,
BLAS_Cpp::Transp  mwo_trans,
const mns_ptr_t mns,
BLAS_Cpp::Transp  mns_trans 
)

Calls this->initialize().

Definition at line 56 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

Member Function Documentation

void AbstractLinAlgPack::MatrixOpNonsingAggr::initialize ( const mwo_ptr_t mwo,
BLAS_Cpp::Transp  mwo_trans,
const mns_ptr_t mns,
BLAS_Cpp::Transp  mns_trans 
)

Initialize.

ToDo: Finish documentation.

Definition at line 66 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

void AbstractLinAlgPack::MatrixOpNonsingAggr::set_uninitialized ( )

Set uninitialized.

ToDo: Finish documentation.

Definition at line 101 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

const mwo_ptr_t& AbstractLinAlgPack::MatrixOpNonsingAggr::mwo ( ) const

BLAS_Cpp::Transp AbstractLinAlgPack::MatrixOpNonsingAggr::mwo_trans ( ) const
inline

Definition at line 278 of file AbstractLinAlgPack_MatrixOpNonsingAggr.hpp.

const mns_ptr_t& AbstractLinAlgPack::MatrixOpNonsingAggr::mns ( ) const

BLAS_Cpp::Transp AbstractLinAlgPack::MatrixOpNonsingAggr::mns_trans ( ) const
inline

Definition at line 291 of file AbstractLinAlgPack_MatrixOpNonsingAggr.hpp.

size_type AbstractLinAlgPack::MatrixOpNonsingAggr::rows ( ) const
virtual

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 112 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

size_type AbstractLinAlgPack::MatrixOpNonsingAggr::cols ( ) const
virtual

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 117 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

size_type AbstractLinAlgPack::MatrixOpNonsingAggr::nz ( ) const
virtual

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 122 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

const VectorSpace & AbstractLinAlgPack::MatrixOpNonsingAggr::space_cols ( ) const
virtual
const VectorSpace & AbstractLinAlgPack::MatrixOpNonsingAggr::space_rows ( ) const
virtual
MatrixOp::mat_ptr_t AbstractLinAlgPack::MatrixOpNonsingAggr::sub_view ( const Range1D row_rng,
const Range1D col_rng 
) const
virtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 140 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

MatrixOp & AbstractLinAlgPack::MatrixOpNonsingAggr::operator= ( const MatrixOp M)
virtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 145 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

std::ostream & AbstractLinAlgPack::MatrixOpNonsingAggr::output ( std::ostream &  out) const
virtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 160 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

bool AbstractLinAlgPack::MatrixOpNonsingAggr::Mp_StM ( MatrixOp mwo_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 168 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

bool AbstractLinAlgPack::MatrixOpNonsingAggr::Mp_StMtP ( MatrixOp mwo_lhs,
value_type  alpha,
BLAS_Cpp::Transp  M_trans,
const GenPermMatrixSlice P_rhs,
BLAS_Cpp::Transp  P_rhs_trans 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 176 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

bool AbstractLinAlgPack::MatrixOpNonsingAggr::Mp_StPtM ( MatrixOp mwo_lhs,
value_type  alpha,
const GenPermMatrixSlice P_rhs,
BLAS_Cpp::Transp  P_rhs_trans,
BLAS_Cpp::Transp  M_trans 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 188 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

bool AbstractLinAlgPack::MatrixOpNonsingAggr::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
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 200 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

void AbstractLinAlgPack::MatrixOpNonsingAggr::Vp_StMtV ( VectorMutable vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const Vector v_rhs2,
value_type  beta 
) const
protectedvirtual
void AbstractLinAlgPack::MatrixOpNonsingAggr::Vp_StMtV ( VectorMutable vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice sv_rhs2,
value_type  beta 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 221 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

void AbstractLinAlgPack::MatrixOpNonsingAggr::Vp_StPtMtV ( VectorMutable vs_lhs,
value_type  alpha,
const GenPermMatrixSlice P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
BLAS_Cpp::Transp  M_rhs2_trans,
const Vector v_rhs3,
value_type  beta 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 228 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

void AbstractLinAlgPack::MatrixOpNonsingAggr::Vp_StPtMtV ( VectorMutable vs_lhs,
value_type  alpha,
const GenPermMatrixSlice P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
BLAS_Cpp::Transp  M_rhs2_trans,
const SpVectorSlice sv_rhs3,
value_type  beta 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 240 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

value_type AbstractLinAlgPack::MatrixOpNonsingAggr::transVtMtV ( const Vector v_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const Vector v_rhs3 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 252 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

value_type AbstractLinAlgPack::MatrixOpNonsingAggr::transVtMtV ( const SpVectorSlice sv_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const SpVectorSlice sv_rhs3 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 259 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

void AbstractLinAlgPack::MatrixOpNonsingAggr::syr2k ( BLAS_Cpp::Transp  M_trans,
value_type  alpha,
const GenPermMatrixSlice P1,
BLAS_Cpp::Transp  P1_trans,
const GenPermMatrixSlice P2,
BLAS_Cpp::Transp  P2_trans,
value_type  beta,
MatrixSymOp symwo_lhs 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 267 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

bool AbstractLinAlgPack::MatrixOpNonsingAggr::Mp_StMtM ( MatrixOp mwo_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOp mwo_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 279 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

bool AbstractLinAlgPack::MatrixOpNonsingAggr::Mp_StMtM ( MatrixOp mwo_lhs,
value_type  alpha,
const MatrixOp mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 291 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

bool AbstractLinAlgPack::MatrixOpNonsingAggr::syrk ( BLAS_Cpp::Transp  M_trans,
value_type  alpha,
value_type  beta,
MatrixSymOp sym_lhs 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 303 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

void AbstractLinAlgPack::MatrixOpNonsingAggr::V_InvMtV ( VectorMutable v_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const Vector v_rhs2 
) const
protectedvirtual
void AbstractLinAlgPack::MatrixOpNonsingAggr::V_InvMtV ( VectorMutable v_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice sv_rhs2 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 322 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

value_type AbstractLinAlgPack::MatrixOpNonsingAggr::transVtInvMtV ( const Vector v_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const Vector v_rhs3 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 330 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

value_type AbstractLinAlgPack::MatrixOpNonsingAggr::transVtInvMtV ( const SpVectorSlice sv_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const SpVectorSlice sv_rhs3 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 338 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

void AbstractLinAlgPack::MatrixOpNonsingAggr::M_StInvMtM ( MatrixOp m_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOp mwo_rhs2,
BLAS_Cpp::Transp  trans_rhs2 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 346 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.

void AbstractLinAlgPack::MatrixOpNonsingAggr::M_StMtInvM ( MatrixOp m_lhs,
value_type  alpha,
const MatrixOp mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
BLAS_Cpp::Transp  trans_rhs2 
) const
protectedvirtual

Reimplemented from AbstractLinAlgPack::MatrixNonsing.

Definition at line 355 of file AbstractLinAlgPack_MatrixOpNonsingAggr.cpp.


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