|
MOOCHO (Single Doxygen Collection)
Version of the Day
|
Implementation of MatrixOp abstract interface for COOMatrixWithPartitionedView::partition_type. More...
#include <AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp>

Public Types | |
| typedef COOMatrixWithPartitionedView::partition_type | M |
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 | |
| COOMatrixPartitionViewSubclass () | |
| COOMatrixPartitionViewSubclass (BLAS_Cpp::Transp trans) | |
| COOMatrixPartitionViewSubclass (const M &m) | |
| COOMatrixPartitionViewSubclass (const M &m, BLAS_Cpp::Transp trans) | |
| void | set_trans (BLAS_Cpp::Transp trans) |
| size_type | rows () const |
| size_type | cols () const |
| MatrixOp & | operator= (const MatrixOp &m) |
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_mut_ptr_t | clone () |
| Clone the non-const matrix object (if supported). 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 const VectorSpace & | space_cols () const =0 |
| Vector space for vectors that are compatible with the columns of the matrix. More... | |
| virtual const VectorSpace & | space_rows () const =0 |
| Vector space for vectors that are compatible with the rows of the matrix. More... | |
| virtual size_type | nz () const |
| Return the number of nonzero elements in the matrix. More... | |
Private Member Functions | |
| BLAS_Cpp::Transp | op (BLAS_Cpp::Transp trans) const |
Private Attributes | |
| M | m_ |
| BLAS_Cpp::Transp | trans_ |
Representation access | |
| M & | m () |
| Get the underlying M object. More... | |
| const M & | m () const |
Level-1 BLAS | |
| void | Mp_StM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const |
| (1) gms_lhs += alpha * op(M_rhs) (BLAS xAXPY) More... | |
Level-2 BLAS | |
| void | Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta) const |
| (2) vs_lhs = alpha * op(M_rhs1) * vs_rhs2 + beta * vs_lhs (BLAS xGEMV) More... | |
| void | Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta) const |
| (3) vs_lhs = alpha * op(M_rhs1) * sv_rhs2 + beta * vs_lhs (BLAS xGEMV) More... | |
| value_type | transVtMtV (const DVectorSlice &vs_rhs1, BLAS_Cpp::Transp trans_rhs2, const DVectorSlice &vs_rhs3) const |
| (4) result = vs_rhs1' * op(M_rhs2) * vs_rhs3 More... | |
| value_type | transVtMtV (const SpVectorSlice &sv_rhs1, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3) const |
| (5) result = sv_rhs1' * op(M_rhs2) * sv_rhs3 More... | |
Level-3 BLAS | |
| 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 |
| (6) gms_lhs = alpha * op(M_rhs1) * op(gms_rhs2) + beta * gms_lhs (right) (xGEMM) More... | |
| 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 |
| (7) gms_lhs = alpha * op(gms_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xGEMM) More... | |
Implementation of MatrixOp abstract interface for COOMatrixWithPartitionedView::partition_type.
Definition at line 56 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
| typedef COOMatrixWithPartitionedView::partition_type AbstractLinAlgPack::COOMatrixPartitionViewSubclass::M |
Definition at line 61 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
inline |
Definition at line 64 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
inline |
Definition at line 69 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
inline |
Definition at line 74 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
inline |
Definition at line 79 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
inline |
Definition at line 84 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
inline |
Get the underlying M object.
Definition at line 93 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
inline |
Definition at line 98 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
virtual |
Reimplemented from AbstractLinAlgPack::MatrixBase.
|
virtual |
Reimplemented from AbstractLinAlgPack::MatrixBase.
|
virtual |
Reimplemented from AbstractLinAlgPack::MatrixOp.
| void AbstractLinAlgPack::COOMatrixPartitionViewSubclass::Mp_StM | ( | DMatrixSlice * | gms_lhs, |
| value_type | alpha, | ||
| BLAS_Cpp::Transp | trans_rhs | ||
| ) | const |
(1) gms_lhs += alpha * op(M_rhs) (BLAS xAXPY)
| void AbstractLinAlgPack::COOMatrixPartitionViewSubclass::Vp_StMtV | ( | DVectorSlice * | vs_lhs, |
| value_type | alpha, | ||
| BLAS_Cpp::Transp | trans_rhs1, | ||
| const DVectorSlice & | vs_rhs2, | ||
| value_type | beta | ||
| ) | const |
(2) vs_lhs = alpha * op(M_rhs1) * vs_rhs2 + beta * vs_lhs (BLAS xGEMV)
| void AbstractLinAlgPack::COOMatrixPartitionViewSubclass::Vp_StMtV | ( | DVectorSlice * | vs_lhs, |
| value_type | alpha, | ||
| BLAS_Cpp::Transp | trans_rhs1, | ||
| const SpVectorSlice & | sv_rhs2, | ||
| value_type | beta | ||
| ) | const |
(3) vs_lhs = alpha * op(M_rhs1) * sv_rhs2 + beta * vs_lhs (BLAS xGEMV)
| value_type AbstractLinAlgPack::COOMatrixPartitionViewSubclass::transVtMtV | ( | const DVectorSlice & | vs_rhs1, |
| BLAS_Cpp::Transp | trans_rhs2, | ||
| const DVectorSlice & | vs_rhs3 | ||
| ) | const |
(4) result = vs_rhs1' * op(M_rhs2) * vs_rhs3
|
virtual |
(5) result = sv_rhs1' * op(M_rhs2) * sv_rhs3
Reimplemented from AbstractLinAlgPack::MatrixOp.
| void AbstractLinAlgPack::COOMatrixPartitionViewSubclass::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 |
(6) gms_lhs = alpha * op(M_rhs1) * op(gms_rhs2) + beta * gms_lhs (right) (xGEMM)
| void AbstractLinAlgPack::COOMatrixPartitionViewSubclass::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 |
(7) gms_lhs = alpha * op(gms_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xGEMM)
|
inlineprivate |
Definition at line 173 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
private |
Definition at line 170 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
|
private |
Definition at line 171 of file AbstractLinAlgPack_COOMatrixPartitionViewSubclass.hpp.
1.8.6