LifeV
IdentityOperator Class Reference

Identity operator x = I*x. More...

#include <LinearOperatorAlgebra.hpp>

+ Inheritance diagram for IdentityOperator:
+ Collaboration diagram for IdentityOperator:

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

 IdentityOperator ()
 
void setUp (const mapPtr_Type &map)
 
int SetUseTranspose (bool useTranspose)
 If set true, transpose of this operator will be applied. More...
 
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. More...
 
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. 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_map
 
bool M_useTranspose
 

Detailed Description

Identity operator x = I*x.

Definition at line 176 of file LinearOperatorAlgebra.hpp.

Member Typedef Documentation

◆ super

Definition at line 180 of file LinearOperatorAlgebra.hpp.

◆ map_Type

Definition at line 181 of file LinearOperatorAlgebra.hpp.

◆ mapPtr_Type

Definition at line 182 of file LinearOperatorAlgebra.hpp.

◆ vector_Type

Definition at line 183 of file LinearOperatorAlgebra.hpp.

Constructor & Destructor Documentation

◆ IdentityOperator()

IdentityOperator ( )
inline

Definition at line 185 of file LinearOperatorAlgebra.hpp.

Member Function Documentation

◆ setUp()

void setUp ( const mapPtr_Type map)
inline

Definition at line 186 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 190 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 195 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 200 of file LinearOperatorAlgebra.hpp.

◆ NormInf()

double NormInf ( ) const
inlinevirtual

Returns the infinity norm of the global matrix.

Implements LinearOperatorAlgebra.

Definition at line 205 of file LinearOperatorAlgebra.hpp.

◆ Label()

const char* Label ( ) const
inlinevirtual

Returns a character string describing the operator.

Implements LinearOperatorAlgebra.

Definition at line 209 of file LinearOperatorAlgebra.hpp.

◆ UseTranspose()

bool UseTranspose ( ) const
inlinevirtual

Returns the current UseTranspose setting.

Implements LinearOperatorAlgebra.

Definition at line 213 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 217 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 221 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 225 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 229 of file LinearOperatorAlgebra.hpp.

Field Documentation

◆ M_name

std::string M_name
private

Definition at line 234 of file LinearOperatorAlgebra.hpp.

◆ M_map

mapPtr_Type M_map
private

Definition at line 235 of file LinearOperatorAlgebra.hpp.

◆ M_useTranspose

bool M_useTranspose
private

Definition at line 236 of file LinearOperatorAlgebra.hpp.


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