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

[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)
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]`

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  1.4.7