|
AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects
Version of the Day
|
Standard subclass for representing a sub, possibly transposed, view of a matrix. More...
#include <AbstractLinAlgPack_MatrixOpSubView.hpp>

Public Types | |
| typedef Teuchos::RCP< MatrixOp > | mat_ptr_t |
| | |
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_t & | M_full_ptr () |
| | |
| MatrixOp & | M_full () |
| | |
| const MatrixOp & | M_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 VectorSpace & | space_cols () const |
| | |
| const VectorSpace & | space_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) |
| | |
| MatrixOp & | operator= (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 |
| | |
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 63 of file AbstractLinAlgPack_MatrixOpSubView.hpp.
Definition at line 70 of file AbstractLinAlgPack_MatrixOpSubView.hpp.
| 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 60 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| 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.
| 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 70 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| const MatrixOpSubView::mat_ptr_t & AbstractLinAlgPack::MatrixOpSubView::M_full_ptr | ( | ) | [inline] |
Definition at line 300 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 |
Definition at line 330 of file AbstractLinAlgPack_MatrixOpSubView.hpp.
| size_type AbstractLinAlgPack::MatrixOpSubView::rows | ( | ) | const [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixBase.
Definition at line 119 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| size_type AbstractLinAlgPack::MatrixOpSubView::cols | ( | ) | const [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixBase.
Definition at line 126 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| size_type AbstractLinAlgPack::MatrixOpSubView::nz | ( | ) | const [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixBase.
Definition at line 133 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| const VectorSpace & AbstractLinAlgPack::MatrixOpSubView::space_cols | ( | ) | const [virtual] |
Implements AbstractLinAlgPack::MatrixBase.
Definition at line 144 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| const VectorSpace & AbstractLinAlgPack::MatrixOpSubView::space_rows | ( | ) | const [virtual] |
Implements AbstractLinAlgPack::MatrixBase.
Definition at line 150 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 157 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| void AbstractLinAlgPack::MatrixOpSubView::zero_out | ( | ) | [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixOp.
Definition at line 164 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| void AbstractLinAlgPack::MatrixOpSubView::Mt_S | ( | value_type | alpha | ) | [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixOp.
Definition at line 176 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
Reimplemented from AbstractLinAlgPack::MatrixOp.
Definition at line 188 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| std::ostream & AbstractLinAlgPack::MatrixOpSubView::output | ( | std::ostream & | out | ) | const [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixOp.
Definition at line 195 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 205 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 213 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 223 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 233 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 247 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 254 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 264 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 275 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 289 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 |
Definition at line 338 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 346 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 |
Definition at line 357 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 368 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
| value_type AbstractLinAlgPack::MatrixOpSubView::transVtMtV | ( | const SpVectorSlice & | sv_rhs1, |
| BLAS_Cpp::Transp | trans_rhs2, | ||
| const SpVectorSlice & | sv_rhs3 | ||
| ) | const |
Definition at line 376 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 384 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 397 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 407 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 416 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 427 of file AbstractLinAlgPack_MatrixOpSubView.cpp.
1.7.6.1