Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Thyra::PhysicallyBlockedLinearOpWithSolveBase< Scalar > Class Template Referenceabstract

Base interface for linear operators with a solve that are composed out of individual LOB and LOWSB objects. More...

#include <Thyra_PhysicallyBlockedLinearOpWithSolveBase.hpp>

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

Public Member Functions

virtual bool acceptsLOWSBlock (const int i, const int j) const =0
 Determines if the block (i,j) can be filled with a LOWDB object or not. More...
 
virtual void setNonconstLOWSBlock (const int i, const int j, const Teuchos::RCP< LinearOpWithSolveBase< Scalar > > &block)=0
 
virtual void setLOWSBlock (const int i, const int j, const Teuchos::RCP< const LinearOpWithSolveBase< Scalar > > &block)=0
 
- Public Member Functions inherited from Thyra::BlockedLinearOpWithSolveBase< Scalar >
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. More...
 
bool solveSupports (EOpTransp transp, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const
 Return if solve() supports a given transpose and solve criteria specification. More...
 
bool solveSupportsSolveMeasureType (EOpTransp transp, const SolveMeasureType &solveMeasureType) const
 Return if solve() supports the given the solve measure type. More...
 
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. More...
 
- 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. More...
 
virtual RCP< const
VectorSpaceBase< Scalar > > 
domain () const =0
 Return a smart pointer for the domain space for this operator. More...
 
bool opSupported (EOpTransp M_trans) const
 Return if the M_trans operation of apply() is supported or not. More...
 
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. More...
 
virtual RCP< const
LinearOpBase< Scalar > > 
clone () const
 Clone the linear operator object (if supported). More...
 
- Public Member Functions inherited from Thyra::BlockedLinearOpBase< Scalar >
virtual Teuchos::RCP< const
ProductVectorSpaceBase< Scalar > > 
productRange () const =0
 Return the product space for the range. More...
 
virtual Teuchos::RCP< const
ProductVectorSpaceBase< Scalar > > 
productDomain () const =0
 Return the product space for the domain. More...
 
virtual bool blockExists (const int i, const int j) const =0
 Return if the block (i,j) exists or not. More...
 
virtual bool blockIsConst (const int i, const int j) const =0
 Return if the block (i,j) is const only or not. More...
 
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. More...
 
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. More...
 
- Public Member Functions inherited from Thyra::PhysicallyBlockedLinearOpBase< Scalar >
virtual void beginBlockFill ()=0
 Begin a block fill where the product range and domain spaces will be created on the fly and the number of block rows and columns is not known in advance. More...
 
virtual void beginBlockFill (const int numRowBlocks, const int numColBlocks)=0
 Begin a block fill where the product range and domain spaces will be created on the fly but the total number of block rows and block columns is known in advance. More...
 
virtual void beginBlockFill (const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > &productRange, const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > &productDomain)=0
 Begin a block fill where the product range and domain spaces are set a priori. More...
 
virtual bool blockFillIsActive () const =0
 Determines if a block fill is active or not . More...
 
virtual bool acceptsBlock (const int i, const int j) const =0
 Determines if the block (i,j) can be filled or not. More...
 
virtual void setNonconstBlock (const int i, const int j, const Teuchos::RCP< LinearOpBase< Scalar > > &block)=0
 Set a non-const block linear operator. More...
 
virtual void setBlock (const int i, const int j, const Teuchos::RCP< const LinearOpBase< Scalar > > &block)=0
 Set a const block linear operator. More...
 
virtual void endBlockFill ()=0
 End a block fill after which *this object can be used. More...
 
virtual void uninitialize ()=0
 Set to uninitlaized. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Thyra::LinearOpWithSolveBase< Scalar >
virtual bool solveSupportsImpl (EOpTransp transp) const
 Virtual implementation for solveSupports(). More...
 
virtual bool solveSupportsNewImpl (EOpTransp, const Ptr< const SolveCriteria< Scalar > >) const
 Virtual implementation of solveSupports(). More...
 
virtual bool solveSupportsSolveMeasureTypeImpl (EOpTransp transp, const SolveMeasureType &solveMeasureType) const
 Virtual implementation for solveSupportsSolveMeasureType(). More...
 
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(). More...
 
- Protected Member Functions inherited from Thyra::LinearOpBase< Scalar >
virtual bool opSupportedImpl (EOpTransp M_trans) const =0
 Override in subclass. More...
 
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. More...
 

Detailed Description

template<class Scalar>
class Thyra::PhysicallyBlockedLinearOpWithSolveBase< Scalar >

Base interface for linear operators with a solve that are composed out of individual LOB and LOWSB objects.

ToDo: Finish Documentation.

Definition at line 60 of file Thyra_PhysicallyBlockedLinearOpWithSolveBase.hpp.

Member Function Documentation

template<class Scalar>
virtual bool Thyra::PhysicallyBlockedLinearOpWithSolveBase< Scalar >::acceptsLOWSBlock ( const int  i,
const int  j 
) const
pure virtual

Determines if the block (i,j) can be filled with a LOWDB object or not.

Parameters
i[in] Zero-based index for the block row.
j[in] Zero-based index for the block column.

Preconditions:

Implemented in Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >.

template<class Scalar>
virtual void Thyra::PhysicallyBlockedLinearOpWithSolveBase< Scalar >::setNonconstLOWSBlock ( const int  i,
const int  j,
const Teuchos::RCP< LinearOpWithSolveBase< Scalar > > &  block 
)
pure virtual
template<class Scalar>
virtual void Thyra::PhysicallyBlockedLinearOpWithSolveBase< Scalar >::setLOWSBlock ( const int  i,
const int  j,
const Teuchos::RCP< const LinearOpWithSolveBase< Scalar > > &  block 
)
pure virtual

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