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::BlockedLinearOpBase< Scalar > Class Template Referenceabstract

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

#include <Thyra_BlockedLinearOpBase.hpp>

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

Public Member Functions

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::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...
 

Additional Inherited Members

- 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::BlockedLinearOpBase< Scalar >

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

ToDo: Finish Documentation.

Definition at line 63 of file Thyra_BlockedLinearOpBase.hpp.

Member Function Documentation

template<class Scalar >
virtual Teuchos::RCP<const ProductVectorSpaceBase<Scalar> > Thyra::BlockedLinearOpBase< Scalar >::productRange ( ) const
pure virtual

Return the product space for the range.

A return value of return.get()==NULL is an indication that *this is not fully initialized.

Implemented in Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >, and Thyra::DefaultBlockedLinearOp< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<const ProductVectorSpaceBase<Scalar> > Thyra::BlockedLinearOpBase< Scalar >::productDomain ( ) const
pure virtual

Return the product space for the domain.

A return value of return.get()==NULL is an indication that *this is not fully initialized.

Implemented in Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >, and Thyra::DefaultBlockedLinearOp< Scalar >.

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

Return if the block (i,j) exists 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 >, and Thyra::DefaultBlockedLinearOp< Scalar >.

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

Return if the block (i,j) is const only 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 >, and Thyra::DefaultBlockedLinearOp< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<LinearOpBase<Scalar> > Thyra::BlockedLinearOpBase< Scalar >::getNonconstBlock ( const int  i,
const int  j 
)
pure virtual

Return a non-const view of the block (i,j) if it exists.

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

Preconditions:

Postconditions:

  • [this->blockExists(i,j)==true] return.get()!=NULL
  • [this->blockExists(i,j)==false] return.get()==NULL

Implemented in Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >, and Thyra::DefaultBlockedLinearOp< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<const LinearOpBase<Scalar> > Thyra::BlockedLinearOpBase< Scalar >::getBlock ( const int  i,
const int  j 
) const
pure virtual

Return a const view of the block (i,j) if it exists.

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

Preconditions:

Postconditions:

  • [this->blockExists(i,j)==true] return.get()!=NULL
  • [this->blockExists(i,j)==false] return.get()==NULL

Implemented in Thyra::DefaultBlockedTriangularLinearOpWithSolve< Scalar >, and Thyra::DefaultBlockedLinearOp< Scalar >.


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