MatrixProd
This class is used to the Matrix by vector Product. More…
#include "MatrixProd.h"
Inherited by DSMat, IDMat, MatList, Preconditioner
Public Functions
Name | |
---|---|
void | copy_MatrixProd(MatrixProd & other) Copy members. |
MatrixProd & | operator=(MatrixProd & other) Copy operator. |
bool | get_Prepared_flag() const Get flag for MxV prepare. |
iReg | get_nRHS_prep() const Get the number of rhs the matrix is prepared for. |
virtual iReg | get_nrows() const =0 Retrieve the number of rows. |
virtual iGlo | Get_Globalnrows() const =0 Retrieve the global number of rows. |
virtual void | Prepare_MxV(const iReg nRHS) =0 Create all the data structure needed for MxV. |
virtual void | UndoPrepare_MxV() =0 Undo the data structure necessary for MxV. |
virtual void | MxV(DDMat &restrict x, DDMat &restrict b, bool Barrier_flag) =0 Computes the Matrix by vector Product. |
virtual | ~MatrixProd() =0 Deletes the object. |
Protected Attributes
Name | |
---|---|
bool | Prepared_flag flag for MxV prepare. |
iReg | nRHS_prep number of rhs the matrix is prepared for |
Detailed Description
class MatrixProd;
This class is used to the Matrix by vector Product.
class MatrixProd.
Public Functions Documentation
function copy_MatrixProd
inline void copy_MatrixProd(
MatrixProd & other
)
Copy members.
function operator=
inline MatrixProd & operator=(
MatrixProd & other
)
Copy operator.
function get_Prepared_flag
inline bool get_Prepared_flag() const
Get flag for MxV prepare.
function get_nRHS_prep
inline iReg get_nRHS_prep() const
Get the number of rhs the matrix is prepared for.
function get_nrows
virtual iReg get_nrows() const =0
Retrieve the number of rows.
Reimplemented by: Jacobi::get_nrows, MatList::get_nrows, IDMat::get_nrows, aFSAI::get_nrows, aAMG::get_nrows, DSMat::get_nrows, Preconditioner::get_nrows
function Get_Globalnrows
virtual iGlo Get_Globalnrows() const =0
Retrieve the global number of rows.
Reimplemented by: Jacobi::Get_Globalnrows, MatList::Get_Globalnrows, IDMat::Get_Globalnrows, aFSAI::Get_Globalnrows, aAMG::Get_Globalnrows, DSMat::Get_Globalnrows, Preconditioner::Get_Globalnrows
function Prepare_MxV
virtual void Prepare_MxV(
const iReg nRHS
) =0
Create all the data structure needed for MxV.
Parameters:
- nRHS number of Right Hand Sides.
Reimplemented by: Jacobi::Prepare_MxV, MatList::Prepare_MxV, IDMat::Prepare_MxV, aFSAI::Prepare_MxV, aAMG::Prepare_MxV, DSMat::Prepare_MxV, Preconditioner::Prepare_MxV
function UndoPrepare_MxV
virtual void UndoPrepare_MxV() =0
Undo the data structure necessary for MxV.
Reimplemented by: Jacobi::UndoPrepare_MxV, MatList::UndoPrepare_MxV, IDMat::UndoPrepare_MxV, aFSAI::UndoPrepare_MxV, aAMG::UndoPrepare_MxV, DSMat::UndoPrepare_MxV, Preconditioner::UndoPrepare_MxV
function MxV
virtual void MxV(
DDMat &__restrict__ x,
DDMat &__restrict__ b,
bool Barrier_flag
) =0
Computes the Matrix by vector Product.
Parameters:
- x vector that multiplies the matrix.
- b vector where result is stored.
- Barrier_flag if true global Barrier is called before return.
Reimplemented by: Jacobi::MxV, aFSAI::MxV, aAMG::MxV, Preconditioner::MxV, MatList::MxV, IDMat::MxV, DSMat::MxV
function ~MatrixProd
virtual ~MatrixProd() =0
Deletes the object.
Protected Attributes Documentation
variable Prepared_flag
bool Prepared_flag = false;
flag for MxV prepare.
variable nRHS_prep
iReg nRHS_prep = 0;
number of rhs the matrix is prepared for
Updated on 12 February 2021 at 11:59:50 CET