AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | List of all members
AbstractLinAlgPack::MultiVectorMutableDense Class Reference

MultiVectorMutable "Adapter" subclass for DenseLinAlgPack::DMatrixSlice or DenseLinAlgPack::DMatrix object. More...

#include <AbstractLinAlgPack_MultiVectorMutableDense.hpp>

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

Public Types

typedef Teuchos::RCP
< MemMngPack::ReleaseResource
release_resource_ptr_t
 
- 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  
 
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...
 

Constructors / initializers

 MultiVectorMutableDense (const size_type rows=0, const size_type cols=0)
 Calls this->initialize(rows,cols). More...
 
 MultiVectorMutableDense (DMatrixSlice gms, BLAS_Cpp::Transp gms_trans, const release_resource_ptr_t &gms_release)
 Calls this->initialize(gms,gms_trans,gms_release). More...
 
void initialize (const size_type rows, const size_type cols)
 Call this->initialize(v,v_release) with an allocated DenseLinAlgPack::DVector object. More...
 
void initialize (DMatrixSlice gms, BLAS_Cpp::Transp gms_trans, const release_resource_ptr_t &gms_release)
 Initialize with a dense matrix slice. More...
 

Access

DMatrixSlice set_gms ()
 Return the non-const dense matrix. More...
 
const DMatrixSlice get_gms () const
 Return a const dense matrix. More...
 
BLAS_Cpp::Transp gms_trans () const
 Return if underlying matrix is being viewed as the transpose or non-transposed. More...
 
const release_resource_ptr_tgms_release () const
 Return a RCP<> pointer to the object that will release the associated resource. More...
 

Overridden from MatrixOpGetGMS

const DMatrixSlice get_gms_view () const
 
void free_gms_view (const DMatrixSlice *gms_view) const
 

Overridden from MatrixOpGetGMSMutable

DMatrixSlice get_gms_view ()
 
void commit_gms_view (DMatrixSlice *gms_view)
 

Overridden from MatrixBase

size_type rows () const
 
size_type cols () const
 

Overridden from MatrixOp

void zero_out ()
 
void Mt_S (value_type alpha)
 
MatrixOpoperator= (const MatrixOp &mwo_rhs)
 
std::ostream & output (std::ostream &out) const
 
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)
 
bool syrk (BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta, MatrixSymOp *sym_lhs) 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 (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 from MultiVector

access_by_t access_by () const
 
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)
 
vec_mut_ptr_t diag (int k)
 
multi_vec_mut_ptr_t mv_sub_view (const Range1D &row_rng, const Range1D &col_rng)
 

Overridden from MatrixOpSerial

void Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta) const
 
void Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta) const
 

Additional Inherited Members

- 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...
 
mat_mut_ptr_t clone ()
 
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...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixOp
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 nz () const
 Return the number of nonzero elements in the matrix. More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixOpSerial
virtual void Mp_StM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const
 gms_lhs += alpha * op(M_rhs) (BLAS xAXPY) More...
 
virtual void Mp_StMtP (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans) const
 gms_lhs += alpha * op(M_rhs) * op(P_rhs) More...
 
virtual void Mp_StPtM (DMatrixSlice *gms_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans, BLAS_Cpp::Transp M_trans) const
 gms_lhs += alpha * op(P) * op(M_rhs) More...
 
virtual void Mp_StPtMtP (DMatrixSlice *gms_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
 gms_lhs += alpha * op(P_rhs1) * op(M_rhs) * op(P_rhs2) More...
 
virtual void Vp_StPtMtV (DVectorSlice *vs_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_rhs2_trans, const DVectorSlice &vs_rhs3, value_type beta) const
 vs_lhs = alpha * op(P_rhs1) * op(M_rhs2) * vs_rhs3 + beta * vs_rhs More...
 
virtual void Vp_StPtMtV (DVectorSlice *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
 vs_lhs = alpha * op(P_rhs1) * op(M_rhs2) * sv_rhs3 + beta * vs_rhs More...
 
virtual value_type transVtMtV (const DVectorSlice &vs_rhs1, BLAS_Cpp::Transp trans_rhs2, const DVectorSlice &vs_rhs3) const
 result = vs_rhs1' * op(M_rhs2) * vs_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, DMatrixSliceSym *sym_lhs) const
 Perform a specialized rank-2k update of a dense symmetric matrix of the form: More...
 
virtual void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DMatrixSlice &gms_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 gms_lhs = alpha * op(M_rhs1) * op(gms_rhs2) + beta * gms_lhs (right) (xGEMM) More...
 
virtual void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const DMatrixSlice &gms_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 gms_lhs = alpha * op(gms_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xGEMM) More...
 
virtual void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOpSerial &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 gms_lhs = alpha * op(M_rhs1) * op(mwo_rhs2) + beta * gms_lhs (right) (xGEMM) More...
 
virtual void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DMatrixSliceSym &sym_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 gms_lhs = alpha * op(M_rhs1) * op(sym_rhs2) + beta * gms_lhs (right) (xSYMM) More...
 
virtual void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const DMatrixSliceSym &sym_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 gms_lhs = alpha * op(sym_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xSYMM) More...
 
virtual void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DMatrixSliceTri &tri_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 gms_lhs = alpha * op(M_rhs1) * op(tri_rhs2) + beta * gms_lhs (right) (xTRMM) More...
 
virtual void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const DMatrixSliceTri &tri_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 gms_lhs = alpha * op(tri_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xTRMM) More...
 
virtual void syrk (BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta, DMatrixSliceSym *sym_lhs) const
 Perform a rank-k update of a dense symmetric matrix of the form: More...
 
const VectorSpacespace_cols () const
 
const VectorSpacespace_rows () 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
 
void Vp_StMtV (VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const
 
void Vp_StMtV (VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta) const
 
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
 
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
 
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
 
- Protected Member Functions inherited from AbstractLinAlgPack::MultiVector
virtual 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
 Apply a reduction/transformation operator row by row, or column by column and return an array of the reduction objects. More...
 
virtual 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
 Apply a reduction/transformation operator row by row, or column by column and reduce the intermediate reduction objects into one reduction object. More...
 
- Protected Member Functions inherited from AbstractLinAlgPack::MatrixOp
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 (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 (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 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 (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 DenseLinAlgPack::DMatrixSlice or DenseLinAlgPack::DMatrix object.

This class can be used either as a view of a DenseLinAlgPack::DMatrixSlice object or as a storage type for a DenseLinAlgPack::DMatrix object.

To create a storage type with the dimensions of rows x cols just call the constructor MatrixWithOpMutableDense(rows,cols) or after construction you can call this->initialize(rows,cols).

To simply create a view of a matrix or its transpose, say M, without ownership just call MatrixWithOpMutableDense(M(),M_trans,NULL) or after construction call this->initialize(M(),M_trans,NULL).

Alternately, this can be given a matrix with the responsibility to delete any associated memory by calling this->initialize() with a ReleaseResource object to perform the deallocation.

If this has been initialized by this->initialize(rows,cols) and if the client really needs to get at the DenseLinAlgPack::DMatrix object itself, then it can be obtained as:

DMatrix* f( MultiVectorMutableDense* M )
{
return dynamic_cast<MemMngPack::ReleaseResource_ref_count_ptr<DMatrix&> >(*M.gms_release()).ptr.get();
}

This is not pretty but it is not supposed to be. Of course the above function will return NULL the dynamic_cast<> fails or if there is no allocated DMatrix object to get.

Definition at line 83 of file AbstractLinAlgPack_MultiVectorMutableDense.hpp.

Member Typedef Documentation

Constructor & Destructor Documentation

AbstractLinAlgPack::MultiVectorMutableDense::MultiVectorMutableDense ( const size_type  rows = 0,
const size_type  cols = 0 
)

Calls this->initialize(rows,cols).

Definition at line 58 of file AbstractLinAlgPack_MultiVectorMutableDense.cpp.

AbstractLinAlgPack::MultiVectorMutableDense::MultiVectorMutableDense ( DMatrixSlice  gms,
BLAS_Cpp::Transp  gms_trans,
const release_resource_ptr_t gms_release 
)

Calls this->initialize(gms,gms_trans,gms_release).

Definition at line 66 of file AbstractLinAlgPack_MultiVectorMutableDense.cpp.

Member Function Documentation

void AbstractLinAlgPack::MultiVectorMutableDense::initialize ( const size_type  rows,
const size_type  cols 
)

Call this->initialize(v,v_release) with an allocated DenseLinAlgPack::DVector object.

Definition at line 75 of file AbstractLinAlgPack_MultiVectorMutableDense.cpp.

void AbstractLinAlgPack::MultiVectorMutableDense::initialize ( DMatrixSlice  gms,
BLAS_Cpp::Transp  gms_trans,
const release_resource_ptr_t gms_release 
)

Initialize with a dense matrix slice.

Note that solve of the method overrides have to allocate a temporary memory if gms_trans != no_trans (see get_gms_view() and output()).

Postconditions:

  • this->rows() = ( gms_trans = no_trans ? gms.rows() : gms.cols())
  • this->cols() = ( gms_trans = no_trans ? gms.cols() : gms.rows())

Definition at line 95 of file AbstractLinAlgPack_MultiVectorMutableDense.cpp.

DMatrixSlice AbstractLinAlgPack::MultiVectorMutableDense::set_gms ( )
inline

Return the non-const dense matrix.

Note that calling this method may result in the matrix implementation being modified. Therefore, no other methods on this object should be called until the DMatrixSlice returned from this method is discarded.

Definition at line 309 of file AbstractLinAlgPack_MultiVectorMutableDense.hpp.

const DMatrixSlice AbstractLinAlgPack::MultiVectorMutableDense::get_gms ( ) const
inline

Return a const dense matrix.

Definition at line 316 of file AbstractLinAlgPack_MultiVectorMutableDense.hpp.

BLAS_Cpp::Transp AbstractLinAlgPack::MultiVectorMutableDense::gms_trans ( ) const
inline

Return if underlying matrix is being viewed as the transpose or non-transposed.

Definition at line 323 of file AbstractLinAlgPack_MultiVectorMutableDense.hpp.

const MultiVectorMutableDense::release_resource_ptr_t & AbstractLinAlgPack::MultiVectorMutableDense::gms_release ( ) const
inline

Return a RCP<> pointer to the object that will release the associated resource.

Definition at line 330 of file AbstractLinAlgPack_MultiVectorMutableDense.hpp.

const DMatrixSlice AbstractLinAlgPack::MultiVectorMutableDense::get_gms_view ( ) const
virtual
void AbstractLinAlgPack::MultiVectorMutableDense::free_gms_view ( const DMatrixSlice gms_view) const
virtual
DMatrixSlice AbstractLinAlgPack::MultiVectorMutableDense::get_gms_view ( )
void AbstractLinAlgPack::MultiVectorMutableDense::commit_gms_view ( DMatrixSlice gms_view)
size_type AbstractLinAlgPack::MultiVectorMutableDense::rows ( ) const
virtual
size_type AbstractLinAlgPack::MultiVectorMutableDense::cols ( ) const
virtual
void AbstractLinAlgPack::MultiVectorMutableDense::zero_out ( )
virtual
void AbstractLinAlgPack::MultiVectorMutableDense::Mt_S ( value_type  alpha)
virtual
MatrixOp & AbstractLinAlgPack::MultiVectorMutableDense::operator= ( const MatrixOp mwo_rhs)
virtual
std::ostream & AbstractLinAlgPack::MultiVectorMutableDense::output ( std::ostream &  out) const
virtual
bool AbstractLinAlgPack::MultiVectorMutableDense::Mp_StM ( MatrixOp mwo_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs 
) const
virtual
bool AbstractLinAlgPack::MultiVectorMutableDense::Mp_StM ( value_type  alpha,
const MatrixOp M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)
virtual
bool AbstractLinAlgPack::MultiVectorMutableDense::syrk ( BLAS_Cpp::Transp  M_trans,
value_type  alpha,
value_type  beta,
MatrixSymOp sym_lhs 
) const
virtual
bool AbstractLinAlgPack::MultiVectorMutableDense::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 270 of file AbstractLinAlgPack_MultiVectorMutableDense.cpp.

bool AbstractLinAlgPack::MultiVectorMutableDense::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
MultiVectorMutableDense::access_by_t AbstractLinAlgPack::MultiVectorMutableDense::access_by ( ) const
virtual
MultiVectorMutableDense::vec_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableDense::col ( index_type  j)
virtual
MultiVectorMutableDense::vec_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableDense::row ( index_type  i)
virtual
MultiVectorMutableDense::vec_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableDense::diag ( int  k)
virtual
MultiVectorMutableDense::multi_vec_mut_ptr_t AbstractLinAlgPack::MultiVectorMutableDense::mv_sub_view ( const Range1D row_rng,
const Range1D col_rng 
)
virtual
void AbstractLinAlgPack::MultiVectorMutableDense::Vp_StMtV ( DVectorSlice vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice vs_rhs2,
value_type  beta 
) const
virtual
void AbstractLinAlgPack::MultiVectorMutableDense::Vp_StMtV ( DVectorSlice vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice sv_rhs2,
value_type  beta 
) const
virtual
void AbstractLinAlgPack::MultiVectorMutableDense::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
protected
void AbstractLinAlgPack::MultiVectorMutableDense::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
protected

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