|
MOOCHO (Single Doxygen Collection)
Version of the Day
|
MatrixOp adapter subclass for Thyra::LinearOpBase.
More...
#include <AbstractLinAlgPack_MatrixOpThyra.hpp>

Private Attributes | |
| Thyra::LinearOpBase< value_type > * | thyra_linear_op |
| BLAS_Cpp::Transp | thyra_linear_op_trans_ |
| VectorSpaceThyra | space_cols_ |
| VectorSpaceThyra | space_rows_ |
Constructors / Initializers | |
| 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 |
Overridden from MatrixBase | |
| const VectorSpace & | space_cols () const |
| const VectorSpace & | space_rows () const |
Overridden from MatrixOp | |
| mat_mut_ptr_t | clone () |
| MatrixOp & | operator= (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. More... | |
Additional Inherited Members | |
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::MatrixOp | |
| virtual void | zero_out () |
| M_lhs = 0 : Zero out the matrix. More... | |
| virtual void | Mt_S (value_type alpha) |
| M_lhs *= alpha : Multiply a matrix by a scalar. More... | |
| virtual mat_ptr_t | clone () const |
| Clone the const matrix object (if supported). More... | |
| 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... | |
| virtual mat_ptr_t | sub_view (const Range1D &row_rng, const Range1D &col_rng) const |
| Create a transient constant sub-matrix view of this matrix (if supported). 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... | |
Protected Member Functions inherited from AbstractLinAlgPack::MatrixOp | |
| virtual bool | Mp_StM (MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const |
| mwo_lhs += alpha * op(M_rhs) (BLAS xAXPY). More... | |
| virtual bool | Mp_StM (value_type alpha, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs) |
| M_lhs += alpha * op(mwo_rhs) (BLAS xAXPY). More... | |
| 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 (MatrixOp *mwo_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2, value_type beta) const |
| mwo_lhs = alpha * op(mwo_rhs1) * op(M_rhs2) + beta * mwo_lhs (right) (xGEMM) 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... | |
MatrixOp adapter subclass for Thyra::LinearOpBase.
Definition at line 53 of file AbstractLinAlgPack_MatrixOpThyra.hpp.
| AbstractLinAlgPack::MatrixOpThyra::MatrixOpThyra | ( | ) |
Construct to uninitialized.
Postconditioins:
this->thyra_linear_op().get() == NULL this->rows() == 0 this->cols() == 0 Definition at line 54 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 57 of file AbstractLinAlgPack_MatrixOpThyra.cpp.
|
virtual |
Initalize given a smart pointer to a Thyra::LinearOpBase object.
| 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 65 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 Definition at line 88 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.
|
inline |
Definition at line 169 of file AbstractLinAlgPack_MatrixOpThyra.hpp.
|
virtual |
Implements AbstractLinAlgPack::MatrixBase.
Definition at line 101 of file AbstractLinAlgPack_MatrixOpThyra.cpp.
|
virtual |
Implements AbstractLinAlgPack::MatrixBase.
Definition at line 107 of file AbstractLinAlgPack_MatrixOpThyra.cpp.
|
virtual |
Reimplemented from AbstractLinAlgPack::MatrixOp.
Reimplemented in AbstractLinAlgPack::MultiVectorMutableThyra.
Definition at line 115 of file AbstractLinAlgPack_MatrixOpThyra.cpp.
Reimplemented from AbstractLinAlgPack::MatrixOp.
Reimplemented in AbstractLinAlgPack::MultiVectorMutableThyra.
Definition at line 120 of file AbstractLinAlgPack_MatrixOpThyra.cpp.
|
virtual |
Implements AbstractLinAlgPack::MatrixOp.
Reimplemented in AbstractLinAlgPack::MultiVectorMutableThyra.
Definition at line 131 of file AbstractLinAlgPack_MatrixOpThyra.cpp.
|
virtual |
Works for MultiVectorMutableThyra arguments.
Reimplemented from AbstractLinAlgPack::MatrixOp.
Reimplemented in AbstractLinAlgPack::MultiVectorMutableThyra.
Definition at line 156 of file AbstractLinAlgPack_MatrixOpThyra.cpp.
|
inlineprivate |
Definition at line 148 of file AbstractLinAlgPack_MatrixOpThyra.hpp.
|
private |
Definition at line 152 of file AbstractLinAlgPack_MatrixOpThyra.hpp.
|
private |
Definition at line 153 of file AbstractLinAlgPack_MatrixOpThyra.hpp.
|
private |
Definition at line 154 of file AbstractLinAlgPack_MatrixOpThyra.hpp.
1.8.6