|
| HypreParMatrix () |
| An empty matrix to be used as a reference to an existing matrix. More...
|
|
| HypreParMatrix (hypre_ParCSRMatrix *a, bool owner=true) |
| Converts hypre's format to HypreParMatrix. More...
|
|
| HypreParMatrix (MPI_Comm comm, HYPRE_Int glob_size, HYPRE_Int *row_starts, SparseMatrix *diag) |
| Creates block-diagonal square parallel matrix. More...
|
|
| HypreParMatrix (MPI_Comm comm, HYPRE_Int global_num_rows, HYPRE_Int global_num_cols, HYPRE_Int *row_starts, HYPRE_Int *col_starts, SparseMatrix *diag) |
| Creates block-diagonal rectangular parallel matrix. More...
|
|
| HypreParMatrix (MPI_Comm comm, HYPRE_Int global_num_rows, HYPRE_Int global_num_cols, HYPRE_Int *row_starts, HYPRE_Int *col_starts, SparseMatrix *diag, SparseMatrix *offd, HYPRE_Int *cmap) |
| Creates general (rectangular) parallel matrix. More...
|
|
| HypreParMatrix (MPI_Comm comm, HYPRE_Int global_num_rows, HYPRE_Int global_num_cols, HYPRE_Int *row_starts, HYPRE_Int *col_starts, HYPRE_Int *diag_i, HYPRE_Int *diag_j, double *diag_data, HYPRE_Int *offd_i, HYPRE_Int *offd_j, double *offd_data, HYPRE_Int offd_num_cols, HYPRE_Int *offd_col_map) |
| Creates general (rectangular) parallel matrix. More...
|
|
| HypreParMatrix (MPI_Comm comm, HYPRE_Int *row_starts, HYPRE_Int *col_starts, SparseMatrix *a) |
| Creates a parallel matrix from SparseMatrix on processor 0. More...
|
|
| HypreParMatrix (MPI_Comm comm, HYPRE_Int global_num_rows, HYPRE_Int global_num_cols, HYPRE_Int *row_starts, HYPRE_Int *col_starts, Table *diag) |
| Creates boolean block-diagonal rectangular parallel matrix. More...
|
|
| HypreParMatrix (MPI_Comm comm, int id, int np, HYPRE_Int *row, HYPRE_Int *col, HYPRE_Int *i_diag, HYPRE_Int *j_diag, HYPRE_Int *i_offd, HYPRE_Int *j_offd, HYPRE_Int *cmap, HYPRE_Int cmap_size) |
| Creates boolean rectangular parallel matrix. More...
|
|
| HypreParMatrix (MPI_Comm comm, int nrows, HYPRE_Int glob_nrows, HYPRE_Int glob_ncols, int *I, HYPRE_Int *J, double *data, HYPRE_Int *rows, HYPRE_Int *cols) |
| Creates a general parallel matrix from a local CSR matrix on each processor described by the I, J and data arrays. More...
|
|
| HypreParMatrix (const HypreParMatrix &P) |
| Copy constructor for a ParCSR matrix which creates a deep copy of structure and data from P. More...
|
|
void | MakeRef (const HypreParMatrix &master) |
| Make this HypreParMatrix a reference to 'master'. More...
|
|
MPI_Comm | GetComm () const |
| MPI communicator. More...
|
|
| operator hypre_ParCSRMatrix * () const |
| Typecasting to hypre's hypre_ParCSRMatrix*. More...
|
|
| operator HYPRE_ParCSRMatrix () |
| Typecasting to hypre's HYPRE_ParCSRMatrix, a.k.a. void *. More...
|
|
hypre_ParCSRMatrix * | StealData () |
| Changes the ownership of the the matrix. More...
|
|
void | SetOwnerFlags (signed char diag, signed char offd, signed char colmap) |
| Explicitly set the three ownership flags, see docs for diagOwner etc. More...
|
|
signed char | OwnsDiag () const |
| Get diag ownership flag. More...
|
|
signed char | OwnsOffd () const |
| Get offd ownership flag. More...
|
|
signed char | OwnsColMap () const |
| Get colmap ownership flag. More...
|
|
void | CopyRowStarts () |
|
void | CopyColStarts () |
|
HYPRE_Int | NNZ () const |
| Returns the global number of nonzeros. More...
|
|
HYPRE_Int * | RowPart () |
| Returns the row partitioning. More...
|
|
HYPRE_Int * | ColPart () |
| Returns the column partitioning. More...
|
|
const HYPRE_Int * | RowPart () const |
| Returns the row partitioning (const version) More...
|
|
const HYPRE_Int * | ColPart () const |
| Returns the column partitioning (const version) More...
|
|
HYPRE_Int | M () const |
| Returns the global number of rows. More...
|
|
HYPRE_Int | N () const |
| Returns the global number of columns. More...
|
|
void | GetDiag (Vector &diag) const |
| Get the local diagonal of the matrix. More...
|
|
void | GetDiag (SparseMatrix &diag) const |
| Get the local diagonal block. NOTE: 'diag' will not own any data. More...
|
|
void | GetOffd (SparseMatrix &offd, HYPRE_Int *&cmap) const |
| Get the local off-diagonal block. NOTE: 'offd' will not own any data. More...
|
|
void | GetBlocks (Array2D< HypreParMatrix * > &blocks, bool interleaved_rows=false, bool interleaved_cols=false) const |
|
HypreParMatrix * | Transpose () const |
| Returns the transpose of *this. More...
|
|
int | GetNumRows () const |
| Returns the number of rows in the diagonal block of the ParCSRMatrix. More...
|
|
int | GetNumCols () const |
| Returns the number of columns in the diagonal block of the ParCSRMatrix. More...
|
|
HYPRE_Int | GetGlobalNumRows () const |
| Return the global number of rows. More...
|
|
HYPRE_Int | GetGlobalNumCols () const |
| Return the global number of columns. More...
|
|
HYPRE_Int * | GetRowStarts () const |
| Return the parallel row partitioning array. More...
|
|
HYPRE_Int * | GetColStarts () const |
| Return the parallel column partitioning array. More...
|
|
HYPRE_Int | Mult (HypreParVector &x, HypreParVector &y, double alpha=1.0, double beta=0.0) |
| Computes y = alpha * A * x + beta * y. More...
|
|
HYPRE_Int | Mult (HYPRE_ParVector x, HYPRE_ParVector y, double alpha=1.0, double beta=0.0) |
| Computes y = alpha * A * x + beta * y. More...
|
|
HYPRE_Int | MultTranspose (HypreParVector &x, HypreParVector &y, double alpha=1.0, double beta=0.0) |
| Computes y = alpha * A^t * x + beta * y. More...
|
|
void | Mult (double a, const Vector &x, double b, Vector &y) const |
|
void | MultTranspose (double a, const Vector &x, double b, Vector &y) const |
|
virtual void | Mult (const Vector &x, Vector &y) const |
| Operator application: y=A(x) . More...
|
|
virtual void | MultTranspose (const Vector &x, Vector &y) const |
| Action of the transpose operator: y=A^t(x) . The default behavior in class Operator is to generate an error. More...
|
|
void | AbsMult (double a, const Vector &x, double b, Vector &y) const |
| Computes y = a * |A| * x + b * y, using entry-wise absolute values of matrix A. More...
|
|
void | AbsMultTranspose (double a, const Vector &x, double b, Vector &y) const |
| Computes y = a * |At| * x + b * y, using entry-wise absolute values of the transpose of matrix A. More...
|
|
void | BooleanMult (int alpha, const int *x, int beta, int *y) |
|
void | BooleanMultTranspose (int alpha, const int *x, int beta, int *y) |
|
HypreParMatrix & | operator= (double value) |
| Initialize all entries with value. More...
|
|
HypreParMatrix & | operator+= (const HypreParMatrix &B) |
|
HypreParMatrix & | Add (const double beta, const HypreParMatrix &B) |
|
HypreParMatrix * | LeftDiagMult (const SparseMatrix &D, HYPRE_Int *row_starts=NULL) const |
| Multiply the HypreParMatrix on the left by a block-diagonal parallel matrix D and return the result as a new HypreParMatrix. More...
|
|
void | ScaleRows (const Vector &s) |
| Scale the local row i by s(i). More...
|
|
void | InvScaleRows (const Vector &s) |
| Scale the local row i by 1./s(i) More...
|
|
void | operator*= (double s) |
| Scale all entries by s: A_scaled = s*A. More...
|
|
void | Threshold (double threshold=0.0) |
| Remove values smaller in absolute value than some threshold. More...
|
|
void | EliminateZeroRows () |
| If a row contains only zeros, set its diagonal to 1. More...
|
|
void | EliminateRowsCols (const Array< int > &rows_cols, const HypreParVector &X, HypreParVector &B) |
|
HypreParMatrix * | EliminateRowsCols (const Array< int > &rows_cols) |
|
HypreParMatrix * | EliminateCols (const Array< int > &cols) |
|
void | EliminateRows (const Array< int > &rows) |
| Eliminate rows from the diagonal and off-diagonal blocks of the matrix. More...
|
|
void | Print (const char *fname, HYPRE_Int offi=0, HYPRE_Int offj=0) |
| Prints the locally owned rows in parallel. More...
|
|
void | Read (MPI_Comm comm, const char *fname) |
| Reads the matrix from a file. More...
|
|
void | Read_IJMatrix (MPI_Comm comm, const char *fname) |
| Read a matrix saved as a HYPRE_IJMatrix. More...
|
|
void | PrintCommPkg (std::ostream &out=mfem::out) const |
| Print information about the hypre_ParCSRCommPkg of the HypreParMatrix. More...
|
|
virtual | ~HypreParMatrix () |
| Calls hypre's destroy function. More...
|
|
Type | GetType () const |
|
void | InitTVectors (const Operator *Po, const Operator *Ri, const Operator *Pi, Vector &x, Vector &b, Vector &X, Vector &B) const |
| Initializes memory for true vectors of linear system. More...
|
|
| Operator (int s=0) |
| Construct a square Operator with given size s (default 0). More...
|
|
| Operator (int h, int w) |
| Construct an Operator with the given height (output size) and width (input size). More...
|
|
int | Height () const |
| Get the height (size of output) of the Operator. Synonym with NumRows(). More...
|
|
int | NumRows () const |
| Get the number of rows (size of output) of the Operator. Synonym with Height(). More...
|
|
int | Width () const |
| Get the width (size of input) of the Operator. Synonym with NumCols(). More...
|
|
int | NumCols () const |
| Get the number of columns (size of input) of the Operator. Synonym with Width(). More...
|
|
virtual MemoryClass | GetMemoryClass () const |
| Return the MemoryClass preferred by the Operator. More...
|
|
virtual Operator & | GetGradient (const Vector &x) const |
| Evaluate the gradient operator at the point x. The default behavior in class Operator is to generate an error. More...
|
|
virtual const Operator * | GetProlongation () const |
| Prolongation operator from linear algebra (linear system) vectors, to input vectors for the operator. NULL means identity. More...
|
|
virtual const Operator * | GetRestriction () const |
| Restriction operator from input vectors for the operator to linear algebra (linear system) vectors. NULL means identity. More...
|
|
virtual const Operator * | GetOutputProlongation () const |
| Prolongation operator from linear algebra (linear system) vectors, to output vectors for the operator. NULL means identity. More...
|
|
virtual const Operator * | GetOutputRestriction () const |
| Restriction operator from output vectors for the operator to linear algebra (linear system) vectors. NULL means identity. More...
|
|
void | FormLinearSystem (const Array< int > &ess_tdof_list, Vector &x, Vector &b, Operator *&A, Vector &X, Vector &B, int copy_interior=0) |
| Form a constrained linear system using a matrix-free approach. More...
|
|
void | FormRectangularLinearSystem (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, Vector &x, Vector &b, Operator *&A, Vector &X, Vector &B) |
| Form a column-constrained linear system using a matrix-free approach. More...
|
|
virtual void | RecoverFEMSolution (const Vector &X, const Vector &b, Vector &x) |
| Reconstruct a solution vector x (e.g. a GridFunction) from the solution X of a constrained linear system obtained from Operator::FormLinearSystem() or Operator::FormRectangularLinearSystem(). More...
|
|
void | FormSystemOperator (const Array< int > &ess_tdof_list, Operator *&A) |
| Return in A a parallel (on truedofs) version of this square operator. More...
|
|
void | FormRectangularSystemOperator (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, Operator *&A) |
| Return in A a parallel (on truedofs) version of this rectangular operator (including constraints). More...
|
|
void | FormDiscreteOperator (Operator *&A) |
| Return in A a parallel (on truedofs) version of this rectangular operator. More...
|
|
void | PrintMatlab (std::ostream &out, int n=0, int m=0) const |
| Prints operator with input size n and output size m in Matlab format. More...
|
|
virtual | ~Operator () |
| Virtual destructor. More...
|
|
Type | GetType () const |
| Return the type ID of the Operator class. More...
|
|