MOOCHO/Thyra Adapter Software Version of the Day
AbstractLinAlgPack::MatrixOpThyra Class Reference

MatrixOp adapter subclass for Thyra::LinearOpBase. More...

#include <AbstractLinAlgPack_MatrixOpThyra.hpp>

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

List of all members.

Constructors / Initializers

 MatrixOpThyra ()
 Construct to uninitialized.
 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().
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.
Teuchos::RCP< const
Thyra::LinearOpBase
< value_type > > 
set_uninitialized ()
 Set to uninitialized and return smart pointer to the internal Thyra::VectorBase object.
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.
BLAS_Cpp::Transp thyra_linear_op_trans () const
 

Overridden from MatrixBase

const VectorSpacespace_cols () const
 
const VectorSpacespace_rows () const
 

Overridden from MatrixOp

mat_mut_ptr_t clone ()
 
MatrixOpoperator= (const MatrixOp &mwo_rhs)
 
void Vp_StMtV (VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) 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
 Works for MultiVectorMutableThyra arguments.

Detailed Description

MatrixOp adapter subclass for Thyra::LinearOpBase.

Definition at line 40 of file AbstractLinAlgPack_MatrixOpThyra.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::MatrixOpThyra::MatrixOpThyra ( )

Construct to uninitialized.

Postconditioins:

  • this->thyra_linear_op().get() == NULL
  • this->rows() == 0
  • this->cols() == 0

Definition at line 41 of file AbstractLinAlgPack_MatrixOpThyra.cpp.

AbstractLinAlgPack::MatrixOpThyra::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().

Definition at line 44 of file AbstractLinAlgPack_MatrixOpThyra.cpp.


Member Function Documentation

void AbstractLinAlgPack::MatrixOpThyra::initialize ( const Teuchos::RCP< const Thyra::LinearOpBase< value_type > > &  thyra_linear_op,
BLAS_Cpp::Transp  thyra_linear_op_trans = BLAS_Cpp::no_trans 
) [virtual]

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

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

Preconditioins:

  • thyra_linear_op.get() != NULL (throw std::invalid_argument)
  • thyra_linear_op->opSupported(Thyra::NOTRANS) && thyra_linear_op->opSupported(Thyra::TRANS) (throw std::invalid_argument)

Postconditioins:

  • this->thyra_linear_op().get() == thyra_linear_op.get()
  • this->thyra_linear_op_trans() == thyra_linear_op_trans
  • this->rows() == thyra_linear_op->range()->dim()
  • this->cols() == thyra_linear_op->domain()->dim()

Definition at line 52 of file AbstractLinAlgPack_MatrixOpThyra.cpp.

Teuchos::RCP< const Thyra::LinearOpBase< value_type > > AbstractLinAlgPack::MatrixOpThyra::set_uninitialized ( )

Set to uninitialized and return smart pointer to the internal Thyra::VectorBase object.

Postconditioins:

  • this->thyra_linear_op().get() == NULL

Reimplemented in AbstractLinAlgPack::MatrixOpNonsingThyra, and AbstractLinAlgPack::MultiVectorMutableThyra.

Definition at line 75 of file AbstractLinAlgPack_MatrixOpThyra.cpp.

const Teuchos::RCP<const Thyra::LinearOpBase<value_type> >& AbstractLinAlgPack::MatrixOpThyra::thyra_linear_op ( ) const

Return a (converted) smart pointer to the internal smart pointer to the Thyra::VectorBase object.

If this->thyra_linear_op().count() == 1, then this has sole ownership of the *this->thyra_linear_op() object.

BLAS_Cpp::Transp AbstractLinAlgPack::MatrixOpThyra::thyra_linear_op_trans ( ) const [inline]

Definition at line 156 of file AbstractLinAlgPack_MatrixOpThyra.hpp.

const VectorSpace & AbstractLinAlgPack::MatrixOpThyra::space_cols ( ) const [virtual]
const VectorSpace & AbstractLinAlgPack::MatrixOpThyra::space_rows ( ) const [virtual]
MatrixOp::mat_mut_ptr_t AbstractLinAlgPack::MatrixOpThyra::clone ( ) [virtual]
MatrixOp & AbstractLinAlgPack::MatrixOpThyra::operator= ( const MatrixOp mwo_rhs) [virtual]
void AbstractLinAlgPack::MatrixOpThyra::Vp_StMtV ( VectorMutable v_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const Vector v_rhs2,
value_type  beta 
) const [virtual]
bool AbstractLinAlgPack::MatrixOpThyra::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]

Works for MultiVectorMutableThyra arguments.

Reimplemented from AbstractLinAlgPack::MatrixOp.

Reimplemented in AbstractLinAlgPack::MultiVectorMutableThyra.

Definition at line 143 of file AbstractLinAlgPack_MatrixOpThyra.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends