MOOCHO (Single Doxygen Collection)
Version of the Day
|
MultiVectorMutable
adapter subclass for Thyra::MultiVectorBase
.
More...
#include <AbstractLinAlgPack_MultiVectorMutableThyra.hpp>
Private Member Functions | |
Teuchos::RCP < Thyra::MultiVectorBase < value_type > > | cast_thyra_multi_vec () |
Constructors / Initializers | |
MultiVectorMutableThyra () | |
Construct to uninitialized. More... | |
MultiVectorMutableThyra (const Teuchos::RCP< Thyra::MultiVectorBase< value_type > > &thyra_multi_vec) | |
Calls this->initialize() . More... | |
void | initialize (const Teuchos::RCP< Thyra::MultiVectorBase< value_type > > &thyra_multi_vec) |
Initalize given a smart pointer to a Thyra::MultiVectorBase object. More... | |
Teuchos::RCP < Thyra::MultiVectorBase < value_type > > | set_uninitialized () |
Set to uninitialized and return smart pointer to the internal Thyra::LinearOpBase object. More... | |
Teuchos::RCP< const Thyra::MultiVectorBase < value_type > > | thyra_multi_vec () const |
Return a smart pointer to the internal Thyra::LinearOpBase object. More... | |
Overridden from MatrixOpThyra | |
void | initialize (const Teuchos::RCP< const Thyra::LinearOpBase< value_type > > &thyra_linear_op) |
Performs a const_cast<> and dynamic_cast<> and passes on to this->initialize() . More... | |
Overridden from MatrixOp | |
mat_mut_ptr_t | clone () |
Overridden to call MatrixOpThyra::clone() More... | |
MatrixOp & | operator= (const MatrixOp &mwo_rhs) |
Overridden to call MultiVectorMutable::operator=() More... | |
void | Vp_StMtV (VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const |
Overridden to call MatrixOpThyra::Vp_StMtV() More... | |
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 |
Overridden to call MatrixOpThyra::Mp_StMtM() More... | |
Overridden from MultiVector | |
access_by_t | access_by () const |
Returns COL_ACCESS More... | |
void | apply_op (EApplyBy apply_by, const RTOpPack::RTOp &primary_op, const size_t num_multi_vecs, const MultiVector *multi_vecs[], const size_t num_targ_multi_vecs, MultiVectorMutable *targ_multi_vecs[], RTOpPack::ReductTarget *reduct_objs[], const index_type primary_first_ele, const index_type primary_sub_dim, const index_type primary_global_offset, const index_type secondary_first_ele, const index_type secondary_sub_dim) const |
void | apply_op (EApplyBy apply_by, const RTOpPack::RTOp &primary_op, const RTOpPack::RTOp &secondary_op, const size_t num_multi_vecs, const MultiVector *multi_vecs[], const size_t num_targ_multi_vecs, MultiVectorMutable *targ_multi_vecs[], RTOpPack::ReductTarget *reduct_obj, const index_type primary_first_ele, const index_type primary_sub_dim, const index_type primary_global_offset, const index_type secondary_first_ele, const index_type secondary_sub_dim) const |
Overridden from MultiVectorMutable | |
vec_mut_ptr_t | col (index_type j) |
vec_mut_ptr_t | row (index_type i) |
return.get()==NULL More... | |
vec_mut_ptr_t | diag (int k) |
return.get()==NULL More... | |
multi_vec_mut_ptr_t | mv_sub_view (const Range1D &row_rng, const Range1D &col_rng) |
Additional Inherited Members | |
Public Types inherited from AbstractLinAlgPack::MultiVectorMutable | |
typedef Teuchos::RCP < VectorMutable > | vec_mut_ptr_t |
typedef Teuchos::RCP < MultiVectorMutable > | multi_vec_mut_ptr_t |
Public Types inherited from AbstractLinAlgPack::MultiVector | |
enum | { ROW_ACCESS = 0x1, COL_ACCESS = 0x2, DIAG_ACCESS = 0x4 } |
typedef int | access_by_t |
typedef Teuchos::RCP< const Vector > | vec_ptr_t |
typedef Teuchos::RCP< const MultiVector > | multi_vec_ptr_t |
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::MultiVectorMutable | |
virtual multi_vec_mut_ptr_t | mv_clone () |
Clone the non-const multi-vector object. More... | |
multi_vec_mut_ptr_t | mv_sub_view (const index_type &rl, const index_type &ru, const index_type &cl, const index_type &cu) |
Inlined implementation calls this->mv_sub_view(Range1D(rl,ru),Range1D(cl,cu)) . More... | |
void | zero_out () |
void | Mt_S (value_type alpha) |
bool | Mp_StM (MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const |
bool | Mp_StM (value_type alpha, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs) |
multi_vec_ptr_t | mv_clone () const |
vec_ptr_t | col (index_type j) const |
vec_ptr_t | row (index_type i) const |
vec_ptr_t | diag (int k) const |
multi_vec_ptr_t | mv_sub_view (const Range1D &row_rng, const Range1D &col_rng) const |
Public Member Functions inherited from AbstractLinAlgPack::MultiVector | |
multi_vec_ptr_t | mv_sub_view (const index_type &rl, const index_type &ru, const index_type &cl, const index_type &cu) const |
Inlined implementation calls this->mv_sub_view(Range1D(rl,ru),Range1D(cl,cu)) . More... | |
mat_ptr_t | clone () const |
Returns this->mv_clone() More... | |
mat_ptr_t | sub_view (const Range1D &row_rng, const Range1D &col_rng) const |
Returns this->mv_sub_view(row_rng,col_rng) casted to a MatrixOp. More... | |
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 |
Provides a specialized implementation for mwo_rhs1 of type MatrixSymDiag . More... | |
Public Member Functions inherited from AbstractLinAlgPack::MatrixOp | |
virtual std::ostream & | output (std::ostream &out) const |
Virtual output function. 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... | |
virtual size_type | rows () const |
Return the number of rows in the matrix. More... | |
virtual size_type | cols () const |
Return the number of columns in the matrix. More... | |
virtual size_type | nz () const |
Return the number of nonzero elements in the matrix. More... | |
Public Member Functions inherited from AbstractLinAlgPack::MatrixOpThyra | |
MatrixOpThyra () | |
Construct to uninitialized. More... | |
MatrixOpThyra (const Teuchos::RCP< const Thyra::LinearOpBase< value_type > > &thyra_linear_op, BLAS_Cpp::Transp thyra_linear_op_trans=BLAS_Cpp::no_trans) | |
Calls this->initialize() . More... | |
virtual void | initialize (const Teuchos::RCP< const Thyra::LinearOpBase< value_type > > &thyra_linear_op, BLAS_Cpp::Transp thyra_linear_op_trans=BLAS_Cpp::no_trans) |
Initalize given a smart pointer to a Thyra::LinearOpBase object. More... | |
Teuchos::RCP< const Thyra::LinearOpBase < value_type > > | set_uninitialized () |
Set to uninitialized and return smart pointer to the internal Thyra::VectorBase object. More... | |
const Teuchos::RCP< const Thyra::LinearOpBase < value_type > > & | thyra_linear_op () const |
Return a (converted) smart pointer to the internal smart pointer to the Thyra::VectorBase object. More... | |
BLAS_Cpp::Transp | thyra_linear_op_trans () const |
const VectorSpace & | space_cols () const |
const VectorSpace & | space_rows () const |
Protected Member Functions inherited from AbstractLinAlgPack::MultiVector | |
Protected Member Functions inherited from AbstractLinAlgPack::MatrixOp | |
virtual 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 |
mwo_lhs += alpha * op(M_rhs) * op(P_rhs). 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 (MatrixOp *mwo_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans, BLAS_Cpp::Transp M_trans) const |
mwo_lhs += alpha * op(P_rhs) * op(M_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 (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 |
mwo_lhs += alpha * op(P_rhs1) * op(M_rhs) * op(P_rhs2). 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 void | Vp_StMtV (VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta) const |
v_lhs = alpha * op(M_rhs1) * sv_rhs2 + beta * v_lhs (BLAS xGEMV) More... | |
virtual void | Vp_StPtMtV (VectorMutable *v_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 |
v_lhs = alpha * op(P_rhs1) * op(M_rhs2) * v_rhs3 + beta * v_rhs More... | |
virtual void | Vp_StPtMtV (VectorMutable *v_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 |
v_lhs = alpha * op(P_rhs1) * op(M_rhs2) * sv_rhs3 + beta * v_rhs More... | |
virtual value_type | transVtMtV (const Vector &v_rhs1, BLAS_Cpp::Transp trans_rhs2, const Vector &v_rhs3) const |
result = v_rhs1' * op(M_rhs2) * v_rhs3 More... | |
virtual value_type | transVtMtV (const SpVectorSlice &sv_rhs1, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3) const |
result = sv_rhs1' * op(M_rhs2) * sv_rhs3 More... | |
virtual 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 |
Perform a specialized rank-2k update of a dense symmetric matrix of the form: 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 (BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta, MatrixSymOp *sym_lhs) const |
Perform a rank-k update of a symmetric matrix of the form: 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... | |
MultiVectorMutable
adapter subclass for Thyra::MultiVectorBase
.
Definition at line 53 of file AbstractLinAlgPack_MultiVectorMutableThyra.hpp.
AbstractLinAlgPack::MultiVectorMutableThyra::MultiVectorMutableThyra | ( | ) |
Construct to uninitialized.
Postconditioins:
this->thyra_vec().get() == NULL
MatrixOpThyra::MatrixOpThyra()
Definition at line 53 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
AbstractLinAlgPack::MultiVectorMutableThyra::MultiVectorMutableThyra | ( | const Teuchos::RCP< Thyra::MultiVectorBase< value_type > > & | thyra_multi_vec | ) |
Calls this->initialize()
.
Definition at line 56 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
void AbstractLinAlgPack::MultiVectorMutableThyra::initialize | ( | const Teuchos::RCP< Thyra::MultiVectorBase< value_type > > & | thyra_multi_vec | ) |
Initalize given a smart pointer to a Thyra::MultiVectorBase
object.
thyra_multi_vec | [in] Smart pointer to Thyra vector this will adapt. |
Preconditioins:
thyra_multi_vec.get() != NULL
(throw std::invalid_argument
) Postconditioins:
this->thyra_multi_vec().get() == thyra_multi_vec.get()
MatrixOpThyra::initialize()
Definition at line 63 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
Teuchos::RCP< Thyra::MultiVectorBase< value_type > > AbstractLinAlgPack::MultiVectorMutableThyra::set_uninitialized | ( | ) |
Set to uninitialized and return smart pointer to the internal Thyra::LinearOpBase
object.
Postconditioins:
this->thyra_multi_vec().get() == NULL
Note that his nonvirtual function hides the nonvirtual function MatrixOpThyra::set_uninitialized()
.
Definition at line 76 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
Teuchos::RCP< const Thyra::MultiVectorBase< value_type > > AbstractLinAlgPack::MultiVectorMutableThyra::thyra_multi_vec | ( | ) | const |
Return a smart pointer to the internal Thyra::LinearOpBase
object.
Definition at line 85 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
void AbstractLinAlgPack::MultiVectorMutableThyra::initialize | ( | const Teuchos::RCP< const Thyra::LinearOpBase< value_type > > & | thyra_linear_op | ) |
Performs a const_cast<> and dynamic_cast<> and passes on to this->initialize()
.
Definition at line 92 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Overridden to call MatrixOpThyra::clone()
Reimplemented from AbstractLinAlgPack::MultiVectorMutable.
Definition at line 107 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Overridden to call MultiVectorMutable::operator=()
Reimplemented from AbstractLinAlgPack::MultiVectorMutable.
Definition at line 112 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Overridden to call MatrixOpThyra::Vp_StMtV()
Reimplemented from AbstractLinAlgPack::MatrixOpThyra.
Definition at line 117 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Overridden to call MatrixOpThyra::Mp_StMtM()
Reimplemented from AbstractLinAlgPack::MatrixOpThyra.
Definition at line 125 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Returns COL_ACCESS
Implements AbstractLinAlgPack::MultiVector.
Definition at line 138 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Reimplemented from AbstractLinAlgPack::MultiVector.
Definition at line 143 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Reimplemented from AbstractLinAlgPack::MultiVector.
Definition at line 160 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Implements AbstractLinAlgPack::MultiVectorMutable.
Definition at line 180 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
return.get()==NULL
Implements AbstractLinAlgPack::MultiVectorMutable.
Definition at line 186 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
return.get()==NULL
Implements AbstractLinAlgPack::MultiVectorMutable.
Definition at line 192 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
virtual |
Reimplemented from AbstractLinAlgPack::MultiVectorMutable.
Definition at line 198 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.
|
private |
Definition at line 213 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.