|
ParGeMSLR
|
Class of matvec EB^{-1}FC^{-1}. More...
#include <gemslr.hpp>
Public Member Functions | |
| GemslrSchurMatrixClass () | |
| The constructor of GemslrEBFCMatrixClass. More... | |
| virtual | ~GemslrSchurMatrixClass () |
| The destructor of GemslrEBFCMatrixClass. More... | |
| GemslrSchurMatrixClass (const GemslrSchurMatrixClass< MatrixType, VectorType, DataType > &precond) | |
| The copy constructor of GemslrSchurMatrixClass. More... | |
| GemslrSchurMatrixClass (GemslrSchurMatrixClass< MatrixType, VectorType, DataType > &&precond) | |
| The move constructor of GemslrSchurMatrixClass. More... | |
| GemslrSchurMatrixClass< MatrixType, VectorType, DataType > & | operator= (const GemslrSchurMatrixClass< MatrixType, VectorType, DataType > &precond) |
| The operator = of GemslrSchurMatrixClass. More... | |
| GemslrSchurMatrixClass< MatrixType, VectorType, DataType > & | operator= (GemslrSchurMatrixClass< MatrixType, VectorType, DataType > &&precond) |
| The operator = of GemslrSchurMatrixClass. 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 | 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 | Solve (VectorType &x, VectorType &rhs) |
| Solve phase. Call this function after Setup. Solve with cusparse if unified memory/device memory is used. 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... | |
Public Attributes | |
| VectorType | _temp_v |
| Temp vector for the Arnoldi. More... | |
Class of matvec EB^{-1}FC^{-1}.
| template pargemslr::precond_gemslr_schur_seq_complexd::GemslrSchurMatrixClass | ( | ) |
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::GemslrSchurMatrixClass< MatrixType, VectorType, DataType >::GemslrSchurMatrixClass | ( | const GemslrSchurMatrixClass< MatrixType, VectorType, DataType > & | precond | ) |
The copy constructor of GemslrSchurMatrixClass.
| pargemslr::GemslrSchurMatrixClass< MatrixType, VectorType, DataType >::GemslrSchurMatrixClass | ( | GemslrSchurMatrixClass< MatrixType, VectorType, DataType > && | precond | ) |
The move constructor of GemslrSchurMatrixClass.
| template int pargemslr::precond_gemslr_schur_seq_complexd::Clear | ( | ) |
Free the current matrix.
|
inline |
Get the MPI_comm.
|
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. |
| int pargemslr::GemslrSchurMatrixClass< 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. |
| GemslrSchurMatrixClass< MatrixType, VectorType, DataType > & pargemslr::GemslrSchurMatrixClass< MatrixType, VectorType, DataType >::operator= | ( | const GemslrSchurMatrixClass< MatrixType, VectorType, DataType > & | precond | ) |
The operator = of GemslrSchurMatrixClass.
| GemslrSchurMatrixClass< MatrixType, VectorType, DataType > & pargemslr::GemslrSchurMatrixClass< MatrixType, VectorType, DataType >::operator= | ( | GemslrSchurMatrixClass< MatrixType, VectorType, DataType > && | precond | ) |
The operator = of GemslrSchurMatrixClass.
| int pargemslr::GemslrSchurMatrixClass< 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::GemslrSchurMatrixClass< 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. |
| int pargemslr::GemslrSchurMatrixClass< MatrixType, VectorType, DataType >::Solve | ( | VectorType & | x, |
| VectorType & | rhs | ||
| ) |
Solve phase. Call this function after Setup. Solve with cusparse if unified memory/device memory is used.
| [in,out] | x | The initial guess. |
| [in] | rhs | The right-hand-side. |
| VectorType pargemslr::GemslrSchurMatrixClass< MatrixType, VectorType, DataType >::_temp_v |
Temp vector for the Arnoldi.
1.8.18