AbstractLinAlgPack::MatrixPermAggr Class Reference

Aggregate matrix class for a matrix and its permuted view. More...

#include <AbstractLinAlgPack_MatrixPermAggr.hpp>

Inheritance diagram for AbstractLinAlgPack::MatrixPermAggr:

[legend]
List of all members.

Public types

typedef Teuchos::RefCountPtr<
const Permutation
perm_ptr_t
 

Constructors / initializers

 MatrixPermAggr ()
 Construct to uninitialized.
 MatrixPermAggr (const mat_ptr_t &mat_orig, const perm_ptr_t &row_perm, const perm_ptr_t &col_perm, const mat_ptr_t &mat_perm)
 Calls this->initialize().
void initialize (const mat_ptr_t &mat_orig, const perm_ptr_t &row_perm, const perm_ptr_t &col_perm, const mat_ptr_t &mat_perm)
 Initialize.
void set_uninitialized ()
 Set uninitialized.

Access

const mat_ptr_t & mat_orig () const
 
const perm_ptr_trow_perm () const
 
const perm_ptr_tcol_perm () const
 
const mat_ptr_t & mat_perm () 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
 

Detailed Description

Aggregate matrix class for a matrix and its permuted view.

mat_perm = row_perm * mat_orig * col_perm'.

Definition at line 41 of file AbstractLinAlgPack_MatrixPermAggr.hpp.


Member Typedef Documentation

typedef Teuchos::RefCountPtr<const Permutation> AbstractLinAlgPack::MatrixPermAggr::perm_ptr_t
 

Definition at line 50 of file AbstractLinAlgPack_MatrixPermAggr.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::MatrixPermAggr::MatrixPermAggr  ) 
 

Construct to uninitialized.

Definition at line 43 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

AbstractLinAlgPack::MatrixPermAggr::MatrixPermAggr const mat_ptr_t &  mat_orig,
const perm_ptr_t row_perm,
const perm_ptr_t col_perm,
const mat_ptr_t &  mat_perm
 

Calls this->initialize().

Definition at line 46 of file AbstractLinAlgPack_MatrixPermAggr.cpp.


Member Function Documentation

void AbstractLinAlgPack::MatrixPermAggr::initialize const mat_ptr_t &  mat_orig,
const perm_ptr_t row_perm,
const perm_ptr_t col_perm,
const mat_ptr_t &  mat_perm
 

Initialize.

mat_perm = row_perm' * mat_orig * col_perm.

Parameters:
mat_orig [in] Smart pointer to original unpermuted matrix.
row_perm [in] Smart pointer to row permutation. If row_perm.get() == NULL then the identity permutation is assumed.
col_perm [in] Smart pointer to column permutation. If col_perm.get() == NULL then the identity permutation is assumed.
mat_perm [in] Smart pointer to permuted matrix. It is allowed for mat_perm.get() == NULL in which case all of the linear algebra methods are implemented in terms of mat_orig, row_perm and col_perm.
Preconditions:

Postconditions:

Definition at line 56 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

void AbstractLinAlgPack::MatrixPermAggr::set_uninitialized  ) 
 

Set uninitialized.

ToDo: Finish documentation.

Definition at line 91 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

const mat_ptr_t& AbstractLinAlgPack::MatrixPermAggr::mat_orig  )  const
 

const perm_ptr_t& AbstractLinAlgPack::MatrixPermAggr::row_perm  )  const
 

const perm_ptr_t& AbstractLinAlgPack::MatrixPermAggr::col_perm  )  const
 

const mat_ptr_t& AbstractLinAlgPack::MatrixPermAggr::mat_perm  )  const
 

size_type AbstractLinAlgPack::MatrixPermAggr::rows  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 102 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

size_type AbstractLinAlgPack::MatrixPermAggr::cols  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 107 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

size_type AbstractLinAlgPack::MatrixPermAggr::nz  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 112 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

const VectorSpace & AbstractLinAlgPack::MatrixPermAggr::space_cols  )  const [virtual]
 

Implements AbstractLinAlgPack::MatrixBase.

Definition at line 119 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

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

Implements AbstractLinAlgPack::MatrixBase.

Definition at line 124 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

MatrixOp::mat_ptr_t AbstractLinAlgPack::MatrixPermAggr::sub_view const Range1D row_rng,
const Range1D col_rng
const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 130 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

MatrixOp & AbstractLinAlgPack::MatrixPermAggr::operator= const MatrixOp M  )  [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 139 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

std::ostream & AbstractLinAlgPack::MatrixPermAggr::output std::ostream &  out  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 154 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

bool AbstractLinAlgPack::MatrixPermAggr::Mp_StM MatrixOp mwo_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs
const [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 176 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

bool AbstractLinAlgPack::MatrixPermAggr::Mp_StMtP MatrixOp mwo_lhs,
value_type  alpha,
BLAS_Cpp::Transp  M_trans,
const GenPermMatrixSlice P_rhs,
BLAS_Cpp::Transp  P_rhs_trans
const [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 189 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

bool AbstractLinAlgPack::MatrixPermAggr::Mp_StPtM MatrixOp mwo_lhs,
value_type  alpha,
const GenPermMatrixSlice P_rhs,
BLAS_Cpp::Transp  P_rhs_trans,
BLAS_Cpp::Transp  M_trans
const [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 203 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

bool AbstractLinAlgPack::MatrixPermAggr::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 [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 217 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

void AbstractLinAlgPack::MatrixPermAggr::Vp_StMtV VectorMutable vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const Vector v_rhs2,
value_type  beta
const [protected, virtual]
 

Implements AbstractLinAlgPack::MatrixOp.

Definition at line 232 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

void AbstractLinAlgPack::MatrixPermAggr::Vp_StMtV VectorMutable vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice sv_rhs2,
value_type  beta
const [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 288 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

void AbstractLinAlgPack::MatrixPermAggr::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 [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 303 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

void AbstractLinAlgPack::MatrixPermAggr::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 [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 317 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

value_type AbstractLinAlgPack::MatrixPermAggr::transVtMtV const Vector v_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const Vector v_rhs3
const [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 331 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

value_type AbstractLinAlgPack::MatrixPermAggr::transVtMtV const SpVectorSlice sv_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const SpVectorSlice sv_rhs3
const [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 341 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

void AbstractLinAlgPack::MatrixPermAggr::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 [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 351 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

bool AbstractLinAlgPack::MatrixPermAggr::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 [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 365 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

bool AbstractLinAlgPack::MatrixPermAggr::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 [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 378 of file AbstractLinAlgPack_MatrixPermAggr.cpp.

bool AbstractLinAlgPack::MatrixPermAggr::syrk BLAS_Cpp::Transp  M_trans,
value_type  alpha,
value_type  beta,
MatrixSymOp sym_lhs
const [protected, virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 391 of file AbstractLinAlgPack_MatrixPermAggr.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:33:53 2008 for AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects by doxygen 1.3.9.1