MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Member Functions | List of all members
AbstractLinAlgPack::MultiVectorMutableThyra Class Reference

MultiVectorMutable adapter subclass for Thyra::MultiVectorBase. More...

#include <AbstractLinAlgPack_MultiVectorMutableThyra.hpp>

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

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...
 
MatrixOpoperator= (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 VectorSpacespace_cols () const
 
const VectorSpacespace_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...
 

Detailed Description

MultiVectorMutable adapter subclass for Thyra::MultiVectorBase.

Definition at line 53 of file AbstractLinAlgPack_MultiVectorMutableThyra.hpp.

Constructor & Destructor Documentation

AbstractLinAlgPack::MultiVectorMutableThyra::MultiVectorMutableThyra ( )

Construct to uninitialized.

Postconditioins:

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.

Member Function Documentation

void AbstractLinAlgPack::MultiVectorMutableThyra::initialize ( const Teuchos::RCP< Thyra::MultiVectorBase< value_type > > &  thyra_multi_vec)

Initalize given a smart pointer to a Thyra::MultiVectorBase object.

Parameters
thyra_multi_vec[in] Smart pointer to Thyra vector this will adapt.

Preconditioins:

  • thyra_multi_vec.get() != NULL (throw std::invalid_argument)

Postconditioins:

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:

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.

MatrixOp::mat_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableThyra::clone ( )
virtual
MatrixOp & AbstractLinAlgPack::MultiVectorMutableThyra::operator= ( const MatrixOp mwo_rhs)
virtual
void AbstractLinAlgPack::MultiVectorMutableThyra::Vp_StMtV ( VectorMutable v_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const Vector v_rhs2,
value_type  beta 
) const
virtual

Overridden to call MatrixOpThyra::Vp_StMtV()

Reimplemented from AbstractLinAlgPack::MatrixOpThyra.

Definition at line 117 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.

bool AbstractLinAlgPack::MultiVectorMutableThyra::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

Overridden to call MatrixOpThyra::Mp_StMtM()

Reimplemented from AbstractLinAlgPack::MatrixOpThyra.

Definition at line 125 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.

MultiVector::access_by_t AbstractLinAlgPack::MultiVectorMutableThyra::access_by ( ) const
virtual

Returns COL_ACCESS

Implements AbstractLinAlgPack::MultiVector.

Definition at line 138 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.

void AbstractLinAlgPack::MultiVectorMutableThyra::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
virtual
void AbstractLinAlgPack::MultiVectorMutableThyra::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
virtual
MultiVectorMutable::vec_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableThyra::col ( index_type  j)
virtual
MultiVectorMutable::vec_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableThyra::row ( index_type  i)
virtual

return.get()==NULL

Implements AbstractLinAlgPack::MultiVectorMutable.

Definition at line 186 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.

MultiVectorMutable::vec_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableThyra::diag ( int  k)
virtual

return.get()==NULL

Implements AbstractLinAlgPack::MultiVectorMutable.

Definition at line 192 of file AbstractLinAlgPack_MultiVectorMutableThyra.cpp.

MultiVectorMutable::multi_vec_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableThyra::mv_sub_view ( const Range1D row_rng,
const Range1D col_rng 
)
virtual
Teuchos::RCP< Thyra::MultiVectorBase< value_type > > AbstractLinAlgPack::MultiVectorMutableThyra::cast_thyra_multi_vec ( )
private

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