Thyra::LinearOperator< RangeScalar, DomainScalar > Class Template Reference
[Development of linear Abstract Numerical Algorithms (ANAs)]

#include <Thyra_LinearOperatorDecl.hpp>

Inheritance diagram for Thyra::LinearOperator< RangeScalar, DomainScalar >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef RangeScalar Scalar

Public Member Functions

 LinearOperator (const Teuchos::ENull _null=Teuchos::null)
 
 LinearOperator (Teuchos::Handleable< LinearOpBase< RangeScalar, DomainScalar > > *rawPtr)
 Construct from a raw pointer.
 LinearOperator (const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &smartPtr)
 Construct from a smart pointer.
LinearOperator< RangeScalar,
DomainScalar > 
getBlock (int blockRow, int blockCol)
 Return the (blockRow, blockCol)-th subblock.

Related Functions

(Note that these are not member functions.)

LinearOperator< Scalaroperator * (const Scalar &a, const LinearOperator< Scalar > &A)
 Implicitly scale a linear operator.
LinearOperator< Scalaroperator * (const LinearOperator< Scalar > &A, const Scalar &a)
 Implicitly scale a linear operator.
LinearOperator< Scalaroperator * (const LinearOperator< Scalar > &A, const LinearOperator< Scalar > &B)
 Implicitly multiply two linear operators.
LinearOperator< Scalaroperator+ (const LinearOperator< Scalar > &A, const LinearOperator< Scalar > &B)
 Implicitly add two linear operators.
LinearOperator< Scalarblock2x2 (const LinearOperator< Scalar > &A00, const LinearOperator< Scalar > &A01, const LinearOperator< Scalar > &A10, const LinearOperator< Scalar > &A11)
 Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ].
LinearOperator< Scalarblock2x1 (const LinearOperator< Scalar > &A00, const LinearOperator< Scalar > &A10)
 Form an implicit block 2x1 linear operator [ A00; A10 ].
LinearOperator< Scalarblock1x2 (const LinearOperator< Scalar > &A00, const LinearOperator< Scalar > &A01)
 Form an implicit block 1x2 linear operator [ A00, A01 ].

Detailed Description

template<class RangeScalar, class DomainScalar = RangeScalar>
class Thyra::LinearOperator< RangeScalar, DomainScalar >

Handle class for Thyra::LinearOpBase objects which supports operator-overloading implicit linear operator construction.

Definition at line 113 of file Thyra_LinearOperatorDecl.hpp.


Constructor & Destructor Documentation

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOperator< RangeScalar, DomainScalar >::LinearOperator ( const Teuchos::ENull  _null = Teuchos::null  )  [inline]

Definition at line 122 of file Thyra_LinearOperatorDecl.hpp.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOperator< RangeScalar, DomainScalar >::LinearOperator ( Teuchos::Handleable< LinearOpBase< RangeScalar, DomainScalar > > *  rawPtr  )  [inline]

Construct from a raw pointer.

Definition at line 126 of file Thyra_LinearOperatorDecl.hpp.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOperator< RangeScalar, DomainScalar >::LinearOperator ( const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &  smartPtr  )  [inline]

Construct from a smart pointer.

Definition at line 130 of file Thyra_LinearOperatorDecl.hpp.


Member Function Documentation

template<class RangeScalar, class DomainScalar>
LinearOperator< RangeScalar, DomainScalar > Thyra::LinearOperator< RangeScalar, DomainScalar >::getBlock ( int  blockRow,
int  blockCol 
) [inline]

Return the (blockRow, blockCol)-th subblock.

Definition at line 126 of file Thyra_LinearOperatorImpl.hpp.


Friends And Related Function Documentation

template<class RangeScalar, class DomainScalar = RangeScalar>
LinearOperator< Scalar > operator * ( const Scalar a,
const LinearOperator< Scalar > &  A 
) [related]

Implicitly scale a linear operator.

template<class RangeScalar, class DomainScalar = RangeScalar>
LinearOperator< Scalar > operator * ( const LinearOperator< Scalar > &  A,
const Scalar a 
) [related]

Implicitly scale a linear operator.

template<class RangeScalar, class DomainScalar = RangeScalar>
LinearOperator< Scalar > operator * ( const LinearOperator< Scalar > &  A,
const LinearOperator< Scalar > &  B 
) [related]

Implicitly multiply two linear operators.

template<class RangeScalar, class DomainScalar = RangeScalar>
LinearOperator< Scalar > operator+ ( const LinearOperator< Scalar > &  A,
const LinearOperator< Scalar > &  B 
) [related]

Implicitly add two linear operators.

template<class RangeScalar, class DomainScalar = RangeScalar>
LinearOperator< Scalar > block2x2 ( const LinearOperator< Scalar > &  A00,
const LinearOperator< Scalar > &  A01,
const LinearOperator< Scalar > &  A10,
const LinearOperator< Scalar > &  A11 
) [related]

Form an implicit block 2x2 linear operator [ A00, A01; A10, A11 ].

template<class RangeScalar, class DomainScalar = RangeScalar>
LinearOperator< Scalar > block2x1 ( const LinearOperator< Scalar > &  A00,
const LinearOperator< Scalar > &  A10 
) [related]

Form an implicit block 2x1 linear operator [ A00; A10 ].

template<class RangeScalar, class DomainScalar = RangeScalar>
LinearOperator< Scalar > block1x2 ( const LinearOperator< Scalar > &  A00,
const LinearOperator< Scalar > &  A01 
) [related]

Form an implicit block 1x2 linear operator [ A00, A01 ].


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:27:00 2010 for Thyra Operator/Vector Support by  doxygen 1.4.7