AbstractLinAlgPack::MatrixOpSubView Class Reference

Standard subclass for representing a sub, possibly transposed, view of a matrix. More...

#include <AbstractLinAlgPack_MatrixOpSubView.hpp>

Inheritance diagram for AbstractLinAlgPack::MatrixOpSubView:

[legend]
List of all members.

Constructors/initalizers

 MatrixOpSubView (const mat_ptr_t &M_full=Teuchos::null, const Range1D &rng_rows=Range1D(), const Range1D &rng_cols=Range1D(), BLAS_Cpp::Transp M_trans=BLAS_Cpp::no_trans)
 Calls this->initialize(...).
void initialize (const mat_ptr_t &M_full, const Range1D &rng_rows=Range1D(), const Range1D &rng_cols=Range1D(), BLAS_Cpp::Transp M_trans=BLAS_Cpp::no_trans)
 Initialize the view of a matrix.

Representation access

const mat_ptr_tM_full_ptr ()
 
MatrixOpM_full ()
 
const MatrixOpM_full () const
 
Range1D rng_rows () const
 
Range1D rng_cols () const
 
BLAS_Cpp::Transp M_trans ()
 

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
 
void zero_out ()
 
void Mt_S (value_type alpha)
 
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
 
bool Mp_StM (value_type alpha, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs)
 
bool Mp_StMtP (value_type alpha, const MatrixOp &M_rhs, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans)
 
bool Mp_StPtM (value_type alpha, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans, const MatrixOp &M_rhs, BLAS_Cpp::Transp M_trans)
 
bool Mp_StPtMtP (value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, const MatrixOp &M_rhs, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs2, BLAS_Cpp::Transp P_rhs2_trans)
 
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 Mp_StMtM (value_type alpha, const MatrixOp &mvw_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta)
 
bool syrk (BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta, MatrixSymOp *sym_lhs) const
 

Public Types

typedef Teuchos::RefCountPtr<
MatrixOp
mat_ptr_t
 

Detailed Description

Standard subclass for representing a sub, possibly transposed, view of a matrix.

The matrix M_view represented by this is:

 
 M_view = op(M_full(rng_rows,rng_cols))
 

ToDo: Finish Documentation!

Definition at line 50 of file AbstractLinAlgPack_MatrixOpSubView.hpp.


Member Typedef Documentation

typedef Teuchos::RefCountPtr<MatrixOp> AbstractLinAlgPack::MatrixOpSubView::mat_ptr_t
 

Definition at line 54 of file AbstractLinAlgPack_MatrixOpSubView.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::MatrixOpSubView::MatrixOpSubView const mat_ptr_t M_full = Teuchos::null,
const Range1D rng_rows = Range1D(),
const Range1D rng_cols = Range1D(),
BLAS_Cpp::Transp  M_trans = BLAS_Cpp::no_trans
 

Calls this->initialize(...).

Definition at line 47 of file AbstractLinAlgPack_MatrixOpSubView.cpp.


Member Function Documentation

void AbstractLinAlgPack::MatrixOpSubView::initialize const mat_ptr_t M_full,
const Range1D rng_rows = Range1D(),
const Range1D rng_cols = Range1D(),
BLAS_Cpp::Transp  M_trans = BLAS_Cpp::no_trans
 

Initialize the view of a matrix.

Parameters:
M_full [in] Smart pointer for the matrix to provide a view of. It is allowed for M_full.get() == NULL in which case this will become uninitialized and none of the rest of the arguments matter and any value will do (i.e. the default values).
rng_rows [in] Range in the rows of *M_full that this will represent. Only significant if M_full.get() != NULL.
rng_cols [in] Range in the columns of *M_full that this will represent. Only significant if M_full.get() != NULL.
M_trans [in] If M_trans == no_trans then this will represent M_full(rng_rows,rng_cols). If If M_trans == trans then this will represent the transpose M_full(rng_rows,rng_cols)'.
Preconditions:
  • [M_full.get()!=NULL && !rng_rows.full_range()] rng_rows.ubound() <= M_full->rows() (throw std::invalid_argument)
  • [M_full.get()!=NULL && !rng_cols.full_range()] rng_cols.ubound() <= M_full->cols() (throw std::invalid_argument)

Postconditions:

  • this->M_full_ptr().get() == M_full.get()
  • [M_full.get()!=NULL] &this->M_full() == M_full.get()
  • [M_full.get()!=NULL && (rng_rows.full_range() || (rng_rows.lbound() == 1 && rng_rows.ubound() == M_full->rows()))] this->rng_rows().full_range() == true
  • [M_full.get()!=NULL && (rng_cols.full_range() || (rng_cols.lbound() == 1 && rng_cols.ubound() == M_full->cols()))] this->rng_cols().full_range() == true
  • [M_full.get()!=NULL] this->M_trans == M_trans
  • [M_full.get()==NULL] this->rng_rows() == Range1D::Invalid
  • [M_full.get()==NULL] this->rng_cols() == Range1D::Invalid

Definition at line 57 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

const MatrixOpSubView::mat_ptr_t & AbstractLinAlgPack::MatrixOpSubView::M_full_ptr  )  [inline]
 

Definition at line 284 of file AbstractLinAlgPack_MatrixOpSubView.hpp.

MatrixOp& AbstractLinAlgPack::MatrixOpSubView::M_full  ) 
 

const MatrixOp& AbstractLinAlgPack::MatrixOpSubView::M_full  )  const
 

Range1D AbstractLinAlgPack::MatrixOpSubView::rng_rows  )  const
 

Range1D AbstractLinAlgPack::MatrixOpSubView::rng_cols  )  const
 

BLAS_Cpp::Transp AbstractLinAlgPack::MatrixOpSubView::M_trans  )  [inline]
 

Definition at line 314 of file AbstractLinAlgPack_MatrixOpSubView.hpp.

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

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 106 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 113 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 120 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Implements AbstractLinAlgPack::MatrixBase.

Definition at line 131 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Implements AbstractLinAlgPack::MatrixBase.

Definition at line 137 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 144 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

void AbstractLinAlgPack::MatrixOpSubView::zero_out  )  [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 151 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

void AbstractLinAlgPack::MatrixOpSubView::Mt_S value_type  alpha  )  [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 163 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 175 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 182 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 192 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 200 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 210 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

bool AbstractLinAlgPack::MatrixOpSubView::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]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 220 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

bool AbstractLinAlgPack::MatrixOpSubView::Mp_StM value_type  alpha,
const MatrixOp M_rhs,
BLAS_Cpp::Transp  trans_rhs
[virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 234 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

bool AbstractLinAlgPack::MatrixOpSubView::Mp_StMtP value_type  alpha,
const MatrixOp M_rhs,
BLAS_Cpp::Transp  M_trans,
const GenPermMatrixSlice P_rhs,
BLAS_Cpp::Transp  P_rhs_trans
[virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 241 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

bool AbstractLinAlgPack::MatrixOpSubView::Mp_StPtM value_type  alpha,
const GenPermMatrixSlice P_rhs,
BLAS_Cpp::Transp  P_rhs_trans,
const MatrixOp M_rhs,
BLAS_Cpp::Transp  M_trans
[virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 251 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

bool AbstractLinAlgPack::MatrixOpSubView::Mp_StPtMtP value_type  alpha,
const GenPermMatrixSlice P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
const MatrixOp M_rhs,
BLAS_Cpp::Transp  M_trans,
const GenPermMatrixSlice P_rhs2,
BLAS_Cpp::Transp  P_rhs2_trans
[virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 262 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Implements AbstractLinAlgPack::MatrixOp.

Definition at line 276 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 325 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

void AbstractLinAlgPack::MatrixOpSubView::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 [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 333 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

void AbstractLinAlgPack::MatrixOpSubView::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 [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 344 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 355 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 363 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

void AbstractLinAlgPack::MatrixOpSubView::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 [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 371 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

bool AbstractLinAlgPack::MatrixOpSubView::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 [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 384 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

bool AbstractLinAlgPack::MatrixOpSubView::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 [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 394 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

bool AbstractLinAlgPack::MatrixOpSubView::Mp_StMtM value_type  alpha,
const MatrixOp mvw_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOp mwo_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta
[virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 403 of file AbstractLinAlgPack_MatrixOpSubView.cpp.

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

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 414 of file AbstractLinAlgPack_MatrixOpSubView.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