Support functions for LinearOpBase interface
[C++ code for foundational Thyra operator/vector interfaces]


Functions

template<class Scalar>
bool Thyra::opSupported (const LinearOpBase< Scalar > &M, ETransp M_trans)
 Determines if an operation is supported for a single scalar type.
template<class RangeScalar, class DomainScalar>
void Thyra::apply (const LinearOpBase< RangeScalar, DomainScalar > &M, const EConj conj, const MultiVectorBase< DomainScalar > &X, MultiVectorBase< RangeScalar > *Y, const RangeScalar alpha=Teuchos::ScalarTraits< RangeScalar >::one(), const RangeScalar beta=Teuchos::ScalarTraits< RangeScalar >::zero())
 Call LinearOpBase::apply() as a global function call.
template<class RangeScalar, class DomainScalar>
void Thyra::applyTranspose (const LinearOpBase< RangeScalar, DomainScalar > &M, const EConj conj, const MultiVectorBase< RangeScalar > &X, MultiVectorBase< DomainScalar > *Y, const DomainScalar alpha=Teuchos::ScalarTraits< DomainScalar >::one(), const DomainScalar beta=Teuchos::ScalarTraits< DomainScalar >::zero())
 Call LinearOpBase::applyTranspose() as a global function call.
template<class Scalar>
void Thyra::apply (const LinearOpBase< Scalar > &M, const ETransp M_trans, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y, const Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), const Scalar beta=Teuchos::ScalarTraits< Scalar >::zero())
 Call LinearOpBase::apply() or LinearOpBase::applyTranspose() as a global function call (for a single scalar type).

Detailed Description

These functions allow a client to use a LinearOpBase object more easily in simpler use cases.

Function Documentation

template<class Scalar>
bool opSupported const LinearOpBase< Scalar > &  M,
ETransp  M_trans
[inline]
 

Determines if an operation is supported for a single scalar type.

Examples:
ComplexFFTLinearOp.hpp, MPITridiagLinearOp.hpp, and SerialTridiagLinearOp.hpp.

Definition at line 426 of file Thyra_LinearOpBaseDecl.hpp.

template<class RangeScalar, class DomainScalar>
void apply const LinearOpBase< RangeScalar, DomainScalar > &  M,
const EConj  conj,
const MultiVectorBase< DomainScalar > &  X,
MultiVectorBase< RangeScalar > *  Y,
const RangeScalar  alpha = Teuchos::ScalarTraits<RangeScalar>::one(),
const RangeScalar  beta = Teuchos::ScalarTraits<RangeScalar>::zero()
[inline]
 

Call LinearOpBase::apply() as a global function call.

Calls M.apply(conj,X,Y,alpha,beta).

Examples:
ComplexFFTLinearOp.hpp, RealComplexFFTLinearOp.hpp, silly1DFFT_serial.cpp, sillyCgSolve.hpp, sillyCgSolve_mpi.cpp, sillyCgSolve_serial.cpp, and sillyPowerMethod.hpp.

Definition at line 439 of file Thyra_LinearOpBaseDecl.hpp.

template<class RangeScalar, class DomainScalar>
void applyTranspose const LinearOpBase< RangeScalar, DomainScalar > &  M,
const EConj  conj,
const MultiVectorBase< RangeScalar > &  X,
MultiVectorBase< DomainScalar > *  Y,
const DomainScalar  alpha = Teuchos::ScalarTraits<DomainScalar>::one(),
const DomainScalar  beta = Teuchos::ScalarTraits<DomainScalar>::zero()
[inline]
 

Call LinearOpBase::applyTranspose() as a global function call.

Calls M.applyTranspose(conj,X,Y,alpha,beta).

Examples:
RealComplexFFTLinearOp.hpp.

Definition at line 492 of file Thyra_LinearOpBaseDecl.hpp.

template<class Scalar>
void apply const LinearOpBase< Scalar > &  M,
const ETransp  M_trans,
const MultiVectorBase< Scalar > &  X,
MultiVectorBase< Scalar > *  Y,
const Scalar  alpha = Teuchos::ScalarTraits<Scalar>::one(),
const Scalar  beta = Teuchos::ScalarTraits<Scalar>::zero()
[inline]
 

Call LinearOpBase::apply() or LinearOpBase::applyTranspose() as a global function call (for a single scalar type).

Calls M.apply(...,X,Y,alpha,beta) or M.applyTranspose(...,X,Y,alpha,beta).

Definition at line 548 of file Thyra_LinearOpBaseDecl.hpp.


Generated on Thu Sep 18 12:39:53 2008 for Thyra ANA Operator/VectorBase Interfaces and Related Software by doxygen 1.3.9.1