LinearOpBase subclass that creates single linear operator object out of a set of constituent LinearOpBase blocks.
More...
#include <Thyra_DefaultBlockedLinearOp_decl.hpp>
Inheritance diagram for Thyra::DefaultBlockedLinearOp< Scalar >:

Constructors | |
| DefaultBlockedLinearOp () | |
| | |
Overridden from PhysicallyBlockedLinearOpBase | |
| void | beginBlockFill () |
| | |
| void | beginBlockFill (const int numRowBlocks, const int numColBlocks) |
| | |
| void | beginBlockFill (const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > &productRange, const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > &productDomain) |
| | |
| bool | blockFillIsActive () const |
| | |
| bool | acceptsBlock (const int i, const int j) const |
| | |
| void | setNonconstBlock (const int i, const int j, const Teuchos::RCP< LinearOpBase< Scalar > > &block) |
| | |
| void | setBlock (const int i, const int j, const Teuchos::RCP< const LinearOpBase< Scalar > > &block) |
| | |
| void | endBlockFill () |
| | |
| void | uninitialize () |
| | |
Overridden from BlockedLinearOpBase | |
| Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > | productRange () const |
| | |
| Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > | productDomain () const |
| | |
| bool | blockExists (const int i, const int j) const |
| | |
| bool | blockIsConst (const int i, const int j) const |
| | |
| Teuchos::RCP< LinearOpBase< Scalar > > | getNonconstBlock (const int i, const int j) |
| | |
| Teuchos::RCP< const LinearOpBase< Scalar > > | getBlock (const int i, const int j) const |
| | |
Overridden from LinearOpBase | |
| Teuchos::RCP< const VectorSpaceBase< Scalar > > | range () const |
| | |
| Teuchos::RCP< const VectorSpaceBase< Scalar > > | domain () const |
| | |
| Teuchos::RCP< const LinearOpBase< Scalar > > | clone () const |
| | |
Overridden from Teuchos::Describable | |
| std::string | description () const |
Prints just the name DefaultBlockedLinearOp along with the overall dimensions and the number of constituent operators. | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
| Prints the details about the constituent linear operators. | |
Overridden from SingleScalarLinearOpBase | |
| bool | opSupported (EOpTransp M_trans) const |
Returns true only if all constituent operators support M_trans. | |
| void | apply (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y, const Scalar alpha, const Scalar beta) const |
| | |
Related Functions | |
| (Note that these are not member functions.) | |
| RCP< DefaultBlockedLinearOp< Scalar > > | defaultBlockedLinearOp () |
| Nonmember default constructor. | |
| Teuchos::RCP< const LinearOpBase< Scalar > > | block1x1 (const Teuchos::RCP< const LinearOpBase< Scalar > > &A00, const std::string &label="") |
Form an implicit block 1x1 linear operator [ A00 ]. | |
| Teuchos::RCP< const LinearOpBase< Scalar > > | block1x2 (const Teuchos::RCP< const LinearOpBase< Scalar > > &A00, const Teuchos::RCP< const LinearOpBase< Scalar > > &A01, const std::string &label="") |
Form an implicit block 1x2 linear operator [ A00, A01 ]. | |
| Teuchos::RCP< const LinearOpBase< Scalar > > | block2x1 (const Teuchos::RCP< const LinearOpBase< Scalar > > &A00, const Teuchos::RCP< const LinearOpBase< Scalar > > &A10, const std::string &label="") |
Form an implicit block 2x1 linear operator [ A00; A10 ]. | |
| Teuchos::RCP< const LinearOpBase< Scalar > > | block2x2 (const Teuchos::RCP< const LinearOpBase< Scalar > > &A00, const Teuchos::RCP< const LinearOpBase< Scalar > > &A01, const Teuchos::RCP< const LinearOpBase< Scalar > > &A10, const Teuchos::RCP< const LinearOpBase< Scalar > > &A11, const std::string &label="") |
Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ]. | |
| Teuchos::RCP< LinearOpBase< Scalar > > | nonconstBlock1x1 (const Teuchos::RCP< LinearOpBase< Scalar > > &A00, const std::string &label="") |
Form an implicit block 1x1 linear operator [ A00 ]. | |
| Teuchos::RCP< LinearOpBase< Scalar > > | nonconstBlock1x2 (const Teuchos::RCP< LinearOpBase< Scalar > > &A00, const Teuchos::RCP< LinearOpBase< Scalar > > &A01, const std::string &label="") |
Form an implicit block 1x2 linear operator [ A00, A01 ]. | |
| Teuchos::RCP< LinearOpBase< Scalar > > | nonconstBlock2x1 (const Teuchos::RCP< LinearOpBase< Scalar > > &A00, const Teuchos::RCP< LinearOpBase< Scalar > > &A10, const std::string &label="") |
Form an implicit block 2x1 linear operator [ A00; A10 ]. | |
| Teuchos::RCP< LinearOpBase< Scalar > > | nonconstBlock2x2 (const Teuchos::RCP< LinearOpBase< Scalar > > &A00, const Teuchos::RCP< LinearOpBase< Scalar > > &A01, const Teuchos::RCP< LinearOpBase< Scalar > > &A10, const Teuchos::RCP< LinearOpBase< Scalar > > &A11, const std::string &label="") |
Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ]. | |
LinearOpBase subclass that creates single linear operator object out of a set of constituent LinearOpBase blocks.
This class represents a blocked linear operator M of the form:
M = [ Op[0,0], Op[0,1], ... , Op[0,N];
Op[1,0], Op[1,1], ... , Op[1,N];
. . .
Op[M,0], Op[M,1], ... , Op[M,N]; ]
where Op[] is a logical 2D array of LinearOpBase objects and M=this->productRange()->getNumBlocks() and N=this->productDomain()->getNumBlocks(). Of course the operator M is not constructed explicitly but instead just applies the constituent linear operators with each set of blocks.
ToDo: Finish Documentation!
Definition at line 75 of file Thyra_DefaultBlockedLinearOp_decl.hpp.
| Thyra::DefaultBlockedLinearOp< Scalar >::DefaultBlockedLinearOp | ( | ) |
| void Thyra::DefaultBlockedLinearOp< Scalar >::beginBlockFill | ( | ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 59 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::beginBlockFill | ( | const int | numRowBlocks, | |
| const int | numColBlocks | |||
| ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 68 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::beginBlockFill | ( | const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > & | productRange, | |
| const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > & | productDomain | |||
| ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 79 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::blockFillIsActive | ( | ) | const [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 99 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::acceptsBlock | ( | const int | i, | |
| const int | j | |||
| ) | const [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 106 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::setNonconstBlock | ( | const int | i, | |
| const int | j, | |||
| const Teuchos::RCP< LinearOpBase< Scalar > > & | block | |||
| ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 117 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::setBlock | ( | const int | i, | |
| const int | j, | |||
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | block | |||
| ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 127 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::endBlockFill | ( | ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 137 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::uninitialize | ( | ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 213 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| RCP< const ProductVectorSpaceBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::productRange | ( | ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< Scalar >.
Definition at line 232 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| RCP< const ProductVectorSpaceBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::productDomain | ( | ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< Scalar >.
Definition at line 240 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::blockExists | ( | const int | i, | |
| const int | j | |||
| ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< Scalar >.
Definition at line 247 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::blockIsConst | ( | const int | i, | |
| const int | j | |||
| ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< Scalar >.
Definition at line 258 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| RCP< LinearOpBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::getNonconstBlock | ( | const int | i, | |
| const int | j | |||
| ) | [virtual] |
Implements Thyra::BlockedLinearOpBase< Scalar >.
Definition at line 273 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| RCP< const LinearOpBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::getBlock | ( | const int | i, | |
| const int | j | |||
| ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< Scalar >.
Definition at line 286 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::range | ( | ) | const [virtual] |
Implements Thyra::LinearOpBase< RangeScalar, DomainScalar >.
Definition at line 302 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::domain | ( | ) | const [virtual] |
Implements Thyra::LinearOpBase< RangeScalar, DomainScalar >.
Definition at line 310 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| RCP< const LinearOpBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::clone | ( | ) | const [virtual] |
Reimplemented from Thyra::LinearOpBase< RangeScalar, DomainScalar >.
Definition at line 318 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| std::string Thyra::DefaultBlockedLinearOp< Scalar >::description | ( | ) | const [virtual] |
Prints just the name DefaultBlockedLinearOp along with the overall dimensions and the number of constituent operators.
Reimplemented from Thyra::LinearOpDefaultBase< Scalar >.
Definition at line 328 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::describe | ( | Teuchos::FancyOStream & | out, | |
| const Teuchos::EVerbosityLevel | verbLevel | |||
| ) | const [virtual] |
Prints the details about the constituent linear operators.
This function outputs different levels of detail based on the value passed in for verbLevel:
ToDo: Finish documentation!
Reimplemented from Thyra::LinearOpDefaultBase< Scalar >.
Definition at line 342 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::opSupported | ( | EOpTransp | M_trans | ) | const [protected, virtual] |
Returns true only if all constituent operators support M_trans.
Implements Thyra::SingleScalarLinearOpBase< Scalar >.
Definition at line 401 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::apply | ( | const EOpTransp | M_trans, | |
| const MultiVectorBase< Scalar > & | X, | |||
| MultiVectorBase< Scalar > * | Y, | |||
| const Scalar | alpha, | |||
| const Scalar | beta | |||
| ) | const [protected, virtual] |
Implements Thyra::SingleScalarLinearOpBase< Scalar >.
Definition at line 419 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| RCP< DefaultBlockedLinearOp< Scalar > > defaultBlockedLinearOp | ( | ) | [related] |
| Teuchos::RCP< const LinearOpBase< Scalar > > block1x1 | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | A00, | |
| const std::string & | label = "" | |||
| ) | [related] |
Form an implicit block 1x1 linear operator [ A00 ].
Definition at line 719 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > block1x2 | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | A01, | |||
| const std::string & | label = "" | |||
| ) | [related] |
Form an implicit block 1x2 linear operator [ A00, A01 ].
Definition at line 737 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > block2x1 | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | A10, | |||
| const std::string & | label = "" | |||
| ) | [related] |
Form an implicit block 2x1 linear operator [ A00; A10 ].
Definition at line 757 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > block2x2 | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | A01, | |||
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | A10, | |||
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | A11, | |||
| const std::string & | label = "" | |||
| ) | [related] |
Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ].
Definition at line 777 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > nonconstBlock1x1 | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | A00, | |
| const std::string & | label = "" | |||
| ) | [related] |
Form an implicit block 1x1 linear operator [ A00 ].
Definition at line 801 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > nonconstBlock1x2 | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< LinearOpBase< Scalar > > & | A01, | |||
| const std::string & | label = "" | |||
| ) | [related] |
Form an implicit block 1x2 linear operator [ A00, A01 ].
Definition at line 819 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > nonconstBlock2x1 | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< LinearOpBase< Scalar > > & | A10, | |||
| const std::string & | label = "" | |||
| ) | [related] |
Form an implicit block 2x1 linear operator [ A00; A10 ].
Definition at line 839 of file Thyra_DefaultBlockedLinearOp_def.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > nonconstBlock2x2 | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< LinearOpBase< Scalar > > & | A01, | |||
| const Teuchos::RCP< LinearOpBase< Scalar > > & | A10, | |||
| const Teuchos::RCP< LinearOpBase< Scalar > > & | A11, | |||
| const std::string & | label = "" | |||
| ) | [related] |
Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ].
Definition at line 859 of file Thyra_DefaultBlockedLinearOp_def.hpp.
1.4.7