LifeV
NullOperator Class Reference

Null operator 0 = Z*x. More...

#include <LinearOperatorAlgebra.hpp>

+ Inheritance diagram for NullOperator:
+ Collaboration diagram for NullOperator:

Public Types

typedef LinearOperatorAlgebra super
 
typedef super::map_Type map_Type
 
typedef super::mapPtr_Type mapPtr_Type
 
typedef super::vector_Type vector_Type
 
- Public Types inherited from LinearOperatorAlgebra
typedef Epetra_Comm comm_Type
 
typedef std::shared_ptr< comm_TypecommPtr_Type
 
typedef Epetra_Map map_Type
 
typedef std::shared_ptr< map_TypemapPtr_Type
 
typedef std::shared_ptr< const map_TypeconstMapPtr_Type
 
typedef Epetra_Operator operator_Type
 
typedef std::shared_ptr< operator_TypeoperatorPtr_Type
 
typedef Epetra_MultiVector vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 

Public Member Functions

 NullOperator ()
 
void setUp (const mapPtr_Type &domainMap, const mapPtr_Type &rangeMap)
 
int SetUseTranspose (bool useTranspose)
 If set true, transpose of this operator will be applied. More...
 
int Apply (const vector_Type &, vector_Type &Y) const
 Returns the result of a raw_operator applied to a raw_vector X in Y. More...
 
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. More...
 
double NormInf () const
 Returns the infinity norm of the global matrix. More...
 
const char * Label () const
 Returns a character string describing the operator. More...
 
bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
const comm_TypeComm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator. More...
 
const map_TypeOperatorDomainMap () const
 Returns the raw_map object associated with the domain of this operator. More...
 
const map_TypeOperatorRangeMap () const
 Returns the raw_map object associated with the range of this operator. More...
 
- Public Member Functions inherited from LinearOperatorAlgebra
virtual ~LinearOperatorAlgebra ()
 Destructor. More...
 
int apply (const VectorEpetra &X, VectorEpetra &Y) const
 Returns the result of a LinearOperator applied to a VectorEpetra X in Y. More...
 
int applyInverse (const VectorEpetra &X, VectorEpetra &Y)
 Returns the result of a LinearOperator inverse applied to an VectorEpetra X in Y. More...
 

Private Attributes

std::string M_name
 
mapPtr_Type M_domainMap
 
mapPtr_Type M_rangeMap
 
bool M_useTranspose
 

Detailed Description

Null operator 0 = Z*x.

Definition at line 241 of file LinearOperatorAlgebra.hpp.

Member Typedef Documentation

◆ super

Definition at line 245 of file LinearOperatorAlgebra.hpp.

◆ map_Type

Definition at line 246 of file LinearOperatorAlgebra.hpp.

◆ mapPtr_Type

Definition at line 247 of file LinearOperatorAlgebra.hpp.

◆ vector_Type

Definition at line 248 of file LinearOperatorAlgebra.hpp.

Constructor & Destructor Documentation

◆ NullOperator()

NullOperator ( )
inline

Definition at line 250 of file LinearOperatorAlgebra.hpp.

Member Function Documentation

◆ setUp()

void setUp ( const mapPtr_Type domainMap,
const mapPtr_Type rangeMap 
)
inline

Definition at line 251 of file LinearOperatorAlgebra.hpp.

◆ SetUseTranspose()

int SetUseTranspose ( bool  UseTranspose)
inlinevirtual

If set true, transpose of this operator will be applied.

This flag allows the transpose of the given operator to be used implicitly. Setting this flag affects only the Apply() and ApplyInverse() methods. If the implementation of this interface does not support transpose use, this method should return a value of -1.

Parameters
InUseTranspose -If true, multiply by the transpose of operator, otherwise just use operator.
Returns
Integer error code, set to 0 if successful. Set to -1 if this implementation does not support transpose.

Implements LinearOperatorAlgebra.

Definition at line 257 of file LinearOperatorAlgebra.hpp.

◆ Apply()

int Apply ( const vector_Type X,
vector_Type Y 
) const
inlinevirtual

Returns the result of a raw_operator applied to a raw_vector X in Y.

Parameters
InX - A raw_vector of dimension NumVectors to multiply with matrix.
OutY -A raw_vector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.

Implements LinearOperatorAlgebra.

Definition at line 262 of file LinearOperatorAlgebra.hpp.

◆ ApplyInverse()

int ApplyInverse ( const vector_Type X,
vector_Type Y 
) const
inlinevirtual

Returns the result of a raw_operator inverse applied to an raw_vector X in Y.

Parameters
InX - A raw_vector of dimension NumVectors to solve for.
OutY -A raw_vector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.
Warning
In order to work with AztecOO, any implementation of this method must support the case where X and Y are the same object.

Implements LinearOperatorAlgebra.

Definition at line 267 of file LinearOperatorAlgebra.hpp.

◆ NormInf()

double NormInf ( ) const
inlinevirtual

Returns the infinity norm of the global matrix.

Implements LinearOperatorAlgebra.

Definition at line 272 of file LinearOperatorAlgebra.hpp.

◆ Label()

const char* Label ( ) const
inlinevirtual

Returns a character string describing the operator.

Implements LinearOperatorAlgebra.

Definition at line 276 of file LinearOperatorAlgebra.hpp.

◆ UseTranspose()

bool UseTranspose ( ) const
inlinevirtual

Returns the current UseTranspose setting.

Implements LinearOperatorAlgebra.

Definition at line 280 of file LinearOperatorAlgebra.hpp.

◆ HasNormInf()

bool HasNormInf ( ) const
inlinevirtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements LinearOperatorAlgebra.

Definition at line 284 of file LinearOperatorAlgebra.hpp.

◆ Comm()

const comm_Type& Comm ( ) const
inlinevirtual

Returns a pointer to the Epetra_Comm communicator associated with this operator.

Implements LinearOperatorAlgebra.

Definition at line 288 of file LinearOperatorAlgebra.hpp.

◆ OperatorDomainMap()

const map_Type& OperatorDomainMap ( ) const
inlinevirtual

Returns the raw_map object associated with the domain of this operator.

Implements LinearOperatorAlgebra.

Definition at line 292 of file LinearOperatorAlgebra.hpp.

◆ OperatorRangeMap()

const map_Type& OperatorRangeMap ( ) const
inlinevirtual

Returns the raw_map object associated with the range of this operator.

Implements LinearOperatorAlgebra.

Definition at line 296 of file LinearOperatorAlgebra.hpp.

Field Documentation

◆ M_name

std::string M_name
private

Definition at line 301 of file LinearOperatorAlgebra.hpp.

◆ M_domainMap

mapPtr_Type M_domainMap
private

Definition at line 302 of file LinearOperatorAlgebra.hpp.

◆ M_rangeMap

mapPtr_Type M_rangeMap
private

Definition at line 303 of file LinearOperatorAlgebra.hpp.

◆ M_useTranspose

bool M_useTranspose
private

Definition at line 304 of file LinearOperatorAlgebra.hpp.


The documentation for this class was generated from the following file: