LinearOpBase subclass that creates single linear operator object out of a set of constituent LinearOpBase blocks.
More...
#include <Thyra_DefaultBlockedLinearOpDecl.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 (ETransp M_trans) const |
Returns true only if all constituent operators support M_trans. | |
| void | apply (const ETransp 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.) | |
| 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) |
Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ]. | |
| Teuchos::RCP< const LinearOpBase< Scalar > > | block2x1 (const Teuchos::RCP< const LinearOpBase< Scalar > > &A00, const Teuchos::RCP< const LinearOpBase< Scalar > > &A10) |
Form an implicit block 2x1 linear operator [ A00; A10 ]. | |
| Teuchos::RCP< const LinearOpBase< Scalar > > | block1x2 (const Teuchos::RCP< const LinearOpBase< Scalar > > &A00, const Teuchos::RCP< const LinearOpBase< Scalar > > &A01) |
Form an implicit block 1x2 linear operator [ A00, A01 ]. | |
| 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) |
Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ]. | |
| Teuchos::RCP< LinearOpBase< Scalar > > | nonconstBlock2x1 (const Teuchos::RCP< LinearOpBase< Scalar > > &A00, const Teuchos::RCP< LinearOpBase< Scalar > > &A10) |
Form an implicit block 2x1 linear operator [ A00; A10 ]. | |
| Teuchos::RCP< LinearOpBase< Scalar > > | nonconstBlock1x2 (const Teuchos::RCP< LinearOpBase< Scalar > > &A00, const Teuchos::RCP< LinearOpBase< Scalar > > &A01) |
Form an implicit block 1x2 linear operator [ A00, A01 ]. | |
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 68 of file Thyra_DefaultBlockedLinearOpDecl.hpp.
| Thyra::DefaultBlockedLinearOp< Scalar >::DefaultBlockedLinearOp | ( | ) |
| void Thyra::DefaultBlockedLinearOp< Scalar >::beginBlockFill | ( | ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 50 of file Thyra_DefaultBlockedLinearOp.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::beginBlockFill | ( | const int | numRowBlocks, | |
| const int | numColBlocks | |||
| ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 57 of file Thyra_DefaultBlockedLinearOp.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::beginBlockFill | ( | const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > & | productRange, | |
| const Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > & | productDomain | |||
| ) |
| bool Thyra::DefaultBlockedLinearOp< Scalar >::blockFillIsActive | ( | ) | const [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 79 of file Thyra_DefaultBlockedLinearOp.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::acceptsBlock | ( | const int | i, | |
| const int | j | |||
| ) | const [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 85 of file Thyra_DefaultBlockedLinearOp.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::setNonconstBlock | ( | const int | i, | |
| const int | j, | |||
| const Teuchos::RCP< LinearOpBase< Scalar > > & | block | |||
| ) |
| void Thyra::DefaultBlockedLinearOp< Scalar >::setBlock | ( | const int | i, | |
| const int | j, | |||
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | block | |||
| ) |
| void Thyra::DefaultBlockedLinearOp< Scalar >::endBlockFill | ( | ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 113 of file Thyra_DefaultBlockedLinearOp.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::uninitialize | ( | ) | [virtual] |
Implements Thyra::PhysicallyBlockedLinearOpBase< Scalar >.
Definition at line 169 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::productRange | ( | ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< RangeScalar, DomainScalar >.
Definition at line 186 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< const ProductVectorSpaceBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::productDomain | ( | ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< RangeScalar, DomainScalar >.
Definition at line 193 of file Thyra_DefaultBlockedLinearOp.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::blockExists | ( | const int | i, | |
| const int | j | |||
| ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< RangeScalar, DomainScalar >.
Definition at line 199 of file Thyra_DefaultBlockedLinearOp.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::blockIsConst | ( | const int | i, | |
| const int | j | |||
| ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< RangeScalar, DomainScalar >.
Definition at line 209 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::getNonconstBlock | ( | const int | i, | |
| const int | j | |||
| ) | [virtual] |
Implements Thyra::BlockedLinearOpBase< RangeScalar, DomainScalar >.
Definition at line 223 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::getBlock | ( | const int | i, | |
| const int | j | |||
| ) | const [virtual] |
Implements Thyra::BlockedLinearOpBase< RangeScalar, DomainScalar >.
Definition at line 235 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::range | ( | ) | const [virtual] |
Implements Thyra::LinearOpBase< RangeScalar, DomainScalar >.
Definition at line 249 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::domain | ( | ) | const [virtual] |
Implements Thyra::LinearOpBase< RangeScalar, DomainScalar >.
Definition at line 256 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::DefaultBlockedLinearOp< Scalar >::clone | ( | ) | const [virtual] |
Reimplemented from Thyra::LinearOpBase< RangeScalar, DomainScalar >.
Definition at line 263 of file Thyra_DefaultBlockedLinearOp.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 271 of file Thyra_DefaultBlockedLinearOp.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 284 of file Thyra_DefaultBlockedLinearOp.hpp.
| bool Thyra::DefaultBlockedLinearOp< Scalar >::opSupported | ( | ETransp | M_trans | ) | const [protected, virtual] |
Returns true only if all constituent operators support M_trans.
Implements Thyra::SingleScalarLinearOpBase< Scalar >.
Definition at line 340 of file Thyra_DefaultBlockedLinearOp.hpp.
| void Thyra::DefaultBlockedLinearOp< Scalar >::apply | ( | const ETransp | 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 357 of file Thyra_DefaultBlockedLinearOp.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 | |||
| ) | [related] |
Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ].
Definition at line 570 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > block2x1 | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | A10 | |||
| ) | [related] |
Form an implicit block 2x1 linear operator [ A00; A10 ].
Definition at line 590 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > block1x2 | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | A01 | |||
| ) | [related] |
Form an implicit block 1x2 linear operator [ A00, A01 ].
Definition at line 606 of file Thyra_DefaultBlockedLinearOp.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 | |||
| ) | [related] |
Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ].
Definition at line 622 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > nonconstBlock2x1 | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< LinearOpBase< Scalar > > & | A10 | |||
| ) | [related] |
Form an implicit block 2x1 linear operator [ A00; A10 ].
Definition at line 642 of file Thyra_DefaultBlockedLinearOp.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > nonconstBlock1x2 | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | A00, | |
| const Teuchos::RCP< LinearOpBase< Scalar > > & | A01 | |||
| ) | [related] |
Form an implicit block 1x2 linear operator [ A00, A01 ].
Definition at line 658 of file Thyra_DefaultBlockedLinearOp.hpp.
1.4.7