Thyra Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Thyra::BlockedLinearOpWithSolveBase< Scalar > Class Template Referenceabstract

Base interface for linear operators with a solve that can be accessed as sub-blocks. More...

#include <Thyra_BlockedLinearOpWithSolveBase.hpp>

Inheritance diagram for Thyra::BlockedLinearOpWithSolveBase< Scalar >:
Inheritance graph
[legend]

Public Member Functions

virtual Teuchos::RCP< LinearOpWithSolveBase< Scalar > > getNonconstLOWSBlock (const int i, const int j)=0
 
virtual Teuchos::RCP< const LinearOpWithSolveBase< Scalar > > getLOWSBlock (const int i, const int j) const =0
 
- Public Member Functions inherited from Thyra::LinearOpWithSolveBase< Scalar >
bool solveSupports (EOpTransp transp) const
 Return if solve() supports the argument transp.
 
bool solveSupports (EOpTransp transp, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const
 Return if solve() supports a given transpose and solve criteria specification.
 
bool solveSupportsSolveMeasureType (EOpTransp transp, const SolveMeasureType &solveMeasureType) const
 Return if solve() supports the given the solve measure type.
 
SolveStatus< Scalar > solve (const EOpTransp A_trans, const MultiVectorBase< Scalar > &B, const Ptr< MultiVectorBase< Scalar > > &X, const Ptr< const SolveCriteria< Scalar > > solveCriteria=Teuchos::null) const
 Request the solution of a block linear system.
 
- Public Member Functions inherited from Thyra::LinearOpBase< Scalar >
virtual RCP< const VectorSpaceBase< Scalar > > range () const =0
 Return a smart pointer for the range space for this operator.
 
virtual RCP< const VectorSpaceBase< Scalar > > domain () const =0
 Return a smart pointer for the domain space for this operator.
 
bool opSupported (EOpTransp M_trans) const
 Return if the M_trans operation of apply() is supported or not.
 
void apply (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 Apply the linear operator to a multi-vector : Y = alpha*op(M)*X + beta*Y.
 
virtual RCP< const LinearOpBase< Scalar > > clone () const
 Clone the linear operator object (if supported).
 
- Public Member Functions inherited from Thyra::BlockedLinearOpBase< Scalar >
virtual Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > productRange () const =0
 Return the product space for the range.
 
virtual Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > productDomain () const =0
 Return the product space for the domain.
 
virtual bool blockExists (const int i, const int j) const =0
 Return if the block (i,j) exists or not.
 
virtual bool blockIsConst (const int i, const int j) const =0
 Return if the block (i,j) is const only or not.
 
virtual Teuchos::RCP< LinearOpBase< Scalar > > getNonconstBlock (const int i, const int j)=0
 Return a non-const view of the block (i,j) if it exists.
 
virtual Teuchos::RCP< const LinearOpBase< Scalar > > getBlock (const int i, const int j) const =0
 Return a const view of the block (i,j) if it exists.
 

Additional Inherited Members

- Protected Member Functions inherited from Thyra::LinearOpWithSolveBase< Scalar >
virtual bool solveSupportsImpl (EOpTransp transp) const
 Virtual implementation for solveSupports().
 
virtual bool solveSupportsNewImpl (EOpTransp, const Ptr< const SolveCriteria< Scalar > >) const
 Virtual implementation of solveSupports().
 
virtual bool solveSupportsSolveMeasureTypeImpl (EOpTransp transp, const SolveMeasureType &solveMeasureType) const
 Virtual implementation for solveSupportsSolveMeasureType().
 
virtual SolveStatus< Scalar > solveImpl (const EOpTransp transp, const MultiVectorBase< Scalar > &B, const Ptr< MultiVectorBase< Scalar > > &X, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const =0
 Virtual implementation for solve().
 
- Protected Member Functions inherited from Thyra::LinearOpBase< Scalar >
virtual bool opSupportedImpl (EOpTransp M_trans) const =0
 Override in subclass.
 
virtual void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const =0
 Override in subclass.
 

Detailed Description

template<class Scalar>
class Thyra::BlockedLinearOpWithSolveBase< Scalar >

Base interface for linear operators with a solve that can be accessed as sub-blocks.

ToDo: Finish Documentation.

Definition at line 60 of file Thyra_BlockedLinearOpWithSolveBase.hpp.

Member Function Documentation

◆ getNonconstLOWSBlock()

template<class Scalar >
virtual Teuchos::RCP< LinearOpWithSolveBase< Scalar > > Thyra::BlockedLinearOpWithSolveBase< Scalar >::getNonconstLOWSBlock ( const int i,
const int j )
pure virtual

◆ getLOWSBlock()

template<class Scalar >
virtual Teuchos::RCP< const LinearOpWithSolveBase< Scalar > > Thyra::BlockedLinearOpWithSolveBase< Scalar >::getLOWSBlock ( const int i,
const int j ) const
pure virtual

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