12 #ifndef MFEM_COMPLEX_OPERATOR
13 #define MFEM_COMPLEX_OPERATOR
83 bool ownReal,
bool ownImag,
149 bool ownReal,
bool ownImag,
188 bool ownReal,
bool ownImag,
210 int & num_recv_procs,
211 HYPRE_Int *& offd_col_start_stop)
const;
218 #endif // MFEM_USE_MPI
222 #endif // MFEM_COMPLEX_OPERATOR
virtual Operator & real()
Real or imaginary part accessor methods.
virtual ~ComplexOperator()
virtual Type GetType() const
ComplexHypreParMatrix(HypreParMatrix *A_Real, HypreParMatrix *A_Imag, bool ownReal, bool ownImag, Convention convention=HERMITIAN)
Mimic the action of a complex operator using two real operators.
ID for class ComplexHypreParMatrix.
ComplexSparseMatrix(SparseMatrix *A_Real, SparseMatrix *A_Imag, bool ownReal, bool ownImag, Convention convention=HERMITIAN)
Alternate convention for damping operators.
ComplexOperator(Operator *Op_Real, Operator *Op_Imag, bool ownReal, bool ownImag, Convention convention=HERMITIAN)
Constructs complex operator object.
bool hasRealPart() const
Check for existence of real or imaginary part of the operator.
virtual Type GetType() const
virtual SparseMatrix & real()
Real or imaginary part accessor methods.
SparseMatrix * GetSystemMatrix() const
Type
Enumeration defining IDs for some classes derived from Operator.
virtual void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
Specialization of the ComplexOperator built from a pair of Sparse Matrices.
virtual Operator & imag()
Specialization of the ComplexOperator built from a pair of HypreParMatrices.
virtual SparseMatrix & imag()
Native convention for Hermitian operators.
virtual Type GetType() const
ID for class ComplexSparseMatrix.
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 ...
HypreParMatrix * GetSystemMatrix() const
virtual HypreParMatrix & imag()
ID for class ComplexOperator.
Wrapper for hypre's ParCSR matrix class.
virtual HypreParMatrix & real()
Real or imaginary part accessor methods.