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

#include <Thyra_LinearOperatorDecl.hpp>

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

[legend]
List of all members.

Public Member Functions

 ConstLinearOperator ()
 
 ConstLinearOperator (Teuchos::ConstHandleable< LinearOpBase< RangeScalar, DomainScalar > > *rawPtr)
 Construct from a raw pointer.
 ConstLinearOperator (const Teuchos::RefCountPtr< const LinearOpBase< RangeScalar, DomainScalar > > &smartPtr)
 Construct from a smart pointer.
const VectorSpace< DomainScalar > domain () const
 Return the domain space.
const VectorSpace< RangeScalar > range () const
 Return the range space.
void apply (const ConstVector< DomainScalar > &in, Vector< RangeScalar > &out, const RangeScalar &alpha=1.0, const RangeScalar &beta=0.0) const
 Apply the linear operator.
void applyTranspose (const ConstVector< RangeScalar > &in, Vector< DomainScalar > &out, const DomainScalar &alpha=1.0, const DomainScalar &beta=0.0) const
 Apply the transpose of the linear operator.
int numBlockRows () const
 Return the number of block rows.
int numBlockCols () const
 Return the number of block columns.
ConstLinearOperator< RangeScalar,
DomainScalar > 
getBlock (int blockRow, int blockCol) const
 Return the (blockRow, blockCol)-th subblock.

Related Functions

(Note that these are not member functions.)

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

Detailed Description

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

Read-only handle class for Thyra::LinearOpBase objects which supports operator-overloading implicit linear operator construction.
Examples:

sillierCgSolve.hpp, and silliestCgSolve.hpp.

Definition at line 46 of file Thyra_LinearOperatorDecl.hpp.


Constructor & Destructor Documentation

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::ConstLinearOperator  )  [inline]
 

Definition at line 52 of file Thyra_LinearOperatorDecl.hpp.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::ConstLinearOperator Teuchos::ConstHandleable< LinearOpBase< RangeScalar, DomainScalar > > *  rawPtr  )  [inline]
 

Construct from a raw pointer.

Definition at line 55 of file Thyra_LinearOperatorDecl.hpp.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::ConstLinearOperator const Teuchos::RefCountPtr< const LinearOpBase< RangeScalar, DomainScalar > > &  smartPtr  )  [inline]
 

Construct from a smart pointer.

Definition at line 59 of file Thyra_LinearOperatorDecl.hpp.


Member Function Documentation

template<class RangeScalar, class DomainScalar>
const VectorSpace< DomainScalar > Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::domain  )  const [inline]
 

Return the domain space.

Definition at line 46 of file Thyra_LinearOperatorImpl.hpp.

template<class RangeScalar, class DomainScalar>
const VectorSpace< RangeScalar > Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::range  )  const [inline]
 

Return the range space.

Definition at line 51 of file Thyra_LinearOperatorImpl.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::apply const ConstVector< DomainScalar > &  in,
Vector< RangeScalar > &  out,
const RangeScalar &  alpha = 1.0,
const RangeScalar &  beta = 0.0
const [inline]
 

Apply the linear operator.

Compute

 out = beta*out + alpha*op*in;

Definition at line 56 of file Thyra_LinearOperatorImpl.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::applyTranspose const ConstVector< RangeScalar > &  in,
Vector< DomainScalar > &  out,
const DomainScalar &  alpha = 1.0,
const DomainScalar &  beta = 0.0
const [inline]
 

Apply the transpose of the linear operator.

Compute

 out = beta*out + alpha*op^T*in;

Definition at line 73 of file Thyra_LinearOperatorImpl.hpp.

template<class RangeScalar, class DomainScalar>
int Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::numBlockRows  )  const [inline]
 

Return the number of block rows.

Definition at line 91 of file Thyra_LinearOperatorImpl.hpp.

template<class RangeScalar, class DomainScalar>
int Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::numBlockCols  )  const [inline]
 

Return the number of block columns.

Definition at line 97 of file Thyra_LinearOperatorImpl.hpp.

template<class RangeScalar, class DomainScalar>
ConstLinearOperator< RangeScalar, DomainScalar > Thyra::ConstLinearOperator< RangeScalar, DomainScalar >::getBlock int  blockRow,
int  blockCol
const [inline]
 

Return the (blockRow, blockCol)-th subblock.

Definition at line 104 of file Thyra_LinearOperatorImpl.hpp.


Friends And Related Function Documentation

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

Implicitly scale a linear operator.

Definition at line 148 of file Thyra_LinearOperatorImpl.hpp.

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

Implicitly scale a linear operator.

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

Implicitly multiply two linear operators.

Definition at line 164 of file Thyra_LinearOperatorImpl.hpp.

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

Implicitly add two linear operators.

Definition at line 180 of file Thyra_LinearOperatorImpl.hpp.

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

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

Definition at line 196 of file Thyra_LinearOperatorImpl.hpp.

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

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

Definition at line 206 of file Thyra_LinearOperatorImpl.hpp.

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

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

Definition at line 214 of file Thyra_LinearOperatorImpl.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:32:33 2008 for Thyra Operator/Vector Support by doxygen 1.3.9.1