ParGeMSLR
|
Class of matvec EB^{-1}FC^{-1}. More...
#include <gemslr.hpp>
Public Member Functions | |
GemslrEBFCMatrixClass () | |
The constructor of GemslrEBFCMatrixClass. More... | |
virtual | ~GemslrEBFCMatrixClass () |
The destructor of GemslrEBFCMatrixClass. More... | |
GemslrEBFCMatrixClass (const GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > &precond) | |
The copy constructor of GemslrEBFCMatrixClass. More... | |
GemslrEBFCMatrixClass (GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > &&precond) | |
The move constructor of GemslrEBFCMatrixClass. More... | |
GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > & | operator= (const GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > &precond) |
The operator = of GemslrEBFCMatrixClass. More... | |
GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > & | operator= (GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > &&precond) |
The operator = of GemslrEBFCMatrixClass. More... | |
int | Setup (int level, GemslrClass< MatrixType, VectorType, DataType > &gemslr) |
Set the current matrix to a certain GEMSLR level. More... | |
int | SetupVectorPtrStr (VectorType &v) |
Set the structure of a vector pointer that has same row partition as this matrix. More... | |
int | Clear () |
Free the current matrix. More... | |
int | GetNumRowsLocal () |
Get the local number of rows of the matrix. More... | |
int | GetNumColsLocal () |
Get the local number of columns of the matrix. More... | |
int | MatVec (char trans, const DataType &alpha, VectorType &x, const DataType &beta, VectorType &y) |
In place csr Matrix-Vector product ==> y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y. More... | |
int | GetMpiInfo (int &np, int &myid, MPI_Comm &comm) const |
Get comm, np, and myid. Get the global one. More... | |
MPI_Comm | GetComm () const |
Get the MPI_comm. More... | |
int | GetDataLocation () const |
Get the data location of the matrix. More... | |
Public Attributes | |
VectorType | _temp_v |
Temp vector for the Arnoldi. More... | |
Class of matvec EB^{-1}FC^{-1}.
template pargemslr::precond_gemslrebfc_csr_seq_complexd::GemslrEBFCMatrixClass | ( | ) |
The constructor of GemslrEBFCMatrixClass. The default memory location is the host memory.
|
virtual |
The destructor of GemslrEBFCMatrixClass. Simply a call to the free function.
pargemslr::GemslrEBFCMatrixClass< MatrixType, VectorType, DataType >::GemslrEBFCMatrixClass | ( | const GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > & | precond | ) |
The copy constructor of GemslrEBFCMatrixClass.
pargemslr::GemslrEBFCMatrixClass< MatrixType, VectorType, DataType >::GemslrEBFCMatrixClass | ( | GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > && | precond | ) |
The move constructor of GemslrEBFCMatrixClass.
template int pargemslr::precond_gemslrebfc_csr_seq_complexd::Clear | ( | ) |
Free the current matrix.
|
inline |
Get the MPI_comm.
|
inline |
Get the data location of the matrix.
|
inline |
Get comm, np, and myid. Get the global one.
[in] | np | The number of processors. |
[in] | myid | The local MPI rank number. |
[in] | comm | The MPI_Comm. |
template int pargemslr::precond_gemslrebfc_csr_seq_complexd::GetNumColsLocal | ( | ) |
Get the local number of columns of the matrix.
template int pargemslr::precond_gemslrebfc_csr_seq_complexd::GetNumRowsLocal | ( | ) |
Get the local number of rows of the matrix.
int pargemslr::GemslrEBFCMatrixClass< MatrixType, VectorType, DataType >::MatVec | ( | char | trans, |
const DataType & | alpha, | ||
VectorType & | x, | ||
const DataType & | beta, | ||
VectorType & | y | ||
) |
In place csr Matrix-Vector product ==> y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y.
[in] | trans | Whether or not transpose matrix A. |
[in] | alpha | The alpha value. |
[in] | x | The left vector. |
[in] | beta | The beta value. |
[in,out] | y | The product vector. |
GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > & pargemslr::GemslrEBFCMatrixClass< MatrixType, VectorType, DataType >::operator= | ( | const GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > & | precond | ) |
The operator = of GemslrEBFCMatrixClass.
GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > & pargemslr::GemslrEBFCMatrixClass< MatrixType, VectorType, DataType >::operator= | ( | GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > && | precond | ) |
The operator = of GemslrEBFCMatrixClass.
int pargemslr::GemslrEBFCMatrixClass< MatrixType, VectorType, DataType >::Setup | ( | int | level, |
GemslrClass< MatrixType, VectorType, DataType > & | gemslr | ||
) |
Set the current matrix to a certain GEMSLR level.
[in] | level | The level. |
[in] | gemslr | The GeMSLR structure. |
int pargemslr::GemslrEBFCMatrixClass< MatrixType, VectorType, DataType >::SetupVectorPtrStr | ( | VectorType & | v | ) |
Set the structure of a vector pointer that has same row partition as this matrix.
[in,out] | v | The target vector. |
VectorType pargemslr::GemslrEBFCMatrixClass< MatrixType, VectorType, DataType >::_temp_v |
Temp vector for the Arnoldi.