8 #ifndef LINEAR_OPERATOR_ALGEBRA_HPP_ 9 #define LINEAR_OPERATOR_ALGEBRA_HPP_ 11 #include <Epetra_Comm.h> 12 #include <Epetra_Map.h> 13 #include <Epetra_Operator.h> 14 #include <Epetra_MultiVector.h> 16 #include <lifev/core/LifeV.hpp> 147 virtual double NormInf()
const = 0;
154 virtual const char *
Label()
const = 0;
195 int Apply(
const vector_Type & X, vector_Type & Y)
const 211 return M_name.c_str();
223 return M_map->Comm();
251 void setUp(
const mapPtr_Type & domainMap,
252 const mapPtr_Type & rangeMap)
262 int Apply(
const vector_Type & , vector_Type & Y)
const 269 Y.PutScalar(1.0/0.0);
278 return M_name.c_str();
290 return M_rangeMap->Comm();
VectorEpetra - The Epetra Vector format Wrapper.
Identity operator x = I*x.
Epetra_Operator operator_Type
bool UseTranspose() const
Returns the current UseTranspose setting.
virtual const map_Type & OperatorRangeMap() const =0
Returns the raw_map object associated with the range of this operator.
std::shared_ptr< map_Type > mapPtr_Type
int Apply(const vector_Type &, vector_Type &Y) const
Returns the result of a raw_operator applied to a raw_vector X in Y.
virtual int SetUseTranspose(bool UseTranspose)=0
If set true, transpose of this operator will be applied.
int ApplyInverse(const vector_Type &X, vector_Type &Y) const
Returns the result of a raw_operator inverse applied to an raw_vector X in Y.
double NormInf() const
Returns the infinity norm of the global matrix.
void setUp(const mapPtr_Type &domainMap, const mapPtr_Type &rangeMap)
const char * Label() const
Returns a character string describing the operator.
std::shared_ptr< const map_Type > constMapPtr_Type
int apply(const VectorEpetra &X, VectorEpetra &Y) const
Returns the result of a LinearOperator applied to a VectorEpetra X in Y.
const comm_Type & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Abstract class which defines the interface of a Linear Operator.
int ApplyInverse(const vector_Type &, vector_Type &Y) const
Returns the result of a raw_operator inverse applied to an raw_vector X in Y.
void updateInverseJacobian(const UInt &iQuadPt)
LinearOperatorAlgebra super
int SetUseTranspose(bool useTranspose)
If set true, transpose of this operator will be applied.
virtual ~LinearOperatorAlgebra()
Destructor.
bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual double NormInf() const =0
Returns the infinity norm of the global matrix.
virtual const char * Label() const =0
Returns a character string describing the operator.
virtual const comm_Type & Comm() const =0
Returns a pointer to the Epetra_Comm communicator associated with this operator.
virtual bool UseTranspose() const =0
Returns the current UseTranspose setting.
virtual int Apply(const vector_Type &X, vector_Type &Y) const =0
Returns the result of a raw_operator applied to a raw_vector X in Y.
virtual const map_Type & OperatorDomainMap() const =0
Returns the raw_map object associated with the domain of this operator.
virtual int ApplyInverse(const vector_Type &X, vector_Type &Y) const =0
Returns the result of a raw_operator inverse applied to an raw_vector X in Y.
int SetUseTranspose(bool useTranspose)
If set true, transpose of this operator will be applied.
const char * Label() const
Returns a character string describing the operator.
Epetra_MultiVector vector_Type
std::shared_ptr< comm_Type > commPtr_Type
bool UseTranspose() const
Returns the current UseTranspose setting.
const comm_Type & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
virtual bool HasNormInf() const =0
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
int Apply(const vector_Type &X, vector_Type &Y) const
Returns the result of a raw_operator applied to a raw_vector X in Y.
void setUp(const mapPtr_Type &map)
int applyInverse(const VectorEpetra &X, VectorEpetra &Y)
Returns the result of a LinearOperator inverse applied to an VectorEpetra X in Y. ...
const map_Type & OperatorDomainMap() const
Returns the raw_map object associated with the domain of this operator.
const map_Type & OperatorDomainMap() const
Returns the raw_map object associated with the domain of this operator.
std::shared_ptr< vector_Type > vectorPtr_Type
double NormInf() const
Returns the infinity norm of the global matrix.
bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
const map_Type & OperatorRangeMap() const
Returns the raw_map object associated with the range of this operator.
std::shared_ptr< operator_Type > operatorPtr_Type
const map_Type & OperatorRangeMap() const
Returns the raw_map object associated with the range of this operator.
LinearOperatorAlgebra super