GEOSX
Public Types | Public Member Functions | List of all members
geos::InverseNormalOperator< LAI, SOLVER > Class Template Reference

Wraps a matrix A and represents A^{-1} * A^{-T} as a linear operator. More...

#include <InverseNormalOperator.hpp>

Inheritance diagram for geos::InverseNormalOperator< LAI, SOLVER >:
Inheritance graph
[legend]

Public Types

using Base = LinearOperator< typename LAI::ParallelVector >
 Alias for base type.
 
using Matrix = typename LAI::ParallelMatrix
 Alias for matrix type.
 
using Vector = typename Base::Vector
 Alias for vector type.
 
using Solver = SOLVER< LAI >
 Alias for solver type.
 
- Public Types inherited from geos::LinearOperator< LAI::ParallelVector >
using Vector = LAI::ParallelVector
 Alias for template parameter.
 

Public Member Functions

 InverseNormalOperator (Matrix const &mat, Solver const &solver)
 Constructor. More...
 
virtual ~InverseNormalOperator () override=default
 Destructor.
 
void apply (Vector const &src, Vector &dst) const override
 Apply operator to a vector. More...
 
globalIndex numGlobalRows () const override
 
globalIndex numGlobalCols () const override
 
localIndex numLocalRows () const override
 
localIndex numLocalCols () const override
 
MPI_Comm comm () const override
 
- Public Member Functions inherited from geos::LinearOperator< LAI::ParallelVector >
 LinearOperator ()=default
 Constructor.
 
virtual ~LinearOperator ()=default
 Destructor.
 
virtual void apply (Vector const &src, Vector &dst) const=0
 Apply operator to a vector, dst = this(src). More...
 
virtual void residual (Vector const &x, Vector const &b, Vector &r) const
 Compute residual r = b - this(x). More...
 
virtual globalIndex numGlobalRows () const=0
 Get the number of global rows. More...
 
virtual globalIndex numGlobalCols () const=0
 Get the number of global columns. More...
 
virtual localIndex numLocalRows () const=0
 Get the number of local rows. More...
 
virtual localIndex numLocalCols () const=0
 Get the number of local columns. More...
 
virtual MPI_Comm comm () const=0
 Get the MPI communicator the matrix was created with. More...
 

Detailed Description

template<typename LAI, template< typename > class SOLVER>
class geos::InverseNormalOperator< LAI, SOLVER >

Wraps a matrix A and represents A^{-1} * A^{-T} as a linear operator.

Template Parameters
LAIthe linear algebra interface
SOLVERtype of solver used to apply inverse of the matrix

Definition at line 92 of file InverseNormalOperator.hpp.

Constructor & Destructor Documentation

◆ InverseNormalOperator()

template<typename LAI , template< typename > class SOLVER>
geos::InverseNormalOperator< LAI, SOLVER >::InverseNormalOperator ( Matrix const &  mat,
Solver const &  solver 
)
inlineexplicit

Constructor.

Parameters
matthe underlying matrix (must outlive this operator)
solverthe solver used to apply inverse of the matrix (must be already setup)

Definition at line 113 of file InverseNormalOperator.hpp.

Member Function Documentation

◆ apply()

template<typename LAI , template< typename > class SOLVER>
void geos::InverseNormalOperator< LAI, SOLVER >::apply ( Vector const &  src,
Vector dst 
) const
inlineoverride

Apply operator to a vector.

Parameters
srcinput vector (x)
dstoutput vector (b)
Warning
src and dst cannot alias the same vector (some implementations may allow this).

Definition at line 132 of file InverseNormalOperator.hpp.

◆ comm()

template<typename LAI , template< typename > class SOLVER>
MPI_Comm geos::InverseNormalOperator< LAI, SOLVER >::comm ( ) const
inlineoverride
Returns
the communicator

Definition at line 173 of file InverseNormalOperator.hpp.

◆ numGlobalCols()

template<typename LAI , template< typename > class SOLVER>
globalIndex geos::InverseNormalOperator< LAI, SOLVER >::numGlobalCols ( ) const
inlineoverride
Returns
the global number of columns

Definition at line 149 of file InverseNormalOperator.hpp.

◆ numGlobalRows()

template<typename LAI , template< typename > class SOLVER>
globalIndex geos::InverseNormalOperator< LAI, SOLVER >::numGlobalRows ( ) const
inlineoverride
Returns
the global number of rows

Definition at line 141 of file InverseNormalOperator.hpp.

◆ numLocalCols()

template<typename LAI , template< typename > class SOLVER>
localIndex geos::InverseNormalOperator< LAI, SOLVER >::numLocalCols ( ) const
inlineoverride
Returns
the local number of columns

Definition at line 165 of file InverseNormalOperator.hpp.

◆ numLocalRows()

template<typename LAI , template< typename > class SOLVER>
localIndex geos::InverseNormalOperator< LAI, SOLVER >::numLocalRows ( ) const
inlineoverride
Returns
the local number of rows

Definition at line 157 of file InverseNormalOperator.hpp.


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