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