Thyra Namespace Reference


Classes

class  ModelEvaluator
 Pure abstract base interface for evaluating a stateless "model" that can be mapped into a number of different types of problems. More...
class  ModelEvaluatorBase
 Base subclass for ModelEvaluator that defines some basic types. More...
class  NonlinearSolverBase
 Base class for all nonlinear equation solvers. More...
class  BlockedLinearOpWithSolveBase
 Base interface for linear operators with a solve that can be accessed as sub-blocks. More...
class  InverseLinearOpBase
 Base interface for <ttLinearOpBase objects that are implemented in terms of the solve function on a LinearOpWithSolveBase object. More...
class  LinearSolverBuilderBase
 Abstract interface for an object that can create LinearOpWithSolveFactoryBase objects on demand. More...
class  PhysicallyBlockedLinearOpWithSolveBase
 Base interface for linear operators with a solve that are composed out of individual LOB and LOWSB objects.. More...
class  LinearOpSourceBase
 Base interface for objects that can return a linear operator. More...
class  LinearOpWithSolveBase
 Base class for all linear operators that can support a high-level solve operation. More...
class  LinearOpWithSolveFactoryBase
 Factory interface for creating LinearOpWithSolveBase objects from compatible LinearOpBase objects. More...
class  PreconditionerBase
 Simple interface class to access a precreated preconditioner as one or more linear operators objects and information on how they are ment to be applied. More...
class  PreconditionerFactoryBase
 Factory interface for creating precondtioner objects from LinearOpBase objects. More...
struct  SolveMeasureType
 Solve tolerance type. More...
struct  SolveCriteria
 Simple struct that defines the requested solution criteria for a solve. More...
struct  BlockSolveCriteria
 Simple struct that defines the requested solution criteria for a block solve. More...
class  CatastrophicSolveFailure
 Exception type thrown on an catastrophic solve failure. More...
struct  SolveStatus
 Simple struct for the return status from a solve. More...
class  AddedLinearOpBase
 Interface class for implicitly added linear operators. More...
class  BlockedLinearOpBase
 Base interface for linear operators that can be accessed as sub-blocks. More...
class  DiagonalLinearOpBase
 Interface class for for diagonal linear operators. More...
class  IdentityLinearOpBase
 Interface class for identity linear operators. More...
class  MultipliedLinearOpBase
 Interface class for implicitly multiplied linear operators. More...
class  MultiVectorFileIOBase
 Abstract strategy interface for reading and writing (multi)vector objects to and from files. More...
class  MultiVectorRandomizerBase
 Base interface for a strategy object for randomizing a multi-vector. More...
class  PhysicallyBlockedLinearOpBase
 Base interface for physically blocked linear operators. More...
class  ProductMultiVectorBase
 Base interface for product multi-vectors. More...
class  ProductVectorBase
 Base interface for product vectors. More...
class  ProductVectorSpaceBase
 Base interface for product vector spaces. More...
class  ScaledAdjointLinearOpBase
 Base class for LinearOpBase decorator subclasses that wrap a LinearOpBase object and adds on an extra scaling factor and/or a new transpose enum. More...
class  SpmdVectorSpaceBase
 Base abstract VectorSpaceBase class for all SPMD-based vector spaces. More...
class  VectorSpaceConverterBase
 Base interface for a factory that converts vector space types and vectors and multi-vectors from one scalar type to another. More...
class  ZeroLinearOpBase
 Interface class for zero linear operators. More...
class  LinearOpBase
 Base class for all linear operators. More...
class  MultiVectorBase
 Interface for a collection of column vectors called a multi-vector. More...
class  VectorBase
 Abstract interface for finite-dimensional dense vectors. More...
class  VectorSpaceBase
 Abstract interface for objects that represent a space for vectors. More...
class  VectorSpaceFactoryBase
 Abstract interface for objects that can create vector spaces of a specified dimension. More...
class  DefaultEvaluationLoggerModelEvaluator
 This class wraps any ModelEvaluator object and logs the evaluation of various functions. More...
class  DefaultFinalPointCaptureModelEvaluator
 This class wraps any ModelEvaluator object and allows the client to capture the final point that is returned by a client. More...
class  DefaultFiniteDifferenceModelEvaluator
 This class wraps any ModelEvaluator object and computes certain derivatives using finite differences. More...
class  DefaultInverseModelEvaluator
 This class wraps any ModelEvaluator object and adds a simple, but fairly general, inverse response function. More...
class  DefaultLumpedParameterModelEvaluator
 Decorator class that wraps any ModelEvaluator object and lumps parameters together using a linear basis matrix. More...
class  DefaultModelEvaluatorWithSolveFactory
 This class wraps any ModelEvaluator object and uses a compatible LinearOpWithSolveFactory object to create a LinearOpWithSolveBase version of W. More...
class  DefaultMultiPeriodModelEvaluator
 Composite subclass that takes a single ModelEvaluator object and represents it as a single aggregate multi-period ModelEvalator object. More...
class  DefaultNominalBoundsOverrideModelEvaluator
 This class wraps any ModelEvaluator object and allows the client to overide the state contained in the nominal values and the upper and lower bounds. More...
class  DirectionalFiniteDiffCalculator
 Utility calss for computing directional finite differences of a model. More...
class  ModelEvaluatorDefaultBase
 Default base class for concrete model evaluators. More...
class  ModelEvaluatorDelegatorBase
 This is a base class that delegetes almost all function to a wrapped model evaluator object. More...
class  ResponseOnlyModelEvaluatorBase
 This base class defines default function implementations appropritate for a response-only model evaluator (p) -> g(j), for j=0...Ng-1. More...
class  StateFuncModelEvaluatorBase
 This base class defines default function implementations appropritate for a set of nonlinear state functions of the form x -> f(x). More...
class  DampenedNewtonNonlinearSolver
 Simple dampended Newton solver using a Armijo line search :-). More...
class  DefaultStateEliminationModelEvaluator
 This class wraps any ModelEvaluator object along with a NonlinearSolverBase object and eliminates the steady-state equations f(x,...)=0. More...
class  LinearNonlinearSolver
 Concrete nonlinear solver for linear equations. More...
class  DefaultBlockedTriangularLinearOpWithSolve
 Concrete composite LinearOpWithSolveBase subclass that creates single upper or lower block triangular LOWSB object out of a set of LOWSB objects along the diagonal with LOB object on the off diagonal.. More...
class  DefaultDiagonalLinearOpWithSolve
 Concrete LinearOpWithSolveBase subclass for diagonal linear operators. More...
class  DefaultInverseLinearOp
 Concrete LinearOpBase subclass that creates an implicit LinearOpBase object using the inverse action of a LinearOpWithSolveBase object. More...
class  DefaultLinearOpSource
 Default implementation of a LinearOpSourceBase that just accepts and gives up a single linear operator object. More...
class  DefaultMultiVectorLinearOpWithSolve
 Implicit concrete LinearOpWithSolveBase subclass that takes a flattended out multi-vector and performs a multi-RHS solve with it. More...
class  DefaultPreconditioner
 Default implementation of a PreconditionerBase that just accepts precreated preconditioner linear operators. More...
class  DelayedLinearOpWithSolve
 Delayed linear solver construction LinearOpWithSolveBase decorator class. More...
class  DelayedLinearOpWithSolveFactory
 General delayed construction LinearOpWithSolveFactoryBase subclass. More...
class  LinearOpWithSolveTester
 Testing class for LinearOpWithSolveBase. More...
class  SingleRhsLinearOpWithSolveBase
  More...
class  SingleScalarLinearOpWithSolveBase
  More...
class  DefaultSerialVectorSpaceConverter
 Concrete subclass for a converter subclass for converting serial multi-vectors and vectors. More...
class  SerialLinearOpBase
 Base subclass for simplistic in-core serial linear operators. More...
class  SerialVectorSpaceConverterBase
 Node base class for converting serial multi-vectors (and vectors) from one scalar type to another. More...
class  DefaultClusteredSpmdProductVector
 Concrete implementation of a clustered Spmd-based product vector. More...
class  DefaultClusteredSpmdProductVectorSpace
 Concrete subclass of VectorSpaceBase that takes a collection of individual VectorSpaceBase objects distributed over many different processes and creates a single vector space. More...
class  CopyBackSpmdMultiVectorEntries
class  DefaultSpmdMultiVector
 Efficient concrete implementation subclass for SPMD multi-vectors. More...
class  DefaultSpmdMultiVectorFileIO
 Concrete implementation of MultiVectorFileIO that reads and writes SPMD-based (multi)vectors to and from files. More...
class  DefaultSpmdVector
 Efficient concrete implementation subclass for SPMD vectors. More...
class  DefaultSpmdVectorSpace
 Concrete implementation of an SPMD vector space subclass which creates DefaultSpmdVector and DefaultSpmdMultiVector objects. More...
class  DefaultSpmdVectorSpaceFactory
 Concrete implementation of a vector-space factory for a locally-replicated distributed DefaultSpmdVectorSpace objects. More...
class  EuclideanLinearOpBase
 Base interface for Euclidean linear operators. More...
class  EuclideanScalarProd
 Concrete implementation of a scalar product for a Euclidean vector space (i.e. using the dot product). More...
class  LinearOpScalarProd
 Concrete implementation of a scalar product using a symmetric positive-definite linear operator. More...
class  ScalarProdBase
 Abstract interface for scalar products. More...
class  ScalarProdVectorSpaceBase
 Base subclass for VectorSpaceBase that allows the definition of an application-specific scalar product to be swapped in and out. More...
class  SingleRhsEuclideanLinearOpBase
 Base class for linear operators that can only implement a single RHS vector apply operation and only support one scalar type. More...
class  SingleScalarEuclideanLinearOpBase
 Base class for euclidean linear operators that can only handle a single scalar type. More...
class  SpmdLinearOpBase
 Base subclass for simplistic SPMD linear operators. More...
class  SpmdMultiVectorBase
 Base class for SPMD multi-vectors. More...
class  SpmdMultiVectorSerializer
 Concrete utility class for reading and writing SPMD-based MultiVectorBase objects to and from standard streams. More...
class  SpmdVectorBase
 Base class for SPMD vectors that can provide views of contiguous elements in a process. More...
class  SpmdVectorSpaceDefaultBase
 Base VectorSpaceBase class for all SPMD vector spaces with contiguous local-to-global indexing. More...
struct  dump_vec_spaces_t
class  DefaultAddedLinearOp
 Concrete composite LinearOpBase subclass that creates an implicitly added linear operator out of one or more constituent LinearOpBase objects. More...
class  DefaultBlockedLinearOp
 Concrete composite LinearOpBase subclass that creates single linear operator object out of a set of constituent LinearOpBase blocks. More...
class  DefaultColumnwiseMultiVector
 Default subclass for MultiVectorBase implemented using columns of separate abstract vectors. More...
class  DefaultDiagonalLinearOp
 Default concrete LinearOpBase subclass for diagonal linear operators. More...
class  DefaultIdentityLinearOp
 Represents a identity linear operator M = I. More...
class  DefaultMultipliedLinearOp
 Concrete composite LinearOpBase subclass that creates an implicitly multiplied linear operator out of one or more constituent LinearOpBase objects. More...
class  DefaultMultiVectorProductVector
 Concrete implementation of a product vector which is really composed out of the columns of a multi-vector. More...
class  DefaultMultiVectorProductVectorSpace
 Standard concrete implementation of a product vector space that creates product vectors fromed implicitly from the columns of a multi-vector. More...
class  DefaultProductMultiVector
 Concrete implementation of a product multi-vector. More...
class  DefaultProductVector
 Concrete implementation of a product vector. More...
class  DefaultProductVectorSpace
 Standard concrete implementation of a product vector space. More...
class  DefaultScaledAdjointLinearOp
 Concrete decorator LinearOpBase subclass that wraps a LinearOpBase object and adds on an extra scaling factor and/or a transpose enum. More...
class  DefaultZeroLinearOp
 Represents a zero linear operator M = 0. More...
class  ConstDetachedMultiVectorView
 Create an explicit non-mutable (const) view of a MultiVectorBase object. More...
class  DetachedMultiVectorView
 Create an explicit mutable (non-const) view of a MultiVectorBase object. More...
class  ConstDetachedVectorView
 Create an explicit non-mutable (const) view of a VectorBase object. More...
class  DetachedVectorView
 Create an explicit mutable (non-const) view of a VectorBase object. More...
class  ConvertibleToVector
class  OpTimesLC
class  LC2
class  LinearCombinationTester
class  LinearOpDefaultBase
 Node subclass that provides a good default implementation for the describe() function. More...
class  ConstLinearOperator
class  LinearOperator
class  SymmetricLinearOpTester
class  SymmetricLinearOpTester< Scalar, Scalar >
class  LinearOpTester
 Testing class for LinearOpBase. More...
class  ListedMultiVectorRandomizer
 MultiVectorRandomizerBase subclass that returns a revolving list of preset MultiVectorBase objects. More...
class  MultiVectorAllocator
 Allocator class to be used with Teuchos::AbstractFactoryStd to create MultiVectorBase objects of a given size. More...
class  MultiVectorDefaultBase
 Node subclass that uses a default MultiVectorBase implementation to provide default implementations for as many other functions in MultiVectorBase interface the as is reasonable. More...
class  MultiVectorStdOpsTester
 Testing class that tests all of the standard vector operations defined in ??? using an arbitrary vector space. More...
class  MultiVectorTester
 Unit testing class for a MultiVectorBase object. More...
class  ParameterDrivenMultiVectorInput
 Concrete utility class that an ANA can use for reading in a (multi)vector as directed by a parameter sublist. More...
class  SingleRhsLinearOpBase
 Base class for linear operators that can only implement a single RHS vector apply operation and only support one scalar type. More...
class  SingleScalarLinearOpBase
 Base class for linear operators that can only handle a single scalar type. More...
class  TesterBase
class  TestSpecifier
class  UniversalMultiVectorRandomizer
 Univeral MultiVectorRandomizerBase subclass that is compatible with all MultiVectorBase objects. More...
class  Converter
 Converter that defines the interface for objects that can be converted to vectors. More...
class  ConstVector
 Read-only handle class for wrapping Thyra::VectorBase objects and allowing for operator-overloading linear algebra. More...
class  Vector
 Read-write handle class for wrapping Thyra::VectorBase objects and allowing for operator-overloading linear algebra. More...
class  VectorDefaultBase
 Convenient node subclass for concrete VectorBase subclasses that relies on a default MultiVectorBase implementation. More...
class  VectorOpTester
class  VectorSpace
 Handle class for VectorSpaceBase. More...
class  CopyVectorViewBack
class  CopyMultiVectorViewBack
class  VectorSpaceDefaultBase
 Node VectorSpaceBase subclass that provides default implementations for many functions using a default multi-vectors implementation. More...
class  VectorSpaceTester
 Testing class for VectorSpace and the VectorBase and MultiVectorBase objects that it creates. More...
class  VectorStdOpsTesterComparable
class  VectorStdOpsTesterComparable< false, Scalar >
class  VectorStdOpsTesterComparable< true, Scalar >
class  VectorStdOpsTester
 Testing class that tests all of the standard vector operations defined in ??? using an arbitrary vector space. More...
class  VectorTester
 Unit testing class for a VectorBase object. More...
class  LinearOpChanger
 Silly abstract strategy interface for changing Thyra::LinearOpBase objects. More...
class  NullLinearOpChanger
 No-op changer. More...
class  DiagonalEpetraLinearOpWithSolveFactory
  More...
class  EpetraLinearOp
 Concrete LinearOpBase adapter subclass for Epetra_Operator object. More...
class  EpetraLinearOpBase
 Abstract base class for all LinearOpBase objects that can return an Epetra_Operator view of themselves and details about how to apply the view. More...
class  EpetraOperatorViewExtractorBase
 Strategy interface for extracting an Epetra_Operator view out of a Thyra::LinearOpBase<double> object. More...
class  EpetraOperatorViewExtractorStd
 Standard strategy subclass for extracting an Epetra_Operator view out of a Thyra::LinearOpBase<double> object by dynamic casting to the EpetraLinearOpBase interface. More...
class  EpetraOperatorWrapper
 Implements the Epetra_Operator interface with a Thyra LinearOperator. This enables the use of absrtact Thyra operators in AztecOO as preconditioners and operators, without being rendered into concrete Epetra matrices. More...
class  EpetraModelEvaluator
 Concrete Adapter subclass that takes an EpetraExt::ModelEvaluator object and wraps it as a Thyra::ModelEvaluator object. More...
class  TpetraLinearOp
 Concrete LinearOpBase adapter subclass for Tpetra::Operator objects. More...
class  TpetraLinearOpBase
 Abstract base class for all LinearOpBase objects that can return an Tpetra::Operator view of themselves. More...

Namespaces

namespace  ModelEvaluatorHelperPack
namespace  Exceptions
namespace  DirectionalFiniteDiffCalculatorTypes
namespace  ModelEvaluatorDefaultBaseTypes
namespace  SpmdVectorSpaceUtilities
namespace  PDMVIUtilityPack
namespace  TpetraUtils

Typedefs

typedef Teuchos::Range1D::Index Index
 Type for the dimension of a vector space.
typedef Teuchos::Range1D Range1D
 Type for a range of indices.

Enumerations

enum  ESolveMeasureNormType {
  SOLVE_MEASURE_ONE, SOLVE_MEASURE_NORM_RESIDUAL, SOLVE_MEASURE_NORM_SOLUTION, SOLVE_MEASURE_NORM_INIT_RESIDUAL,
  SOLVE_MEASURE_NORM_RHS
}
 Type of solve measure norm. More...
enum  ESolveStatus { SOLVE_STATUS_CONVERGED, SOLVE_STATUS_UNCONVERGED, SOLVE_STATUS_UNKNOWN }
 Solution status. More...
enum  ESupportSolveUse { SUPPORT_SOLVE_UNSPECIFIED, SUPPORT_SOLVE_FORWARD_ONLY, SUPPORT_SOLVE_TRANSPOSE_ONLY, SUPPORT_SOLVE_FORWARD_AND_TRANSPOSE }
 Enum that specifies how a LinearOpWithSolveBase object will be used for solves after it is constructed. More...
enum  EPreconditionerInputType { PRECONDITIONER_INPUT_TYPE_AS_OPERATOR, PRECONDITIONER_INPUT_TYPE_AS_MATRIX }
 Enum defining the status of a preconditioner object. More...
enum  EConj { NONCONJ_ELE, CONJ_ELE }
 Enumeration for determining how a linear operator is applied. More...
enum  ETransp { NOTRANS, CONJ, TRANS, CONJTRANS }
 Enumeration for determining how a linear operator (with a single scalar * type) is applied. More...
enum  EViewType { VIEW_TYPE_DIRECT, VIEW_TYPE_DETACHED }
 Determines if a view is a direct view of data or a detached copy of data. More...
enum  EStrideType { STRIDE_TYPE_UNIT, STRIDE_TYPE_NONUNIT }
 Determine if data is unit stride or non-unit stride. More...
enum  EThrowOnSolveFailure { THROW_ON_SOLVE_FAILURE = 1, IGNORE_SOLVE_FAILURE = 0 }
  More...
enum  EM_VS { VS_RANGE, VS_DOMAIN }
enum  LCSign { LCAdd = 1, LCSubtract = -1 }
 LCSign is used to indicate whether a linear combination object represents addition or subtraction. More...
enum  EAdjointEpetraOp { EPETRA_OP_ADJOINT_SUPPORTED, EPETRA_OP_ADJOINT_UNSUPPORTED }
 Determine if adjoints are supported on Epetra_Opeator or not. More...
enum  EApplyEpetraOpAs { EPETRA_OP_APPLY_APPLY, EPETRA_OP_APPLY_APPLY_INVERSE }
 Determine how the apply an Epetra_Operator as a linear operator. More...
enum  EAdjointTpetraOp { TPETRA_OP_TRANSPOSE_ADJOINT_UNSUPPORTED, TPETRA_OP_ADJOINT_SUPPORTED, TPETRA_OP_TRANSPOSE_SUPPORTED, TPETRA_OP_TRANSPOSE_ADJOINT_SUPPORTED }
 Determine if adjoints are supported on Tpetra_Opeator or not. More...

Functions

std::string toString (ModelEvaluatorBase::EInArgsMembers arg)
std::string toString (ModelEvaluatorBase::EOutArgsMembers arg)
std::string toString (ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
Thyra::ModelEvaluatorBase::EDerivativeMultiVectorOrientation getOtherDerivativeMultiVectorOrientation (ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
template<class Scalar>
bool solveSupports (const LinearOpWithSolveBase< Scalar > &A, const ETransp A_trans)
 Determine if a LinearOpWithSolveBase<Scalar> object supports a particular type of solve or not..
template<class Scalar>
bool solveSupportsSolveMeasureType (const LinearOpWithSolveBase< Scalar > &A, const ETransp A_trans, const SolveMeasureType &solveMeasureType)
 Determine if a LinearOpWithSolveBase<Scalar> object supports a particular type of solve measure or not.
template<class Scalar>
void solve (const LinearOpWithSolveBase< Scalar > &M, const ETransp M_trans, const MultiVectorBase< Scalar > &B, MultiVectorBase< Scalar > *X, const int numBlocks, const BlockSolveCriteria< Scalar > blockSolveCriteria[], SolveStatus< Scalar > blockSolveStatus[])
 Solve a set of linear systems with different convergence criteria targeted to different blocks.
template<class Scalar>
SolveStatus< Scalar > solve (const LinearOpWithSolveBase< Scalar > &A, const ETransp A_trans, const MultiVectorBase< Scalar > &B, MultiVectorBase< Scalar > *X, const SolveCriteria< Scalar > *solveCriteria=NULL)
 Solve a set of forward linear systems with a single set of tolerances and a single scalar type.
template<class RangeScalar, class DomainScalar>
SolveStatus< typename LinearOpWithSolveBase<
RangeScalar, DomainScalar
>::PromotedScalar > 
solve (const LinearOpWithSolveBase< RangeScalar, DomainScalar > &A, const EConj conj, const MultiVectorBase< RangeScalar > &B, MultiVectorBase< DomainScalar > *X, const SolveCriteria< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > *solveCriteria=NULL)
 Solve a set of forward linear systems with a single set of tolerances.
template<class RangeScalar, class DomainScalar>
SolveStatus< typename LinearOpWithSolveBase<
RangeScalar, DomainScalar
>::PromotedScalar > 
solveTranspose (const LinearOpWithSolveBase< RangeScalar, DomainScalar > &A, const EConj conj, const MultiVectorBase< DomainScalar > &B, MultiVectorBase< RangeScalar > *X, const SolveCriteria< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > *solveCriteria=NULL)
 Solve a set of transpose linear systems with a single set of tolerances.
template<class RangeScalar, class DomainScalar>
void solve (const LinearOpWithSolveBase< RangeScalar, DomainScalar > &A, const EConj conj, const MultiVectorBase< RangeScalar > &B, MultiVectorBase< DomainScalar > *X, const int numBlocks, const BlockSolveCriteria< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > blockSolveCriteria[]=NULL, SolveStatus< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > blockSolveStatus[]=NULL)
 Solve a set of forward linear systems with two or more sets of tolerances.
template<class RangeScalar, class DomainScalar>
void solveTranspose (const LinearOpWithSolveBase< RangeScalar, DomainScalar > &A, const EConj conj, const MultiVectorBase< DomainScalar > &B, MultiVectorBase< RangeScalar > *X, const int numBlocks, const BlockSolveCriteria< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > blockSolveCriteria[]=NULL, SolveStatus< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > blockSolveStatus[]=NULL)
 Solve a set of transpose linear systems with two or more sets of tolerances.
const std::string toString (const ESolveMeasureNormType solveMeasureNormType)
 
std::string toString (const SolveMeasureType &solveMeasureType)
 
const std::string toString (const ESolveStatus solveStatus)
 
template<class Scalar>
std::ostream & operator<< (std::ostream &out_arg, const SolveStatus< Scalar > &solveStatus)
 Print the solve status to a stream.
template<class Scalar>
void accumulateSolveStatus (const SolveCriteria< Scalar > &overallSolveCriteria, const SolveStatus< Scalar > &solveStatus, SolveStatus< Scalar > *overallSolveStatus)
 Accumulate solve status objects for solving a block of RHSs is smaller sub-blocks.
template<class Scalar>
Teuchos::RCP< Thyra::ProductVectorBase<
Scalar > > 
nonconstProductVectorBase (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &v)
 Dynamic cast from a VectorBase to a ProductVectorBase object and thow exception if this fails.
template<class Scalar>
Teuchos::RCP< const Thyra::ProductVectorBase<
Scalar > > 
productVectorBase (const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &v)
 Dynamic cast from a const VectorBase to a const ProductVectorBase object and thow exception if this fails.
template<class Scalar>
void unwrap (const LinearOpBase< Scalar > &Op,Scalar *scalar,ETransp *transp,const LinearOpBase< Scalar > **origOp)
 Extract the overallScalar, overallTransp and const origOp from a const LinearOpBase object.
template<class Scalar>
void unwrap (const Teuchos::RCP< const LinearOpBase< Scalar > > &Op,Scalar *scalar,ETransp *transp,Teuchos::RCP< const LinearOpBase< Scalar > > *origOp)
 Extract the overallScalar, overallTransp and Teuchos::RCP wrapped const origOp from a Teuchos::RCP wrapped const LinearOpBase object.
const char * toString (EConj conj)
 Return a string name for a ETransp value.
const char * toString (ETransp transp)
 Return a string name for a ETransp value.
ETransp real_trans (ETransp transp)
 Return NOTRANS or TRANS for real scalar valued operators and this also is used for determining structural transpose.
ETransp not_trans (ETransp transp)
 Perform a not operation on an ETransp value.
ETransp trans_trans (ETransp trans1, ETransp trans2)
 Combine two transpose arguments.
EConj transToConj (ETransp trans)
 Convert from ETransp to EConj.
ETransp applyConjToTrans (EConj conj)
 Convert from EConj to ETransp for forward apply.
ETransp applyTransposeConjToTrans (EConj conj)
 Convert from EConj to ETransp for forward apply.
template<class Scalar>
Teuchos::RCP< const Thyra::VectorSpaceBase<
Scalar > > 
makeHaveOwnership (const RCP< const VectorSpaceBase< Scalar > > &vs)
template<class Scalar>
Teuchos::RCP< Thyra::VectorBase<
Scalar > > 
createMember (const RCP< const VectorSpaceBase< Scalar > > &vs, const std::string &label)
template<class Scalar>
Teuchos::RCP< Thyra::VectorBase<
Scalar > > 
createMember (const VectorSpaceBase< Scalar > &vs, const std::string &label)
template<class Scalar>
Teuchos::RCP< Thyra::MultiVectorBase<
Scalar > > 
createMembers (const RCP< const VectorSpaceBase< Scalar > > &vs, int numMembers, const std::string &label)
template<class Scalar>
Teuchos::RCP< Thyra::MultiVectorBase<
Scalar > > 
createMembers (const VectorSpaceBase< Scalar > &vs, int numMembers, const std::string &label)
template<class Scalar>
Teuchos::RCP< Thyra::VectorBase<
Scalar > > 
createMemberView (const RCP< const VectorSpaceBase< Scalar > > &vs, const RTOpPack::SubVectorView< Scalar > &raw_v, const std::string &label)
template<class Scalar>
Teuchos::RCP< Thyra::VectorBase<
Scalar > > 
createMemberView (const VectorSpaceBase< Scalar > &vs, const RTOpPack::SubVectorView< Scalar > &raw_v, const std::string &label)
template<class Scalar>
Teuchos::RCP< const Thyra::VectorBase<
Scalar > > 
createMemberView (const RCP< const VectorSpaceBase< Scalar > > &vs, const RTOpPack::ConstSubVectorView< Scalar > &raw_v, const std::string &label)
template<class Scalar>
Teuchos::RCP< const Thyra::VectorBase<
Scalar > > 
createMemberView (const VectorSpaceBase< Scalar > &vs, const RTOpPack::ConstSubVectorView< Scalar > &raw_v, const std::string &label)
template<class Scalar>
Teuchos::RCP< Thyra::MultiVectorBase<
Scalar > > 
createMembersView (const RCP< const VectorSpaceBase< Scalar > > &vs, const RTOpPack::SubMultiVectorView< Scalar > &raw_mv, const std::string &label)
template<class Scalar>
Teuchos::RCP< Thyra::MultiVectorBase<
Scalar > > 
createMembersView (const VectorSpaceBase< Scalar > &vs, const RTOpPack::SubMultiVectorView< Scalar > &raw_mv, const std::string &label)
template<class Scalar>
Teuchos::RCP< const Thyra::MultiVectorBase<
Scalar > > 
createMembersView (const RCP< const VectorSpaceBase< Scalar > > &vs, const RTOpPack::ConstSubMultiVectorView< Scalar > &raw_mv, const std::string &label)
template<class Scalar>
Teuchos::RCP< const Thyra::MultiVectorBase<
Scalar > > 
createMembersView (const VectorSpaceBase< Scalar > &vs, const RTOpPack::ConstSubMultiVectorView< Scalar > &raw_mv, const std::string &label)
template<class Scalar>
void eval_f (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x, VectorBase< Scalar > *f)
 Evaluate f(x).
template<class Scalar>
void eval_f_W (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x, VectorBase< Scalar > *f, LinearOpWithSolveBase< Scalar > *W)
 Evaluate f(x) and W(x) = DfDx(x).
template<class Scalar>
void eval_f (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x, const Scalar &t, VectorBase< Scalar > *f)
 Evaluate f(x,t).
template<class Scalar>
void eval_g (const ModelEvaluator< Scalar > &model, const int l, const VectorBase< Scalar > &p_l, const int j, VectorBase< Scalar > *g_j)
 Evaluate g(j)(p)).
template<class Scalar>
void eval_g (const ModelEvaluator< Scalar > &model, const int l, const VectorBase< Scalar > &p_l, const Scalar &t, const int j, VectorBase< Scalar > *g_j)
 Evaluate g(j)(p,t)).
template<class Scalar>
void eval_f (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x_dot, const VectorBase< Scalar > &x, const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t, VectorBase< Scalar > *f)
 Evaluate f(x_dot,x,t).
template<class Scalar>
void eval_f_W (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x_dot, const VectorBase< Scalar > &x, const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t, const Scalar &alpha, const Scalar &beta, VectorBase< Scalar > *f, LinearOpWithSolveBase< Scalar > *W)
 Evaluate f(x_dot,x,t) and W(x_dot,x,t,alpha,beta) = alpha*DfDx_dot(x_dot,x,t) + beta*DfDx(x_dot,x,t).
template<class Scalar>
void eval_f_poly (const ModelEvaluator< Scalar > &model, const Teuchos::Polynomial< VectorBase< Scalar > > &x_poly, const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t, Teuchos::Polynomial< VectorBase< Scalar > > *f_poly)
 
template<class Scalar>
void eval_f_poly (const ModelEvaluator< Scalar > &model, const Teuchos::Polynomial< VectorBase< Scalar > > &x_dot_poly, const VectorBase< Scalar > &x_poly, const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t, Teuchos::Polynomial< VectorBase< Scalar > > *f_poly)
 
template<class Scalar>
Teuchos::RCP< Thyra::ModelEvaluatorBase::InArgs<
Scalar > > 
clone (const ModelEvaluatorBase::InArgs< Scalar > &inArgs)
template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
create_DfDp_mv (const ModelEvaluator< Scalar > &model, int l, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
create_DgDx_dot_mv (const ModelEvaluator< Scalar > &model, int j, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
create_DgDx_mv (const ModelEvaluator< Scalar > &model, int j, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
create_DgDp_mv (const ModelEvaluator< Scalar > &model, int j, int l, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<
Scalar > 
get_dmv (const ModelEvaluatorBase::Derivative< Scalar > &deriv, const std::string &derivName)
template<class Scalar>
Teuchos::RCP< Thyra::MultiVectorBase<
Scalar > > 
get_mv (const ModelEvaluatorBase::Derivative< Scalar > &deriv, const std::string &derivName, ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
template<class Scalar>
void assertDerivSpaces (const std::string &modelEvalDescription, const ModelEvaluatorBase::Derivative< Scalar > &deriv, const std::string &deriv_name, const VectorSpaceBase< Scalar > &fnc_space, const std::string &fnc_space_name, const VectorSpaceBase< Scalar > &var_space, const std::string &var_space_name)
template<class Scalar>
void assertInArgsOutArgsSetup (const std::string &modelEvalDescription, const ModelEvaluatorBase::InArgs< Scalar > &inArgs, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs)
template<class Scalar>
void assertInArgsEvalObjects (const ModelEvaluator< Scalar > &model, const ModelEvaluatorBase::InArgs< Scalar > &inArgs)
template<class Scalar>
void assertOutArgsEvalObjects (const ModelEvaluator< Scalar > &model, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs)
template<class Scalar>
void eval_f (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x, VectorBase< Scalar > *f)
 Evaluate f(x).
template<class Scalar>
void eval_f_W (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x, VectorBase< Scalar > *f, LinearOpWithSolveBase< Scalar > *W)
 Evaluate f(x) and W(x) = DfDx(x).
template<class Scalar>
void eval_f (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x, const Scalar &t, VectorBase< Scalar > *f)
 Evaluate f(x,t).
template<class Scalar>
void eval_g (const ModelEvaluator< Scalar > &model, const int l, const VectorBase< Scalar > &p_l, const int j, VectorBase< Scalar > *g_j)
 Evaluate g(j)(p)).
template<class Scalar>
void eval_g (const ModelEvaluator< Scalar > &model, const int l, const VectorBase< Scalar > &p_l, const Scalar &t, const int j, VectorBase< Scalar > *g_j)
 Evaluate g(j)(p,t)).
template<class Scalar>
void eval_f (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x_dot, const VectorBase< Scalar > &x, const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t, VectorBase< Scalar > *f)
 Evaluate f(x_dot,x,t).
template<class Scalar>
void eval_f_W (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x_dot, const VectorBase< Scalar > &x, const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t, const Scalar &alpha, const Scalar &beta, VectorBase< Scalar > *f, LinearOpWithSolveBase< Scalar > *W)
 Evaluate f(x_dot,x,t) and W(x_dot,x,t,alpha,beta) = alpha*DfDx_dot(x_dot,x,t) + beta*DfDx(x_dot,x,t).
template<class Scalar>
void eval_f_poly (const ModelEvaluator< Scalar > &model, const Teuchos::Polynomial< VectorBase< Scalar > > &x_poly, const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t, Teuchos::Polynomial< VectorBase< Scalar > > *f_poly)
 
template<class Scalar>
void eval_f_poly (const ModelEvaluator< Scalar > &model, const Teuchos::Polynomial< VectorBase< Scalar > > &x_dot_poly, const VectorBase< Scalar > &x_poly, const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &t, Teuchos::Polynomial< VectorBase< Scalar > > *f_poly)
 
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstInverse (const Teuchos::RCP< LinearOpWithSolveBase< Scalar > > &A, const SolveCriteria< Scalar > *fwdSolveCriteria, const EThrowOnSolveFailure throwOnFwdSolveFailure, const SolveCriteria< Scalar > *adjSolveCriteria, const EThrowOnSolveFailure throwOnAdjSolveFailure)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
inverse (const Teuchos::RCP< const LinearOpWithSolveBase< Scalar > > &A, const SolveCriteria< Scalar > *fwdSolveCriteria, const EThrowOnSolveFailure throwOnFwdSolveFailure, const SolveCriteria< Scalar > *adjSolveCriteria, const EThrowOnSolveFailure throwOnAdjSolveFailure)
template<class Scalar>
bool isCompatible (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const LinearOpBase< Scalar > &fwdOp)
 Return if the forward operator is a compatible source for a LOWSFB object.
template<class Scalar>
Teuchos::RCP< LinearOpWithSolveBase<
Scalar > > 
linearOpWithSolve (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 Create and initialize a LinearOpWithSolveBase object from a LinearOpBase object using a LinearOpWithSolveFactoryBase strategy object.
template<class Scalar>
Teuchos::RCP< LinearOpBase<
Scalar > > 
inverse (const LinearOpWithSolveFactoryBase< Scalar > &LOWSF, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED, const SolveCriteria< Scalar > *fwdSolveCriteria=NULL, const EThrowOnSolveFailure throwOnFwdSolveFailure=THROW_ON_SOLVE_FAILURE, const SolveCriteria< Scalar > *adjSolveCriteria=NULL, const EThrowOnSolveFailure throwOnAdjSolveFailure=THROW_ON_SOLVE_FAILURE)
 Form a const implicit inverse operator <tt>M = inv(A) given a factory.
template<class Scalar>
void initializeOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 Initialize a pre-created LOWSB object given a forward operator.
template<class Scalar>
void initializeAndReuseOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, LinearOpWithSolveBase< Scalar > *Op)
 Reinitialize a pre-created LOWSB object given a forward operator, reusing a much as possible from the prior LOWSB object.
template<class Scalar>
void initializePreconditionedOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const Teuchos::RCP< const PreconditionerBase< Scalar > > &prec, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 Initialize a preconditioned LOWSB object given an external preconditioner.
template<class Scalar>
void initializeApproxPreconditionedOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const Teuchos::RCP< const LinearOpBase< Scalar > > &approxFwdOp, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 Initialize a preconditioned LOWSB object given an external operator to be used to generate the preconditioner internally.
template<class Scalar>
void uninitializeOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, LinearOpWithSolveBase< Scalar > *Op, Teuchos::RCP< const LinearOpBase< Scalar > > *fwdOp=NULL, Teuchos::RCP< const PreconditionerBase< Scalar > > *prec=NULL, Teuchos::RCP< const LinearOpBase< Scalar > > *approxFwdOp=NULL, ESupportSolveUse *supportSolveUse=NULL)
 Uninitialized a pre-created LOWSB object, returning input objects used to initialize it.
template<class Scalar>
void assertSupportsSolveMeasureType (const LinearOpWithSolveBase< Scalar > &lows, const ETransp M_trans, const SolveMeasureType &solveMeasureType)
 Assert that a LOWSB object supports a particular solve type.
template<class Scalar>
void assertSupportsSolveMeasureType (const LinearOpWithSolveBase< Scalar > &lows, const ETransp M_trans, const SolveMeasureType &solveMeasureType)
 Assert that a LOWSB object supports a particular solve type.
template<class Scalar>
void initializePrec (const PreconditionerFactoryBase< Scalar > &precFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, PreconditionerBase< Scalar > *prec, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 Initialize a preconditioner from a forward linear operator.
template<class Scalar>
void uninitializePrec (const PreconditionerFactoryBase< Scalar > &precFactory, PreconditionerBase< Scalar > *prec, Teuchos::RCP< const LinearOpBase< Scalar > > *fwdOp=NULL, ESupportSolveUse *supportSolveUse=NULL)
 Uninitialize a preconditioner and optionally extra what was used to create it.
template<class Scalar>
Teuchos::RCP< PreconditionerBase<
Scalar > > 
prec (const PreconditionerFactoryBase< Scalar > &precFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 Create and initialize a preconditioner from a forward linear operator.
template<class Scalar>
void apply_op_validate_input (const char func_name[],const VectorSpaceBase< Scalar > &space,const RTOpPack::RTOpT< Scalar > &op,const int num_vecs,const VectorBase< Scalar > *const vecs[],const int num_targ_vecs,VectorBase< Scalar > *const targ_vecs[],RTOpPack::ReductTarget *reduct_obj,const Index first_ele_offset,const Index sub_dim,const Index global_offset)
 Validate the inputs to VectorBase::applyOp().
template<class Scalar>
void apply_op_validate_input (const char Func_name[],const VectorSpaceBase< Scalar > &domain,const VectorSpaceBase< Scalar > &range,const RTOpPack::RTOpT< Scalar > &primary_op,const int num_multi_vecs,const MultiVectorBase< Scalar > *const multi_vecs[],const int num_targ_multi_vecs,MultiVectorBase< Scalar > *const targ_multi_vecs[],RTOpPack::ReductTarget *const reduct_objs[],const Index primary_first_ele_offset,const Index primary_sub_dim,const Index primary_global_offset,const Index secondary_first_ele_offset,const Index secondary_sub_dim)
 Validate the inputs to MultiVectorBase::applyOp().
template<class Scalar>
void apply_op_serial (const VectorSpaceBase< Scalar > &space,const RTOpPack::RTOpT< Scalar > &op,const int num_vecs,const VectorBase< Scalar > *const vecs[],const int num_targ_vecs,VectorBase< Scalar > *const targ_vecs[],RTOpPack::ReductTarget *reduct_obj,const Index first_ele_offset,const Index sub_dim,const Index global_offset)
 Implements reduction/transformation operators for all serial vectors using just the public vector interface.
template<class Scalar>
void apply_op_serial (const VectorSpaceBase< Scalar > &domain,const VectorSpaceBase< Scalar > &range,const RTOpPack::RTOpT< Scalar > &primary_op,const int num_multi_vecs,const MultiVectorBase< Scalar > *const multi_vecs[],const int num_targ_multi_vecs,MultiVectorBase< Scalar > *const targ_multi_vecs[],RTOpPack::ReductTarget *const reduct_objs[],const Index primary_first_ele_offset,const Index primary_sub_dim,const Index primary_global_offset,const Index secondary_first_ele_offset,const Index secondary_sub_dim)
 Implements reduction/transformation operators for all serial multi-vectors using just the public vector interface.
template<class Scalar>
dump_vec_spaces_t< Scalar > dump_vec_spaces (const Thyra::VectorSpaceBase< Scalar > &vec_space1, const std::string &vec_space1_name, const Thyra::VectorSpaceBase< Scalar > &vec_space2, const std::string &vec_space2_name)
template<class Scalar>
std::ostream & operator<< (std::ostream &o, const dump_vec_spaces_t< Scalar > &d)
template<class Scalar>
const Thyra::VectorSpaceBase<
Scalar > & 
linear_op_op (const Thyra::LinearOpBase< Scalar > &M, Thyra::ETransp M_trans, EM_VS M_VS)
 Utility function for selecting domain or range spaces.
template<class Scalar>
void assertLinearOpPlusLinearOpNames (const std::string &funcName, const LinearOpBase< Scalar > &M1, const ETransp M1_trans_in, const std::string &M1_name, const LinearOpBase< Scalar > &M2, const ETransp M2_trans_in, const std::string &M2_name)
template<class Scalar>
void assertLinearOpTimesLinearOpNames (const std::string &funcName, const LinearOpBase< Scalar > &M1, const ETransp M1_trans_in, const std::string &M1_name, const LinearOpBase< Scalar > &M2, const ETransp M2_trans_in, const std::string &M2_name)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstAdd (const Teuchos::RCP< LinearOpBase< Scalar > > &A, const Teuchos::RCP< LinearOpBase< Scalar > > &B)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
add (const Teuchos::RCP< const LinearOpBase< Scalar > > &A, const Teuchos::RCP< const LinearOpBase< Scalar > > &B)
template<class Scalar>
Teuchos::RCP< const Thyra::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)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
block2x1 (const Teuchos::RCP< const LinearOpBase< Scalar > > &A00, const Teuchos::RCP< const LinearOpBase< Scalar > > &A10)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
block1x2 (const Teuchos::RCP< const LinearOpBase< Scalar > > &A00, const Teuchos::RCP< const LinearOpBase< Scalar > > &A01)
template<class Scalar>
Teuchos::RCP< Thyra::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)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstBlock2x1 (const Teuchos::RCP< LinearOpBase< Scalar > > &A00, const Teuchos::RCP< LinearOpBase< Scalar > > &A10)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstBlock1x2 (const Teuchos::RCP< LinearOpBase< Scalar > > &A00, const Teuchos::RCP< LinearOpBase< Scalar > > &A01)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
identity (const Teuchos::RCP< const VectorSpaceBase< Scalar > > &space)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstMultiply (const Teuchos::RCP< LinearOpBase< Scalar > > &A, const Teuchos::RCP< LinearOpBase< Scalar > > &B, const std::string &M_label)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
multiply (const Teuchos::RCP< const LinearOpBase< Scalar > > &A, const Teuchos::RCP< const LinearOpBase< Scalar > > &B, const std::string &M_label)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
multiply (const Teuchos::RCP< const LinearOpBase< Scalar > > &A, const Teuchos::RCP< const LinearOpBase< Scalar > > &B, const Teuchos::RCP< const LinearOpBase< Scalar > > &C, const std::string &M_label)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstScale (const Scalar &scalar, const RCP< LinearOpBase< Scalar > > &Op)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
scale (const Scalar &scalar, const RCP< const LinearOpBase< Scalar > > &Op)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstAdjoint (const RCP< LinearOpBase< Scalar > > &Op)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
adjoint (const RCP< const LinearOpBase< Scalar > > &Op)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstTranspose (const RCP< LinearOpBase< Scalar > > &Op)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
transpose (const RCP< const LinearOpBase< Scalar > > &Op)
template<class Scalar>
Teuchos::RCP< Thyra::LinearOpBase<
Scalar > > 
nonconstScaleAndAdjoint (const Scalar &scalar, const ETransp &transp, const RCP< LinearOpBase< Scalar > > &Op)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
scaleAndAdjoint (const Scalar &scalar, const ETransp &transp, const RCP< const LinearOpBase< Scalar > > &Op)
template<class Scalar>
Teuchos::RCP< const Thyra::LinearOpBase<
Scalar > > 
zero (const Teuchos::RCP< const VectorSpaceBase< Scalar > > &range, const Teuchos::RCP< const VectorSpaceBase< Scalar > > &domain)
template<class RangeScalar, class DomainScalar>
void describeLinearOp (const LinearOpBase< RangeScalar, DomainScalar > &A,Teuchos::FancyOStream &out,const Teuchos::EVerbosityLevel verbLevel)
 Basic implementation of a describe function for a linear operator.
template<class Scalar, class Node>
Thyra::Vector< Scalar > formVector (const OpTimesLC< Scalar, Node > &lc)
template<class Scalar, class Node1, class Node2>
Thyra::Vector< Scalar > formVector (const LC2< Scalar, Node1, Node2 > &lc)
template<class Scalar, class Node>
OpTimesLC< Scalar, Node > operator * (const Scalar &alpha, const OpTimesLC< Scalar, Node > &x)
template<class Scalar, class Node>
OpTimesLC< Scalar, Node > operator * (const OpTimesLC< Scalar, Node > &x, const Scalar &alpha)
template<class Scalar, class Node1, class Node2>
OpTimesLC< Scalar, LC2< Scalar,
Node1, Node2 > > 
operator * (const Scalar &alpha, const LC2< Scalar, Node1, Node2 > &x)
template<class Scalar, class Node1, class Node2>
OpTimesLC< Scalar, LC2< Scalar,
Node1, Node2 > > 
operator * (const LC2< Scalar, Node1, Node2 > &x, const Scalar &alpha)
template<class Scalar>
OpTimesLC< Scalar, Thyra::ConstVector<
Scalar > > 
operator * (const ConstLinearOperator< Scalar > &op, const Thyra::ConstVector< Scalar > &x)
template<class Scalar, class Node>
OpTimesLC< Scalar, Node > operator * (const ConstLinearOperator< Scalar > &op, const OpTimesLC< Scalar, Node > &x)
template<class Scalar, class Node1, class Node2>
OpTimesLC< Scalar, LC2< Scalar,
Node1, Node2 > > 
operator * (const ConstLinearOperator< Scalar > &op, const LC2< Scalar, Node1, Node2 > &x)
template<class Scalar>
LC2< Scalar, Thyra::ConstVector<
Scalar >, Thyra::ConstVector<
Scalar > > 
operator+ (const Thyra::ConstVector< Scalar > &x1, const Thyra::ConstVector< Scalar > &x2)
template<class Scalar>
LC2< Scalar, Thyra::ConstVector<
Scalar >, Thyra::ConstVector<
Scalar > > 
operator- (const Thyra::ConstVector< Scalar > &x1, const Thyra::ConstVector< Scalar > &x2)
template<class Scalar, class Node>
LC2< Scalar, Thyra::ConstVector<
Scalar >, OpTimesLC< Scalar,
Node > > 
operator+ (const Thyra::ConstVector< Scalar > &x1, const OpTimesLC< Scalar, Node > &x2)
template<class Scalar, class Node>
LC2< Scalar, Thyra::ConstVector<
Scalar >, OpTimesLC< Scalar,
Node > > 
operator- (const Thyra::ConstVector< Scalar > &x1, const OpTimesLC< Scalar, Node > &x2)
template<class Scalar, class Node>
LC2< Scalar, OpTimesLC< Scalar,
Node >, Thyra::ConstVector<
Scalar > > 
operator+ (const OpTimesLC< Scalar, Node > &x1, const Thyra::ConstVector< Scalar > &x2)
template<class Scalar, class Node>
LC2< Scalar, OpTimesLC< Scalar,
Node >, Thyra::ConstVector<
Scalar > > 
operator- (const OpTimesLC< Scalar, Node > &x1, const Thyra::ConstVector< Scalar > &x2)
template<class Scalar, class Node1, class Node2>
LC2< Scalar, OpTimesLC< Scalar,
Node1 >, OpTimesLC< Scalar,
Node2 > > 
operator+ (const OpTimesLC< Scalar, Node1 > &x1, const OpTimesLC< Scalar, Node2 > &x2)
template<class Scalar, class Node1, class Node2>
LC2< Scalar, OpTimesLC< Scalar,
Node1 >, OpTimesLC< Scalar,
Node2 > > 
operator- (const OpTimesLC< Scalar, Node1 > &x1, const OpTimesLC< Scalar, Node2 > &x2)
template<class Scalar, class Node1, class Node2>
LC2< Scalar, Thyra::ConstVector<
Scalar >, LC2< Scalar, Node1,
Node2 > > 
operator+ (const Thyra::ConstVector< Scalar > &x1, const LC2< Scalar, Node1, Node2 > &x2)
template<class Scalar, class Node1, class Node2>
LC2< Scalar, Thyra::ConstVector<
Scalar >, LC2< Scalar, Node1,
Node2 > > 
operator- (const Thyra::ConstVector< Scalar > &x1, const LC2< Scalar, Node1, Node2 > &x2)
template<class Scalar, class Node1, class Node2>
LC2< Scalar, LC2< Scalar,
Node1, Node2 >, Thyra::ConstVector<
Scalar > > 
operator+ (const LC2< Scalar, Node1, Node2 > &x1, const Thyra::ConstVector< Scalar > &x2)
template<class Scalar, class Node1, class Node2>
LC2< Scalar, LC2< Scalar,
Node1, Node2 >, Thyra::ConstVector<
Scalar > > 
operator- (const LC2< Scalar, Node1, Node2 > &x1, const Thyra::ConstVector< Scalar > &x2)
template<class Scalar, class Node0, class Node1, class Node2>
LC2< Scalar, OpTimesLC< Scalar,
Node0 >, LC2< Scalar, Node1,
Node2 > > 
operator+ (const OpTimesLC< Scalar, Node0 > &x1, const LC2< Scalar, Node1, Node2 > &x2)
template<class Scalar, class Node0, class Node1, class Node2>
LC2< Scalar, OpTimesLC< Scalar,
Node0 >, LC2< Scalar, Node1,
Node2 > > 
operator- (const OpTimesLC< Scalar, Node0 > &x1, const LC2< Scalar, Node1, Node2 > &x2)
template<class Scalar, class Node1, class Node2, class Node3>
LC2< Scalar, LC2< Scalar,
Node1, Node2 >, OpTimesLC<
Scalar, Node3 > > 
operator+ (const LC2< Scalar, Node1, Node2 > &x1, const OpTimesLC< Scalar, Node3 > &x2)
template<class Scalar, class Node1, class Node2, class Node3>
LC2< Scalar, LC2< Scalar,
Node1, Node2 >, OpTimesLC<
Scalar, Node3 > > 
operator- (const LC2< Scalar, Node1, Node2 > &x1, const OpTimesLC< Scalar, Node3 > &x2)
template<class Scalar, class Node1, class Node2, class Node3, class Node4>
LC2< Scalar, LC2< Scalar,
Node1, Node2 >, LC2< Scalar,
Node3, Node4 > > 
operator+ (const LC2< Scalar, Node1, Node2 > &x1, const LC2< Scalar, Node3, Node4 > &x2)
template<class Scalar, class Node1, class Node2, class Node3, class Node4>
LC2< Scalar, LC2< Scalar,
Node1, Node2 >, LC2< Scalar,
Node3, Node4 > > 
operator- (const LC2< Scalar, Node1, Node2 > &x1, const LC2< Scalar, Node3, Node4 > &x2)
template<class Scalar>
ConstLinearOperator< Scalar > identity (const VectorSpace< Scalar > &space)
 Create an identity operator.
template<class Scalar>
ConstLinearOperator< Scalar > zero (const VectorSpace< Scalar > &range, const VectorSpace< Scalar > &domain)
 Create an identity operator.
template<class Scalar>
ConstLinearOperator< Scalar > operator * (const Scalar &a, const ConstLinearOperator< Scalar > &A)
template<class Scalar>
LinearOperator< Scalar > operator * (const Scalar &a, const LinearOperator< Scalar > &A)
template<class Scalar>
ConstLinearOperator< Scalar > operator * (const ConstLinearOperator< Scalar > &A, const ConstLinearOperator< Scalar > &B)
template<class Scalar>
LinearOperator< Scalar > operator * (const LinearOperator< Scalar > &A, const LinearOperator< Scalar > &B)
template<class Scalar>
ConstLinearOperator< Scalar > operator+ (const ConstLinearOperator< Scalar > &A, const ConstLinearOperator< Scalar > &B)
template<class Scalar>
LinearOperator< Scalar > operator+ (const LinearOperator< Scalar > &A, const LinearOperator< Scalar > &B)
template<class Scalar>
ConstLinearOperator< Scalar > block2x2 (const ConstLinearOperator< Scalar > &A00, const ConstLinearOperator< Scalar > &A01, const ConstLinearOperator< Scalar > &A10, const ConstLinearOperator< Scalar > &A11)
template<class Scalar>
ConstLinearOperator< Scalar > block2x1 (const ConstLinearOperator< Scalar > &A00, const ConstLinearOperator< Scalar > &A10)
template<class Scalar>
ConstLinearOperator< Scalar > block1x2 (const ConstLinearOperator< Scalar > &A00, const ConstLinearOperator< Scalar > &A01)
template<class Scalar>
LinearOperator< Scalar > block2x2 (const LinearOperator< Scalar > &A00, const LinearOperator< Scalar > &A01, const LinearOperator< Scalar > &A10, const LinearOperator< Scalar > &A11)
template<class Scalar>
LinearOperator< Scalar > block2x1 (const LinearOperator< Scalar > &A00, const LinearOperator< Scalar > &A10)
template<class Scalar>
LinearOperator< Scalar > block1x2 (const LinearOperator< Scalar > &A00, const LinearOperator< Scalar > &A01)
template<class Scalar>
Thyra::ConstLinearOperator<
Scalar > 
identity (const VectorSpace< Scalar > &space)
 Create an identity operator.
template<class Scalar>
Thyra::ConstLinearOperator<
Scalar > 
zero (const VectorSpace< Scalar > &range, const VectorSpace< Scalar > &domain)
 Create an identity operator.
template<class Scalar>
void norms (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[])
 Column-wise multi-vector natural norm.
template<class Scalar, class NormOp>
void reductions (const MultiVectorBase< Scalar > &V, const NormOp &op, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[])
 Column-wise multi-vector reductions.
template<class Scalar>
void dots (const MultiVectorBase< Scalar > &V1, const MultiVectorBase< Scalar > &V2, Scalar dots[])
 Multi-vector dot product.
template<class Scalar>
void sums (const MultiVectorBase< Scalar > &V, Scalar sums[])
 Multi-vector column sum.
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
norm_1 (const MultiVectorBase< Scalar > &V)
 Take the induced matrix one norm of a multi-vector.
template<class Scalar>
void scale (Scalar alpha, MultiVectorBase< Scalar > *V)
 V = alpha*V.
template<class Scalar>
void scaleUpdate (const VectorBase< Scalar > &a, const MultiVectorBase< Scalar > &U, MultiVectorBase< Scalar > *V)
 A*U + V -> V (where A is a diagonal matrix with diagonal a).
template<class Scalar>
void assign (MultiVectorBase< Scalar > *V, Scalar alpha)
 V = alpha.
template<class Scalar>
void assign (MultiVectorBase< Scalar > *V, const MultiVectorBase< Scalar > &U)
 V = U.
template<class Scalar>
void update (Scalar alpha, const MultiVectorBase< Scalar > &U, MultiVectorBase< Scalar > *V)
 alpha*U + V -> V
template<class Scalar>
void update (Scalar alpha[], Scalar beta, const MultiVectorBase< Scalar > &U, MultiVectorBase< Scalar > *V)
 alpha[j-1]*beta*U(j) + V(j) - > V(j), for j = 0 ... U.domain()->dim()-1
template<class Scalar>
void update (const MultiVectorBase< Scalar > &U, Scalar alpha[], Scalar beta, MultiVectorBase< Scalar > *V)
 U(j) + alpha[j-1]*beta*V(j) - > V(j), for j = 0 ... U.domain()->dim()-1.
template<class Scalar>
void linear_combination (const int m,const Scalar alpha[],const MultiVectorBase< Scalar > *X[],const Scalar &beta,MultiVectorBase< Scalar > *Y)
 Y.col(j)(i) = beta*Y.col(j)(i) + sum( alpha[k]*X[k].col(j)(i), k=0...m-1 ), for i = 0...Y->range()->dim()-1, j = 0...Y->domain()->dim()-1.
template<class Scalar>
void randomize (Scalar l, Scalar u, MultiVectorBase< Scalar > *V)
 Generate a random multi-vector with elements uniformly distributed elements.
template<class Scalar>
void Vt_S (MultiVectorBase< Scalar > *Z, const Scalar &alpha)
 Z(i,j) *= alpha, i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.
template<class Scalar>
void Vp_S (MultiVectorBase< Scalar > *Z, const Scalar &alpha)
 Z(i,j) += alpha, i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.
template<class Scalar>
void Vp_V (MultiVectorBase< Scalar > *Z, const MultiVectorBase< Scalar > &X)
 Z(i,j) += X(i,j), i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.
template<class Scalar>
void V_VpV (MultiVectorBase< Scalar > *Z, const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y)
 Z(i,j) = X(i,j) + Y(i,j), i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.
template<class Scalar>
void V_VmV (MultiVectorBase< Scalar > *Z, const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y)
 Z(i,j) = X(i,j) - Y(i,j), i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.
template<class Scalar>
void V_StVpV (MultiVectorBase< Scalar > *Z, const Scalar &alpha, const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y)
 Z(i,j) = alpha*X(i,j) + Y(i), i = 0...z->space()->dim()-1, , j = 0...Z->domain()->dim()-1.
template<class Scalar>
void norms_1 (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[])
 Column-wise multi-vector one norm.
template<class Scalar>
void norms_2 (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[])
 Column-wise multi-vector 2 (Euclidean) norm.
template<class Scalar>
void norms_inf (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[])
 Column-wise multi-vector infinity norm.
template<class Scalar>
Array< typename Teuchos::ScalarTraits<
Scalar >::magnitudeType > 
norms_inf (const MultiVectorBase< Scalar > &V)
 Column-wise multi-vector infinity norm.
template<class Scalar>
void norms_1 (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[])
 Column-wise multi-vector one norm.
template<class Scalar>
void norms_2 (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[])
 Column-wise multi-vector 2 (Euclidean) norm.
template<class Scalar>
void norms_inf (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[])
 Column-wise multi-vector infinity norm.
template<class Scalar>
Teuchos::Array< typename Teuchos::ScalarTraits<
Scalar >::magnitudeType > 
norms_inf (const MultiVectorBase< Scalar > &V)
 Column-wise multi-vector infinity norm.
template<class Scalar>
void VProd (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y, VectorBase< Scalar > *z)
 element-wise product
template<class Scalar>
void VDiv (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y, VectorBase< Scalar > *z)
 element-wise divide
template<class Scalar>
void VScale (const Scalar &c, const VectorBase< Scalar > &x, VectorBase< Scalar > *z)
 scale by a constant
template<class Scalar>
void VAddConst (const Scalar &c, const VectorBase< Scalar > &x, VectorBase< Scalar > *z)
 add a constant
template<class Scalar>
Scalar VWL2Norm (const VectorBase< Scalar > &x, const VectorBase< Scalar > &w)
 weighted L2 norm
template<class Scalar>
Scalar VWrmsNorm (const VectorBase< Scalar > &x, const VectorBase< Scalar > &w)
 weighted rms norm
template<class Scalar>
Scalar VWrmsMaskNorm (const VectorBase< Scalar > &x, const VectorBase< Scalar > &w, const VectorBase< Scalar > &id)
 weighted L2 norm with mask
template<class Scalar>
Scalar VMinQuotient (const VectorBase< Scalar > &num, const VectorBase< Scalar > &denom)
 minimum quotient
template<class Scalar>
bool VConstrMask (const VectorBase< Scalar > &x, const VectorBase< Scalar > &constraint, VectorBase< Scalar > *mask)
 constraint mask
template<class Scalar>
bool VInvTest (const VectorBase< Scalar > &v_rhs, VectorBase< Scalar > *v_lhs)
 invert with nonzero test
template<class Scalar>
void VCompare (const Scalar &alpha, const VectorBase< Scalar > &x, VectorBase< Scalar > *y)
 compare to a scalar
bool testBoolExpr (const std::string &boolExprName,const bool &boolExpr,const bool &boolExpected,std::ostream *out,const std::string &leadingIndent=std::string(""))
 Check a boolean result against expected result.
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
relErr (const Scalar &s1, const Scalar &s2)
 Return relative error of two scalars.
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
relVectorErr (const VectorBase< Scalar > &v1, const VectorBase< Scalar > &v2)
 Return relative error of two vectors.
template<class Scalar>
bool testRelErr (const std::string &v1_name,const Scalar &v1,const std::string &v2_name,const Scalar &v2,const std::string &maxRelErr_error_name,const typename Teuchos::ScalarTraits< Scalar >::magnitudeType &maxRelErr_error,const std::string &maxRelErr_warning_name,const typename Teuchos::ScalarTraits< Scalar >::magnitudeType &maxRelErr_warning,std::ostream *out,const std::string &leadingIndent=std::string(""))
 Compute, check and optionally print the relative error in two scalars.
template<class Scalar1, class Scalar2, class ScalarMag>
bool testRelErrors (const int num_scalars,const std::string &v1_name,const Scalar1 v1[],const std::string &v2_name,const Scalar2 v2[],const std::string &maxRelErr_error_name,const ScalarMag &maxRelErr_error,const std::string &maxRelErr_warning_name,const ScalarMag &maxRelErr_warning,std::ostream *out,const std::string &leadingIndent=std::string(""))
 Compute, check and optionally print the relative errors in two scalar arays.
template<class Scalar>
bool testRelNormDiffErr (const std::string &v1_name, const VectorBase< Scalar > &v1, const std::string &v2_name, const VectorBase< Scalar > &v2, const std::string &maxRelErr_error_name, const typename Teuchos::ScalarTraits< Scalar >::magnitudeType &maxRelErr_error, const std::string &maxRelErr_warning_name, const typename Teuchos::ScalarTraits< Scalar >::magnitudeType &maxRelErr_warning, std::ostream *out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_LOW, const std::string &leadingIndent=std::string(""))
 Compute, check and optionally print the relative errors in two vectors.
template<class Scalar>
bool testMaxErr (const std::string &error_name,const Scalar &error,const std::string &max_error_name,const typename Teuchos::ScalarTraits< Scalar >::magnitudeType &max_error,const std::string &max_warning_name,const typename Teuchos::ScalarTraits< Scalar >::magnitudeType &max_warning,std::ostream *out,const std::string &leadingIndent=std::string(""))
 Check that an error is less than some error tolerence.
template<class Scalar>
bool testMaxErrors (const int num_scalars,const std::string &error_name,const Scalar error[],const std::string &max_error_name,const typename Teuchos::ScalarTraits< Scalar >::magnitudeType &max_error,const std::string &max_warning_name,const typename Teuchos::ScalarTraits< Scalar >::magnitudeType &max_warning,std::ostream *out,const std::string &leadingIndent=std::string(""))
 Check that an array of errors is less than some error tolerence.
template<class Scalar>
std::ostream & operator<< (std::ostream &o, const VectorBase< Scalar > &v)
 Output operator to pretty print any Thyra::VectorBase object.
template<class Scalar>
std::ostream & operator<< (std::ostream &o, const LinearOpBase< Scalar > &M)
 Output operator to pretty print any Thyra::LinearOpBase object.
const std::string passfail (bool pass)
 Return "passed" or "failed".
void printTestResults (const bool result, const std::string &test_summary, const bool show_all_tests, bool *success, std::ostream *out)
 Print summary outputting for a test or just passed or failed.
void printTestResults (const bool result, const std::string &test_summary, const bool show_all_tests, bool *success, std::ostream *out)
 Print summary outputting for a test or just passed or failed.
template<class Scalar>
ConstVector< Scalar > toVector (const Converter< Scalar, ConstVector< Scalar > > &x)
 THYRA_UNARY_VECTOR_OP_DECL (copy, copyInto, assign,"copy")
 THYRA_UNARY_VECTOR_OP_DECL (abs, absInto, abs,"absolute value")
 THYRA_UNARY_VECTOR_OP_DECL (reciprocal, reciprocalInto, reciprocal,"reciprocal")
 THYRA_UNARY_VECTOR_ROP_MAG_DECL (norm, norm,"natural norm")
 THYRA_UNARY_VECTOR_ROP_MAG_DECL (norm1, norm_1,"1-norm")
 THYRA_UNARY_VECTOR_ROP_MAG_DECL (norm2, norm_2,"2-norm")
 THYRA_UNARY_VECTOR_ROP_MAG_DECL (normInf, norm_inf,"inf-norm")
 THYRA_UNARY_VECTOR_ROP_DECL (sum, sum,"sum of the elements")
 THYRA_BINARY_VECTOR_ROP_DECL (inner, scalarProd,"Inner or scalar product")
 THYRA_UNARY_VECTOR_ROP_MAG_DECL (max, max,"max element")
 THYRA_UNARY_VECTOR_ROP_MAG_DECL (min, min,"min element")
template<class Scalar>
void setToConstant (Vector< Scalar > &x, const Scalar &a)
template<class Scalar>
void zeroOut (Vector< Scalar > &x)
template<class Scalar>
Scalar maxloc (const Converter< Scalar, ConstVector< Scalar > > &x, Index &index)
template<class Scalar>
Scalar minloc (const Converter< Scalar, ConstVector< Scalar > > &x, Index &index)
template<class Scalar>
Scalar minloc (const Converter< Scalar, ConstVector< Scalar > > &x, const Scalar &bound, Index &index)
template<class Scalar>
Scalar maxloc (const Converter< Scalar, ConstVector< Scalar > > &x, const Scalar &bound, Index &index)
template<class Scalar>
void dotStarInto (const Converter< Scalar, ConstVector< Scalar > > &x, const Converter< Scalar, ConstVector< Scalar > > &y, Vector< Scalar > &result)
template<class Scalar>
Vector< Scalar > dotStar (const Converter< Scalar, ConstVector< Scalar > > &xIn, const Converter< Scalar, ConstVector< Scalar > > &y)
template<class Scalar>
void dotSlashInto (const Converter< Scalar, ConstVector< Scalar > > &x, const Converter< Scalar, ConstVector< Scalar > > &y, Vector< Scalar > &result)
template<class Scalar>
Vector< Scalar > dotSlash (const Converter< Scalar, ConstVector< Scalar > > &xIn, const Converter< Scalar, ConstVector< Scalar > > &y)
template<class Scalar>
void axpy (const Scalar &a, const Converter< Scalar, ConstVector< Scalar > > &xIn, Vector< Scalar > &y)
template<class Scalar>
void scale (Vector< Scalar > &x, const Scalar &a)
template<class Scalar>
void scaleInto (const Converter< Scalar, ConstVector< Scalar > > &x, const Scalar &alpha, Vector< Scalar > &result)
template<class Scalar>
std::ostream & operator<< (std::ostream &os, const ConstVector< Scalar > &v)
template<class Scalar>
Index dim (const ConstVector< Scalar > &x)
template<class Scalar>
VectorSpace< Scalar > space (const ConstVector< Scalar > &x)
template<class Scalar>
Teuchos::RCP< const VectorSpaceBase<
Scalar > > 
productSpace (const Teuchos::Array< VectorSpace< Scalar > > &spaces)
template<class Scalar>
Teuchos::RCP< const VectorSpaceBase<
Scalar > > 
productSpace (VectorSpace< Scalar > &s1)
template<class Scalar>
Teuchos::RCP< const VectorSpaceBase<
Scalar > > 
productSpace (VectorSpace< Scalar > &s1, VectorSpace< Scalar > &s2)
template<class Scalar>
Teuchos::RCP< const VectorSpaceBase<
Scalar > > 
productSpace (VectorSpace< Scalar > &s1, VectorSpace< Scalar > &s2, VectorSpace< Scalar > &s3)
template<class Scalar>
int lowestLocallyOwnedIndex (const VectorSpace< Scalar > &s)
template<class Scalar>
int numLocalElements (const VectorSpace< Scalar > &s)
template<class Scalar>
bool isSPMD (const VectorSpace< Scalar > &s)
template<class Scalar>
bool indexIsLocal (const VectorSpace< Scalar > &s, Index i)
template<class Scalar>
Scalar sum (const VectorBase< Scalar > &v)
 Sum of vector elements: result = sum( v(i), i = 0...v.space()->dim()-1 ).
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
norm_1 (const VectorBase< Scalar > &v)
 One (1) norm: result = ||v||1.
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
norm_2 (const VectorBase< Scalar > &v)
 Euclidean (2) norm: result = ||v||2.
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
norm_2 (const VectorBase< Scalar > &w, const VectorBase< Scalar > &v)
 Weighted Euclidean (2) norm: result = sqrt( sum( w(i)*conj(v(i))*v(i)) ).
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
norm_inf (const VectorBase< Scalar > &v_rhs)
 Infinity norm: result = ||v||inf.
template<class Scalar>
Scalar dot (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y)
 Dot product: result = conj(x)'*y.
template<class Scalar>
Scalar get_ele (const VectorBase< Scalar > &v, Index i)
 Get single element: result = v(i).
template<class Scalar>
void set_ele (Index i, Scalar alpha, VectorBase< Scalar > *v)
 Set single element: v(i) = alpha.
template<class Scalar>
void put_scalar (const Scalar &alpha, VectorBase< Scalar > *y)
 Assign all elements to a scalar: y(i) = alpha, i = 0...y->space()->dim()-1.
template<class Scalar>
void copy (const VectorBase< Scalar > &x, VectorBase< Scalar > *y)
 VectorBase assignment: y(i) = x(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void add_scalar (const Scalar &alpha, VectorBase< Scalar > *y)
 Add a scalar to all elements: y(i) += alpha, i = 0...y->space()->dim()-1.
template<class Scalar>
void scale (const Scalar &alpha, VectorBase< Scalar > *y)
 Scale all elements by a scalar: y(i) *= alpha, i = 0...y->space()->dim()-1.
template<class Scalar>
void abs (VectorBase< Scalar > *y, const VectorBase< Scalar > &x)
 Element-wise absolute valuey(i) = abs(x(i)), i = 0...y->space()->dim()-1.
template<class Scalar>
void reciprocal (VectorBase< Scalar > *y, const VectorBase< Scalar > &x)
 Element-wise reciprocal: y(i) = 1/x(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void ele_wise_prod (const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &v, VectorBase< Scalar > *y)
 Element-wise product update: y(i) += alpha * x(i) * v(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void Vp_StVtV (VectorBase< Scalar > *y, const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &v)
 Element-wise product update: y(i) += alpha * x(i) * v(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void ele_wise_prod_update (const Scalar &alpha, const VectorBase< Scalar > &x, VectorBase< Scalar > *y)
 Element-wise product update: y(i) *= alpha * x(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void Vt_StV (VectorBase< Scalar > *y, const Scalar &alpha, const VectorBase< Scalar > &x)
 Element-wise product update: y(i) *= alpha * x(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void ele_wise_divide (const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &v, VectorBase< Scalar > *y)
 Element-wise division update: y(i) += alpha * x(i) / v(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void linear_combination (const int m,const Scalar alpha[],const VectorBase< Scalar > *x[],const Scalar &beta,VectorBase< Scalar > *y)
 Linear combination: y(i) = beta*y(i) + sum( alpha[k]*x[k](i), k=0...m-1 ), i = 0...y->space()->dim()-1.
template<class Scalar>
void seed_randomize (unsigned int s)
 Seed the random number generator used in randomize().
template<class Scalar>
void randomize (Scalar l, Scalar u, VectorBase< Scalar > *v)
 Random vector generation: v(i) = rand(l,u), , i = 1...v->space()->dim().
template<class Scalar>
void assign (VectorBase< Scalar > *y, const Scalar &alpha)
 Assign all elements to a scalar: y(i) = alpha, i = 0...y->space()->dim()-1.
template<class Scalar>
void assign (VectorBase< Scalar > *y, const VectorBase< Scalar > &x)
 VectorBase assignment: y(i) = x(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void Vp_S (VectorBase< Scalar > *y, const Scalar &alpha)
 Add a scalar to all elements: y(i) += alpha, i = 0...y->space()->dim()-1.
template<class Scalar>
void Vt_S (VectorBase< Scalar > *y, const Scalar &alpha)
 Scale all elements by a scalar: y(i) *= alpha, i = 0...y->space()->dim()-1.
template<class Scalar>
void V_StV (VectorBase< Scalar > *y, const Scalar &alpha, const VectorBase< Scalar > &x)
 Assign scaled vector: y(i) = alpha * x(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void Vp_StV (VectorBase< Scalar > *y, const Scalar &alpha, const VectorBase< Scalar > &x)
 AXPY: y(i) = alpha * x(i) + y(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void Vp_V (VectorBase< Scalar > *y, const VectorBase< Scalar > &x, const Scalar &beta=Teuchos::ScalarTraits< Scalar >::one())
 y(i) = x(i) + beta*y(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void V_V (VectorBase< Scalar > *y, const VectorBase< Scalar > &x)
 y(i) = x(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void V_S (VectorBase< Scalar > *y, const Scalar &alpha)
 y(i) = alpha, i = 0...y->space()->dim()-1.
template<class Scalar>
void V_VpV (VectorBase< Scalar > *z, const VectorBase< Scalar > &x, const VectorBase< Scalar > &y)
 z(i) = x(i) + y(i), i = 0...z->space()->dim()-1.
template<class Scalar>
void V_VmV (VectorBase< Scalar > *z, const VectorBase< Scalar > &x, const VectorBase< Scalar > &y)
 z(i) = x(i) - y(i), i = 0...z->space()->dim()-1.
template<class Scalar>
void V_StVpV (VectorBase< Scalar > *z, const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &y)
 z(i) = alpha*x(i) + y(i), i = 0...z->space()->dim()-1.
template<class Scalar>
void V_StVpStV (VectorBase< Scalar > *z, const Scalar &alpha, const VectorBase< Scalar > &x, const Scalar &beta, const VectorBase< Scalar > &y)
 z(i) = alpha*x(i) + beta*y(i), i = 0...z->space()->dim()-1.
template<class Scalar>
Scalar min (const VectorBase< Scalar > &x)
 Min element: result = min{ x(i), i = 0...x.space()->dim()-1 } .
template<class Scalar>
void min (const VectorBase< Scalar > &x, Scalar *maxEle, Index *maxIndex)
 Min element and its index: Returns maxEle = x(k) and maxIndex = k such that x(k) <= x(i) for all i = 0...x.space()->dim()-1.
template<class Scalar>
void minGreaterThanBound (const VectorBase< Scalar > &x, const Scalar &bound, Scalar *minEle, Index *minIndex)
 Minimum element greater than some bound and its index: Returns minEle = x(k) and minIndex = k such that x(k) <= x(i) for all i where x(i) > bound.
template<class Scalar>
Scalar max (const VectorBase< Scalar > &x)
 Max element: result = max{ x(i), i = 1...n } .
template<class Scalar>
void max (const VectorBase< Scalar > &x, Scalar *maxEle, Index *maxIndex)
 Max element and its index: Returns maxEle = x(k) and maxIndex = k such that x(k) >= x(i) for i = 0...x.space()->dim()-1.
template<class Scalar>
void maxLessThanBound (const VectorBase< Scalar > &x, const Scalar &bound, Scalar *maxEle, Index *maxIndex)
 Max element less than bound and its index: Returns maxEle = x(k) and maxIndex = k such that x(k) >= x(i) for all i where x(i) < bound.
template<class Scalar>
Scalar scalarProd (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y)
 Scalar product result = <x,y>.
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
norm (const VectorBase< Scalar > &v)
 Natural norm: result = sqrt(<v,v>).
template<class Scalar>
Scalar scalarProd (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y)
 Scalar product result = <x,y>.
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
norm (const VectorBase< Scalar > &v)
 Natural norm: result = sqrt(<v,v>).
std::string Thyra_Version ()
 Print the version of Thyra.
template<class Scalar>
bool run_std_ops_tests (const int n, const typename Teuchos::ScalarTraits< Scalar >::magnitudeType max_rel_err, const bool dumpAll, Teuchos::FancyOStream *out_arg)
 Main test driver that runs tests on all standard operators.
Teuchos::RCP< const Thyra::LinearOpBase<
double > > 
makeEpetraWrapper (const ConstLinearOperator< double > &thyraOp)
Teuchos::RCP< const Teuchos::Comm<
Thyra::Index > > 
create_Comm (const RCP< const Epetra_Comm > &epetraComm)
 Given an Epetra_Comm object, return an equivalent Teuchos::Comm object.
Teuchos::RCP< const Thyra::VectorSpaceBase<
double > > 
create_VectorSpace (const RCP< const Epetra_Map > &epetra_map)
 Create an VectorSpaceBase object given an Epetra_Map object.
Teuchos::RCP< const Thyra::VectorSpaceBase<
double > > 
create_LocallyReplicatedVectorSpace (const RCP< const VectorSpaceBase< double > > &parentSpace, const int dim)
 Create a VectorSpaceBase object that creates locally replicated vector objects.
Teuchos::RCP< Thyra::VectorBase<
double > > 
create_Vector (const RCP< Epetra_Vector > &epetra_v, const RCP< const VectorSpaceBase< double > > &space)
 Create a non-const VectorBase object from a non-const Epetra_Vector object.
Teuchos::RCP< const Thyra::VectorBase<
double > > 
create_Vector (const RCP< const Epetra_Vector > &epetra_v, const RCP< const VectorSpaceBase< double > > &space)
 Create an const VectorBase wrapper object for a const Epetra_Vector object.
Teuchos::RCP< Thyra::MultiVectorBase<
double > > 
create_MultiVector (const RCP< Epetra_MultiVector > &epetra_mv, const RCP< const VectorSpaceBase< double > > &range, const RCP< const VectorSpaceBase< double > > &domain=Teuchos::null)
 Create a non-const MultiVectorBase object from a non-const Epetra_MultiVector object.
Teuchos::RCP< const Thyra::MultiVectorBase<
double > > 
create_MultiVector (const RCP< const Epetra_MultiVector > &epetra_mv, const RCP< const VectorSpaceBase< double > > &range, const RCP< const VectorSpaceBase< double > > &domain=Teuchos::null)
 Create an const MultiVectorBase wrapper object for a const Epetra_MultiVector object.
Teuchos::RCP< Epetra_Vector > get_Epetra_Vector (const Epetra_Map &map, const RCP< VectorBase< double > > &v)
 Get a non-const Epetra_Vector view from a non-const VectorBase object if possible.
Teuchos::RCP< const Epetra_Vector > get_Epetra_Vector (const Epetra_Map &map, const RCP< const VectorBase< double > > &v)
 Get a const Epetra_Vector view from a const VectorBase object if possible.
Teuchos::RCP< Epetra_MultiVector > get_Epetra_MultiVector (const Epetra_Map &map, const RCP< MultiVectorBase< double > > &mv)
 Get a non-const Epetra_MultiVector view from a non-const MultiVectorBase object if possible.
Teuchos::RCP< const Epetra_MultiVector > get_Epetra_MultiVector (const Epetra_Map &map, const RCP< const MultiVectorBase< double > > &mv)
 Get a const Epetra_MultiVector view from a const MultiVectorBase object if possible.
Teuchos::RCP< Epetra_MultiVector > get_Epetra_MultiVector (const Epetra_Map &map, MultiVectorBase< double > &mv)
 Get a non-const Epetra_MultiVector view from a non-const MultiVectorBase object if possible where the client must maintain the memory of the input multivector.
Teuchos::RCP< const Epetra_MultiVector > get_Epetra_MultiVector (const Epetra_Map &map, const MultiVectorBase< double > &mv)
 Get a const Epetra_MultiVector view from a const MultiVectorBase object if possible where the client must maintain the memory of the input multivector.
const char * toString (const EAdjointEpetraOp adjointEpetraOp)
 
const char * toString (const EApplyEpetraOpAs applyEpetraOpAs)
 
Teuchos::RCP< Epetra_Operator > get_Epetra_Operator (LinearOpBase< double > &op)
 Get smart pointer to non-const Epetra_Operator object from reference to a non-const EpetraLinearOp accessed through its LinearOpBase interface.
Teuchos::RCP< const Epetra_Operator > get_Epetra_Operator (const LinearOpBase< double > &op)
 Get smart pointer to const Epetra_Operator object from reference to a const EpetraLinearOp accessed through its LinearOpBase interface.
Teuchos::RCP< Thyra::EpetraModelEvaluatorepetraModelEvaluator (const RCP< const EpetraExt::ModelEvaluator > &epetraModel, const RCP< LinearOpWithSolveFactoryBase< double > > &W_factory)
Thyra::ModelEvaluatorBase::EDerivativeMultiVectorOrientation convert (const EpetraExt::ModelEvaluator::EDerivativeMultiVectorOrientation &mvOrientation)
EpetraExt::ModelEvaluator::EDerivativeMultiVectorOrientation convert (const ModelEvaluatorBase::EDerivativeMultiVectorOrientation &mvOrientation)
Thyra::ModelEvaluatorBase::DerivativeProperties convert (const EpetraExt::ModelEvaluator::DerivativeProperties &derivativeProperties)
Thyra::ModelEvaluatorBase::DerivativeSupport convert (const EpetraExt::ModelEvaluator::DerivativeSupport &derivativeSupport)
EpetraExt::ModelEvaluator::Derivative convert (const ModelEvaluatorBase::Derivative< double > &derivative, const RCP< const Epetra_Map > &fnc_map, const RCP< const Epetra_Map > &var_map)
template<typename Ordinal, typename Packet>
Teuchos::RCP< const Teuchos::Comm<
Index > > 
create_Comm (const Teuchos::RCP< const Tpetra::Comm< Ordinal, Packet > > &tpetraComm)
 Given a Tpetra::Comm object, return an equivalent Teuchos::Comm>/tt> object.
template<class Ordinal, class Scalar>
Teuchos::RCP< const SpmdVectorSpaceDefaultBase<
Scalar > > 
create_VectorSpace (const Teuchos::RCP< const Tpetra::VectorSpace< Ordinal, Scalar > > &tpetra_vs)
 Concrete an SpmdVectorSpaceBase object given an Tpetra::VectorSpace object.
template<class Ordinal, class Scalar>
Teuchos::RCP< SpmdVectorBase<
Scalar > > 
create_Vector (const Teuchos::RCP< Tpetra::Vector< Ordinal, Scalar > > &tpetra_v, const Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > &space=Teuchos::null)
 Create a non-const SpmdVectorBase object from a const> Tpetra::Vector object.
template<class Ordinal, class Scalar>
Teuchos::RCP< const SpmdVectorBase<
Scalar > > 
create_Vector (const Teuchos::RCP< const Tpetra::Vector< Ordinal, Scalar > > &tpetra_v, const Teuchos::RCP< const SpmdVectorSpaceBase< Scalar > > &space=Teuchos::null)
 Create an const SpmdVectorBase wrapper object for a const Tpetra::Vector object.
template<class Ordinal, class Scalar>
Teuchos::RCP< Tpetra::Vector<
Ordinal, Scalar > > 
get_Tpetra_Vector (const Tpetra::VectorSpace< Ordinal, Scalar > &tpetra_vs, const Teuchos::RCP< VectorBase< Scalar > > &v)
 Get a non-const Tpetra::Vector view from a non-const VectorBase object if possible.
template<class Ordinal, class Scalar>
Teuchos::RCP< const Tpetra::Vector<
Ordinal, Scalar > > 
get_Tpetra_Vector (const Tpetra::VectorSpace< Ordinal, Scalar > &tpetra_vs, const Teuchos::RCP< const VectorBase< Scalar > > &v)
 Get a const Tpetra::Vector view from a const VectorBase object if possible.
template<class Ordinal, class Scalar>
Teuchos::RCP< Tpetra::Operator<
Ordinal, Scalar > > 
get_Tpetra_Operator (LinearOpBase< Scalar > &op)
 Get smart pointer to non-const Tpetra::Operator object from reference to a non-const TpetraLinearOp accessed through its LinearOpBase interface.
template<class Ordinal, class Scalar>
Teuchos::RCP< const Tpetra::Operator<
Ordinal, Scalar > > 
get_Tpetra_Operator (const LinearOpBase< Scalar > &op)
 Get smart pointer to const Tpetra::Operator object from reference to a const TpetraLinearOp accessed through its LinearOpBase interface.
template<typename Ordinal, typename Packet>
Teuchos::RCP< const Teuchos::Comm<
Thyra::Index > > 
create_Comm (const Teuchos::RCP< const Tpetra::Comm< Ordinal, Packet > > &tpetraComm)
 Given a Tpetra::Comm object, return an equivalent Teuchos::Comm>/tt> object.
template<class Ordinal, class Scalar>
Teuchos::RCP< const Thyra::SpmdVectorSpaceDefaultBase<
Scalar > > 
create_VectorSpace (const Teuchos::RCP< const Tpetra::VectorSpace< Ordinal, Scalar > > &tpetra_vs)
 Concrete an SpmdVectorSpaceBase object given an Tpetra::VectorSpace object.
template<class Ordinal, class Scalar>
Teuchos::RCP< Thyra::SpmdVectorBase<
Scalar > > 
create_Vector (const Teuchos::RCP< Tpetra::Vector< Ordinal, Scalar > > &tpetra_v, const Teuchos::RCP< const Thyra::SpmdVectorSpaceBase< Scalar > > &space_in)
 Create a non-const SpmdVectorBase object from a const> Tpetra::Vector object.
template<class Ordinal, class Scalar>
Teuchos::RCP< const Thyra::SpmdVectorBase<
Scalar > > 
create_Vector (const Teuchos::RCP< const Tpetra::Vector< Ordinal, Scalar > > &tpetra_v, const Teuchos::RCP< const Thyra::SpmdVectorSpaceBase< Scalar > > &space_in)
 Create an const SpmdVectorBase wrapper object for a const Tpetra::Vector object.
template<class Ordinal, class Scalar>
Teuchos::RCP< Tpetra::Vector<
Ordinal, Scalar > > 
get_Tpetra_Vector (const Tpetra::VectorSpace< Ordinal, Scalar > &tpetra_vs, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &v)
 Get a non-const Tpetra::Vector view from a non-const VectorBase object if possible.
template<class Ordinal, class Scalar>
Teuchos::RCP< const Tpetra::Vector<
Ordinal, Scalar > > 
get_Tpetra_Vector (const Tpetra::VectorSpace< Ordinal, Scalar > &tpetra_vs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &v)
 Get a const Tpetra::Vector view from a const VectorBase object if possible.
template<class Ordinal, class Scalar>
Teuchos::RCP< Tpetra::Operator<
Ordinal, Scalar > > 
get_Tpetra_Operator (Thyra::LinearOpBase< Scalar > &op)
 Get smart pointer to non-const Tpetra::Operator object from reference to a non-const TpetraLinearOp accessed through its LinearOpBase interface.
template<class Ordinal, class Scalar>
Teuchos::RCP< const Tpetra::Operator<
Ordinal, Scalar > > 
get_Tpetra_Operator (const Thyra::LinearOpBase< Scalar > &op)
 Get smart pointer to const Tpetra::Operator object from reference to a const TpetraLinearOp accessed through its LinearOpBase interface.
const char * toString (const EAdjointTpetraOp adjointTpetraOp)
 


Enumeration Type Documentation

enum Thyra::EThrowOnSolveFailure

Enumerator:
THROW_ON_SOLVE_FAILURE  Throw an exception if a solve fails to converge.
IGNORE_SOLVE_FAILURE  Don't throw an exception if a solve fails to converge.

Definition at line 41 of file Thyra_DefaultInverseLinearOpDecl.hpp.

enum Thyra::EM_VS

Enumerator:
VS_RANGE 
VS_DOMAIN 

Definition at line 105 of file Thyra_AssertOp.hpp.


Function Documentation

std::string Thyra::toString ( ModelEvaluatorBase::EInArgsMembers  arg  )  [inline]

Definition at line 774 of file Thyra_ModelEvaluatorBase.hpp.

std::string Thyra::toString ( ModelEvaluatorBase::EOutArgsMembers  arg  )  [inline]

Definition at line 801 of file Thyra_ModelEvaluatorBase.hpp.

std::string Thyra::toString ( ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation  )  [inline]

Definition at line 822 of file Thyra_ModelEvaluatorBase.hpp.

Thyra::ModelEvaluatorBase::EDerivativeMultiVectorOrientation Thyra::getOtherDerivativeMultiVectorOrientation ( ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation  )  [related]

Definition at line 842 of file Thyra_ModelEvaluatorBase.hpp.

template<class Scalar>
bool Thyra::solveSupports ( const LinearOpWithSolveBase< Scalar > &  A,
const ETransp  A_trans 
)

Determine if a LinearOpWithSolveBase<Scalar> object supports a particular type of solve or not..

Definition at line 524 of file Thyra_LinearOpWithSolveBaseDecl.hpp.

template<class Scalar>
bool Thyra::solveSupportsSolveMeasureType ( const LinearOpWithSolveBase< Scalar > &  A,
const ETransp  A_trans,
const SolveMeasureType &  solveMeasureType 
)

Determine if a LinearOpWithSolveBase<Scalar> object supports a particular type of solve measure or not.

Definition at line 546 of file Thyra_LinearOpWithSolveBaseDecl.hpp.

template<class Scalar>
void Thyra::solve ( const LinearOpWithSolveBase< Scalar > &  M,
const ETransp  M_trans,
const MultiVectorBase< Scalar > &  B,
MultiVectorBase< Scalar > *  X,
const int  numBlocks,
const BlockSolveCriteria< Scalar >  blockSolveCriteria[],
SolveStatus< Scalar >  blockSolveStatus[] 
)

Solve a set of linear systems with different convergence criteria targeted to different blocks.

Definition at line 571 of file Thyra_LinearOpWithSolveBaseDecl.hpp.

template<class Scalar>
SolveStatus<Scalar> Thyra::solve ( const LinearOpWithSolveBase< Scalar > &  A,
const ETransp  A_trans,
const MultiVectorBase< Scalar > &  B,
MultiVectorBase< Scalar > *  X,
const SolveCriteria< Scalar > *  solveCriteria = NULL 
)

Solve a set of forward linear systems with a single set of tolerances and a single scalar type.

This function allows a single interface for accessing LinearOpWithSolveBase::solve() or LinearOpWithSolveBase::solveTranspose() for operators only templated on a single scalar type for the domain and the range.

See the implementation of this function for details.

Definition at line 604 of file Thyra_LinearOpWithSolveBaseDecl.hpp.

template<class RangeScalar, class DomainScalar>
SolveStatus<typename LinearOpWithSolveBase<RangeScalar,DomainScalar>::PromotedScalar> Thyra::solve ( const LinearOpWithSolveBase< RangeScalar, DomainScalar > &  A,
const EConj  conj,
const MultiVectorBase< RangeScalar > &  B,
MultiVectorBase< DomainScalar > *  X,
const SolveCriteria< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > *  solveCriteria = NULL 
)

Solve a set of forward linear systems with a single set of tolerances.

See the implementation of this function for details.

Definition at line 626 of file Thyra_LinearOpWithSolveBaseDecl.hpp.

template<class RangeScalar, class DomainScalar>
SolveStatus<typename LinearOpWithSolveBase<RangeScalar,DomainScalar>::PromotedScalar> Thyra::solveTranspose ( const LinearOpWithSolveBase< RangeScalar, DomainScalar > &  A,
const EConj  conj,
const MultiVectorBase< DomainScalar > &  B,
MultiVectorBase< RangeScalar > *  X,
const SolveCriteria< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > *  solveCriteria = NULL 
)

Solve a set of transpose linear systems with a single set of tolerances.

See the implementation of this function for details.

Definition at line 660 of file Thyra_LinearOpWithSolveBaseDecl.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::solve ( const LinearOpWithSolveBase< RangeScalar, DomainScalar > &  A,
const EConj  conj,
const MultiVectorBase< RangeScalar > &  B,
MultiVectorBase< DomainScalar > *  X,
const int  numBlocks,
const BlockSolveCriteria< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar >  blockSolveCriteria[] = NULL,
SolveStatus< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar >  blockSolveStatus[] = NULL 
)

Solve a set of forward linear systems with two or more sets of tolerances.

See the implementation of this function for details.

Definition at line 693 of file Thyra_LinearOpWithSolveBaseDecl.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::solveTranspose ( const LinearOpWithSolveBase< RangeScalar, DomainScalar > &  A,
const EConj  conj,
const MultiVectorBase< DomainScalar > &  B,
MultiVectorBase< RangeScalar > *  X,
const int  numBlocks,
const BlockSolveCriteria< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar >  blockSolveCriteria[] = NULL,
SolveStatus< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar >  blockSolveStatus[] = NULL 
)

Solve a set of transpose linear systems with two or more sets of tolerances.

See the implementation of this function for details.

Definition at line 717 of file Thyra_LinearOpWithSolveBaseDecl.hpp.

const std::string Thyra::toString ( const ESolveMeasureNormType  solveMeasureNormType  )  [inline]

Definition at line 59 of file Thyra_SolveSupportTypes.hpp.

std::string Thyra::toString ( const SolveMeasureType &  solveMeasureType  )  [inline]

Definition at line 117 of file Thyra_SolveSupportTypes.hpp.

const std::string Thyra::toString ( const ESolveStatus  solveStatus  )  [inline]

Definition at line 197 of file Thyra_SolveSupportTypes.hpp.

template<class Scalar>
std::ostream& Thyra::operator<< ( std::ostream &  out_arg,
const SolveStatus< Scalar > &  solveStatus 
)

Print the solve status to a stream.

Definition at line 246 of file Thyra_SolveSupportTypes.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::ProductVectorBase<Scalar> > Thyra::nonconstProductVectorBase ( const Teuchos::RCP< Thyra::VectorBase< Scalar > > &  v  )  [inline]

Dynamic cast from a VectorBase to a ProductVectorBase object and thow exception if this fails.

Definition at line 124 of file Thyra_ProductVectorBase.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::ProductVectorBase<Scalar> > Thyra::productVectorBase ( const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &  v  )  [inline]

Dynamic cast from a const VectorBase to a const ProductVectorBase object and thow exception if this fails.

Definition at line 138 of file Thyra_ProductVectorBase.hpp.

template<class Scalar>
void Thyra::unwrap ( const LinearOpBase< Scalar > &  Op,
Scalar *  scalar,
ETransp transp,
const LinearOpBase< Scalar > **  origOp 
)

Extract the overallScalar, overallTransp and const origOp from a const LinearOpBase object.

Parameters:
Op [in] The input, possibly scaled and/or adjoined, linear operator
scalar [out] The overall scaling factor.
transp [out] The overall adjoint (transposition) enum.
origOp [out] The underlying, non-scaled and non-adjoined linear operator. This pointer returns a non-persisting relationship that is to be used and then immediately forgotten.
Preconditions:

Postconditions:

The purpose of this function is to strip off the ScaledAdjointLinearOpBase wrapper and get at the underlying linear operator for the purpose of further dynamic casting to some more derived interface.

The implementation of this function is not too complicated and is appropriate for study.

Definition at line 36 of file Thyra_ScaledAdjointLinearOpBase.hpp.

template<class Scalar>
void Thyra::unwrap ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  Op,
Scalar *  scalar,
ETransp transp,
Teuchos::RCP< const LinearOpBase< Scalar > > *  origOp 
)

Extract the overallScalar, overallTransp and Teuchos::RCP wrapped const origOp from a Teuchos::RCP wrapped const LinearOpBase object.

Parameters:
Op [in] The input, possibly scaled and/or adjoined, linear operator
scalar [out] The overall scaling factor.
transp [out] The overall adjoint (transposition) enum.
origOp [out] The underlying, non-scaled and non-adjoined linear operator. This pointer returns a non-persisting relationship that is to be used and then immediately forgotten.
Preconditions:

Postconditions:

The purpose of this function is to strip off the ScaledAdjointLinearOpBase wrapper and get at the underlying linear operator for the purpose of further dynamic casting to some more derived interface.

The implementation of this function is not too complicated and is appropriate for study.

Definition at line 64 of file Thyra_ScaledAdjointLinearOpBase.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > Thyra::makeHaveOwnership ( const RCP< const VectorSpaceBase< Scalar > > &  vs  )  [related]

Definition at line 70 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP< Thyra::VectorBase<Scalar> > Thyra::createMember ( const RCP< const VectorSpaceBase< Scalar > > &  vs,
const std::string &  label 
) [related]

Definition at line 84 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP< Thyra::VectorBase<Scalar> > Thyra::createMember ( const VectorSpaceBase< Scalar > &  vs,
const std::string &  label 
) [related]

Definition at line 100 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP< Thyra::MultiVectorBase<Scalar> > Thyra::createMembers ( const RCP< const VectorSpaceBase< Scalar > > &  vs,
int  numMembers,
const std::string &  label 
) [related]

Definition at line 109 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP< Thyra::MultiVectorBase<Scalar> > Thyra::createMembers ( const VectorSpaceBase< Scalar > &  vs,
int  numMembers,
const std::string &  label 
) [related]

Definition at line 126 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::VectorBase<Scalar> > Thyra::createMemberView ( const RCP< const VectorSpaceBase< Scalar > > &  vs,
const RTOpPack::SubVectorView< Scalar > &  raw_v,
const std::string &  label 
) [related]

Definition at line 136 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::VectorBase<Scalar> > Thyra::createMemberView ( const VectorSpaceBase< Scalar > &  vs,
const RTOpPack::SubVectorView< Scalar > &  raw_v,
const std::string &  label 
) [related]

Definition at line 151 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::VectorBase<Scalar> > Thyra::createMemberView ( const RCP< const VectorSpaceBase< Scalar > > &  vs,
const RTOpPack::ConstSubVectorView< Scalar > &  raw_v,
const std::string &  label 
) [related]

Definition at line 162 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::VectorBase<Scalar> > Thyra::createMemberView ( const VectorSpaceBase< Scalar > &  vs,
const RTOpPack::ConstSubVectorView< Scalar > &  raw_v,
const std::string &  label 
) [related]

Definition at line 178 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::MultiVectorBase<Scalar> > Thyra::createMembersView ( const RCP< const VectorSpaceBase< Scalar > > &  vs,
const RTOpPack::SubMultiVectorView< Scalar > &  raw_mv,
const std::string &  label 
) [related]

Definition at line 189 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::MultiVectorBase<Scalar> > Thyra::createMembersView ( const VectorSpaceBase< Scalar > &  vs,
const RTOpPack::SubMultiVectorView< Scalar > &  raw_mv,
const std::string &  label 
) [related]

Definition at line 204 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> > Thyra::createMembersView ( const RCP< const VectorSpaceBase< Scalar > > &  vs,
const RTOpPack::ConstSubMultiVectorView< Scalar > &  raw_mv,
const std::string &  label 
) [related]

Definition at line 215 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> > Thyra::createMembersView ( const VectorSpaceBase< Scalar > &  vs,
const RTOpPack::ConstSubMultiVectorView< Scalar > &  raw_mv,
const std::string &  label 
) [related]

Definition at line 231 of file Thyra_VectorSpaceBase.hpp.

template<class Scalar>
void Thyra::eval_f ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x,
VectorBase< Scalar > *  f 
)

Evaluate f(x).

Definition at line 720 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f_W ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x,
VectorBase< Scalar > *  f,
LinearOpWithSolveBase< Scalar > *  W 
)

Evaluate f(x) and W(x) = DfDx(x).

Definition at line 736 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x,
const Scalar &  t,
VectorBase< Scalar > *  f 
)

Evaluate f(x,t).

Definition at line 760 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_g ( const ModelEvaluator< Scalar > &  model,
const int  l,
const VectorBase< Scalar > &  p_l,
const int  j,
VectorBase< Scalar > *  g_j 
)

Evaluate g(j)(p)).

Definition at line 778 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_g ( const ModelEvaluator< Scalar > &  model,
const int  l,
const VectorBase< Scalar > &  p_l,
const Scalar &  t,
const int  j,
VectorBase< Scalar > *  g_j 
)

Evaluate g(j)(p,t)).

Definition at line 796 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x_dot,
const VectorBase< Scalar > &  x,
const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &  t,
VectorBase< Scalar > *  f 
)

Evaluate f(x_dot,x,t).

Definition at line 816 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f_W ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x_dot,
const VectorBase< Scalar > &  x,
const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &  t,
const Scalar &  alpha,
const Scalar &  beta,
VectorBase< Scalar > *  f,
LinearOpWithSolveBase< Scalar > *  W 
)

Evaluate f(x_dot,x,t) and W(x_dot,x,t,alpha,beta) = alpha*DfDx_dot(x_dot,x,t) + beta*DfDx(x_dot,x,t).

Definition at line 843 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f_poly ( const ModelEvaluator< Scalar > &  model,
const Teuchos::Polynomial< VectorBase< Scalar > > &  x_poly,
const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &  t,
Teuchos::Polynomial< VectorBase< Scalar > > *  f_poly 
)

Definition at line 876 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f_poly ( const ModelEvaluator< Scalar > &  model,
const Teuchos::Polynomial< VectorBase< Scalar > > &  x_dot_poly,
const VectorBase< Scalar > &  x_poly,
const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &  t,
Teuchos::Polynomial< VectorBase< Scalar > > *  f_poly 
)

Definition at line 901 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::ModelEvaluatorBase::InArgs<Scalar> > Thyra::clone ( const ModelEvaluatorBase::InArgs< Scalar > &  inArgs  )  [related]

Definition at line 275 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<Scalar> Thyra::create_DfDp_mv ( const ModelEvaluator< Scalar > &  model,
int  l,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation 
) [related]

Definition at line 286 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<Scalar> Thyra::create_DgDx_dot_mv ( const ModelEvaluator< Scalar > &  model,
int  j,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation 
) [related]

Definition at line 299 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<Scalar> Thyra::create_DgDx_mv ( const ModelEvaluator< Scalar > &  model,
int  j,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation 
) [related]

Definition at line 328 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<Scalar> Thyra::create_DgDp_mv ( const ModelEvaluator< Scalar > &  model,
int  j,
int  l,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation 
) [related]

Definition at line 340 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Thyra::ModelEvaluatorBase::DerivativeMultiVector<Scalar> Thyra::get_dmv ( const ModelEvaluatorBase::Derivative< Scalar > &  deriv,
const std::string &  derivName 
) [related]

Definition at line 370 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::MultiVectorBase<Scalar> > Thyra::get_mv ( const ModelEvaluatorBase::Derivative< Scalar > &  deriv,
const std::string &  derivName,
ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation 
) [related]

Definition at line 385 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::assertDerivSpaces ( const std::string &  modelEvalDescription,
const ModelEvaluatorBase::Derivative< Scalar > &  deriv,
const std::string &  deriv_name,
const VectorSpaceBase< Scalar > &  fnc_space,
const std::string &  fnc_space_name,
const VectorSpaceBase< Scalar > &  var_space,
const std::string &  var_space_name 
) [related]

Definition at line 413 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::assertInArgsOutArgsSetup ( const std::string &  modelEvalDescription,
const ModelEvaluatorBase::InArgs< Scalar > &  inArgs,
const ModelEvaluatorBase::OutArgs< Scalar > &  outArgs 
) [related]

Definition at line 478 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::assertInArgsEvalObjects ( const ModelEvaluator< Scalar > &  model,
const ModelEvaluatorBase::InArgs< Scalar > &  inArgs 
) [related]

Definition at line 576 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::assertOutArgsEvalObjects ( const ModelEvaluator< Scalar > &  model,
const ModelEvaluatorBase::OutArgs< Scalar > &  outArgs 
) [related]

Definition at line 613 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x,
VectorBase< Scalar > *  f 
)

Evaluate f(x).

Definition at line 720 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f_W ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x,
VectorBase< Scalar > *  f,
LinearOpWithSolveBase< Scalar > *  W 
)

Evaluate f(x) and W(x) = DfDx(x).

Definition at line 736 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x,
const Scalar &  t,
VectorBase< Scalar > *  f 
)

Evaluate f(x,t).

Definition at line 760 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_g ( const ModelEvaluator< Scalar > &  model,
const int  l,
const VectorBase< Scalar > &  p_l,
const int  j,
VectorBase< Scalar > *  g_j 
)

Evaluate g(j)(p)).

Definition at line 778 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_g ( const ModelEvaluator< Scalar > &  model,
const int  l,
const VectorBase< Scalar > &  p_l,
const Scalar &  t,
const int  j,
VectorBase< Scalar > *  g_j 
)

Evaluate g(j)(p,t)).

Definition at line 796 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x_dot,
const VectorBase< Scalar > &  x,
const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &  t,
VectorBase< Scalar > *  f 
)

Evaluate f(x_dot,x,t).

Definition at line 816 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f_W ( const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x_dot,
const VectorBase< Scalar > &  x,
const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &  t,
const Scalar &  alpha,
const Scalar &  beta,
VectorBase< Scalar > *  f,
LinearOpWithSolveBase< Scalar > *  W 
)

Evaluate f(x_dot,x,t) and W(x_dot,x,t,alpha,beta) = alpha*DfDx_dot(x_dot,x,t) + beta*DfDx(x_dot,x,t).

Definition at line 843 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f_poly ( const ModelEvaluator< Scalar > &  model,
const Teuchos::Polynomial< VectorBase< Scalar > > &  x_poly,
const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &  t,
Teuchos::Polynomial< VectorBase< Scalar > > *  f_poly 
)

Definition at line 876 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void Thyra::eval_f_poly ( const ModelEvaluator< Scalar > &  model,
const Teuchos::Polynomial< VectorBase< Scalar > > &  x_dot_poly,
const VectorBase< Scalar > &  x_poly,
const typename ModelEvaluatorBase::InArgs< Scalar >::ScalarMag &  t,
Teuchos::Polynomial< VectorBase< Scalar > > *  f_poly 
)

Definition at line 901 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstInverse ( const Teuchos::RCP< LinearOpWithSolveBase< Scalar > > &  A,
const SolveCriteria< Scalar > *  fwdSolveCriteria,
const EThrowOnSolveFailure  throwOnFwdSolveFailure,
const SolveCriteria< Scalar > *  adjSolveCriteria,
const EThrowOnSolveFailure  throwOnAdjSolveFailure 
) [related]

Definition at line 365 of file Thyra_DefaultInverseLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::inverse ( const Teuchos::RCP< const LinearOpWithSolveBase< Scalar > > &  A,
const SolveCriteria< Scalar > *  fwdSolveCriteria,
const EThrowOnSolveFailure  throwOnFwdSolveFailure,
const SolveCriteria< Scalar > *  adjSolveCriteria,
const EThrowOnSolveFailure  throwOnAdjSolveFailure 
) [related]

Definition at line 383 of file Thyra_DefaultInverseLinearOp.hpp.

template<class Scalar>
void Thyra::assertSupportsSolveMeasureType ( const LinearOpWithSolveBase< Scalar > &  lows,
const ETransp  M_trans,
const SolveMeasureType &  solveMeasureType 
)

Assert that a LOWSB object supports a particular solve type.

This function will throw an excetion with a very good error message if the requested solve type is not supported.

Definition at line 63 of file Thyra_LinearOpWithSolveHelpers.hpp.

template<class Scalar>
void Thyra::assertSupportsSolveMeasureType ( const LinearOpWithSolveBase< Scalar > &  lows,
const ETransp  M_trans,
const SolveMeasureType &  solveMeasureType 
)

Assert that a LOWSB object supports a particular solve type.

This function will throw an excetion with a very good error message if the requested solve type is not supported.

Definition at line 63 of file Thyra_LinearOpWithSolveHelpers.hpp.

template<class Scalar>
void Thyra::initializePrec ( const PreconditionerFactoryBase< Scalar > &  precFactory,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  fwdOp,
PreconditionerBase< Scalar > *  prec,
const ESupportSolveUse  supportSolveUse = SUPPORT_SOLVE_UNSPECIFIED 
)

Initialize a preconditioner from a forward linear operator.

Definition at line 44 of file Thyra_PreconditionerFactoryHelpers.hpp.

template<class Scalar>
void Thyra::uninitializePrec ( const PreconditionerFactoryBase< Scalar > &  precFactory,
PreconditionerBase< Scalar > *  prec,
Teuchos::RCP< const LinearOpBase< Scalar > > *  fwdOp = NULL,
ESupportSolveUse supportSolveUse = NULL 
)

Uninitialize a preconditioner and optionally extra what was used to create it.

Definition at line 59 of file Thyra_PreconditionerFactoryHelpers.hpp.

template<class Scalar>
Teuchos::RCP<PreconditionerBase<Scalar> > Thyra::prec ( const PreconditionerFactoryBase< Scalar > &  precFactory,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  fwdOp,
const ESupportSolveUse  supportSolveUse = SUPPORT_SOLVE_UNSPECIFIED 
)

Create and initialize a preconditioner from a forward linear operator.

Definition at line 76 of file Thyra_PreconditionerFactoryHelpers.hpp.

template<class Scalar>
void Thyra::apply_op_serial ( const VectorSpaceBase< Scalar > &  space,
const RTOpPack::RTOpT< Scalar > &  op,
const int  num_vecs,
const VectorBase< Scalar > *const   vecs[],
const int  num_targ_vecs,
VectorBase< Scalar > *const   targ_vecs[],
RTOpPack::ReductTarget reduct_obj,
const Index  first_ele_offset,
const Index  sub_dim,
const Index  global_offset 
)

Implements reduction/transformation operators for all serial vectors using just the public vector interface.

Note that this function does not validate the input arguments so it is up to the client to do that (i.e. by calling apply_op_validate_input()).

ToDo: Finish documentation!

Definition at line 137 of file Thyra_apply_op_helper.hpp.

template<class Scalar>
void Thyra::apply_op_serial ( const VectorSpaceBase< Scalar > &  domain,
const VectorSpaceBase< Scalar > &  range,
const RTOpPack::RTOpT< Scalar > &  primary_op,
const int  num_multi_vecs,
const MultiVectorBase< Scalar > *const   multi_vecs[],
const int  num_targ_multi_vecs,
MultiVectorBase< Scalar > *const   targ_multi_vecs[],
RTOpPack::ReductTarget *const   reduct_objs[],
const Index  primary_first_ele_offset,
const Index  primary_sub_dim,
const Index  primary_global_offset,
const Index  secondary_first_ele_offset,
const Index  secondary_sub_dim 
)

Implements reduction/transformation operators for all serial multi-vectors using just the public vector interface.

Note that this function does not validate the input arguments so it is up to the client to do that (i.e. by calling apply_op_validate_input()).

ToDo: Finish documentation!

Definition at line 207 of file Thyra_apply_op_helper.hpp.

template<class Scalar>
dump_vec_spaces_t<Scalar> Thyra::dump_vec_spaces ( const Thyra::VectorSpaceBase< Scalar > &  vec_space1,
const std::string &  vec_space1_name,
const Thyra::VectorSpaceBase< Scalar > &  vec_space2,
const std::string &  vec_space2_name 
) [inline]

Definition at line 67 of file Thyra_AssertOp.hpp.

template<class Scalar>
std::ostream& Thyra::operator<< ( std::ostream &  o,
const dump_vec_spaces_t< Scalar > &  d 
)

Definition at line 86 of file Thyra_AssertOp.hpp.

template<class Scalar>
void Thyra::assertLinearOpPlusLinearOpNames ( const std::string &  funcName,
const LinearOpBase< Scalar > &  M1,
const ETransp  M1_trans_in,
const std::string &  M1_name,
const LinearOpBase< Scalar > &  M2,
const ETransp  M2_trans_in,
const std::string &  M2_name 
)

Definition at line 258 of file Thyra_AssertOp.hpp.

template<class Scalar>
void Thyra::assertLinearOpTimesLinearOpNames ( const std::string &  funcName,
const LinearOpBase< Scalar > &  M1,
const ETransp  M1_trans_in,
const std::string &  M1_name,
const LinearOpBase< Scalar > &  M2,
const ETransp  M2_trans_in,
const std::string &  M2_name 
)

Definition at line 297 of file Thyra_AssertOp.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstAdd ( const Teuchos::RCP< LinearOpBase< Scalar > > &  A,
const Teuchos::RCP< LinearOpBase< Scalar > > &  B 
) [related]

Definition at line 311 of file Thyra_DefaultAddedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::add ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  A,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  B 
) [related]

Definition at line 328 of file Thyra_DefaultAddedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::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]

Definition at line 570 of file Thyra_DefaultBlockedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::block2x1 ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  A00,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  A10 
) [related]

Definition at line 590 of file Thyra_DefaultBlockedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::block1x2 ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  A00,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  A01 
) [related]

Definition at line 606 of file Thyra_DefaultBlockedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::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]

Definition at line 622 of file Thyra_DefaultBlockedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstBlock2x1 ( const Teuchos::RCP< LinearOpBase< Scalar > > &  A00,
const Teuchos::RCP< LinearOpBase< Scalar > > &  A10 
) [related]

Definition at line 642 of file Thyra_DefaultBlockedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstBlock1x2 ( const Teuchos::RCP< LinearOpBase< Scalar > > &  A00,
const Teuchos::RCP< LinearOpBase< Scalar > > &  A01 
) [related]

Definition at line 658 of file Thyra_DefaultBlockedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::identity ( const Teuchos::RCP< const VectorSpaceBase< Scalar > > &  space  )  [related]

Definition at line 141 of file Thyra_DefaultIdentityLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstMultiply ( const Teuchos::RCP< LinearOpBase< Scalar > > &  A,
const Teuchos::RCP< LinearOpBase< Scalar > > &  B,
const std::string &  M_label 
) [related]

Definition at line 359 of file Thyra_DefaultMultipliedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::multiply ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  A,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  B,
const std::string &  M_label 
) [related]

Definition at line 382 of file Thyra_DefaultMultipliedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::multiply ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  A,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  B,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  C,
const std::string &  M_label 
) [related]

Definition at line 405 of file Thyra_DefaultMultipliedLinearOp.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstScale ( const Scalar &  scalar,
const RCP< LinearOpBase< Scalar > > &  Op 
) [related]

Definition at line 601 of file Thyra_DefaultScaledAdjointLinearOpDecl.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::scale ( const Scalar &  scalar,
const RCP< const LinearOpBase< Scalar > > &  Op 
) [related]

Definition at line 611 of file Thyra_DefaultScaledAdjointLinearOpDecl.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstAdjoint ( const RCP< LinearOpBase< Scalar > > &  Op  )  [related]

Definition at line 623 of file Thyra_DefaultScaledAdjointLinearOpDecl.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::adjoint ( const RCP< const LinearOpBase< Scalar > > &  Op  )  [related]

Definition at line 635 of file Thyra_DefaultScaledAdjointLinearOpDecl.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstTranspose ( const RCP< LinearOpBase< Scalar > > &  Op  )  [related]

Definition at line 647 of file Thyra_DefaultScaledAdjointLinearOpDecl.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::transpose ( const RCP< const LinearOpBase< Scalar > > &  Op  )  [related]

Definition at line 659 of file Thyra_DefaultScaledAdjointLinearOpDecl.hpp.

template<class Scalar>
Teuchos::RCP<Thyra::LinearOpBase<Scalar> > Thyra::nonconstScaleAndAdjoint ( const Scalar &  scalar,
const ETransp transp,
const RCP< LinearOpBase< Scalar > > &  Op 
) [related]

Definition at line 671 of file Thyra_DefaultScaledAdjointLinearOpDecl.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::scaleAndAdjoint ( const Scalar &  scalar,
const ETransp transp,
const RCP< const LinearOpBase< Scalar > > &  Op 
) [related]

Definition at line 682 of file Thyra_DefaultScaledAdjointLinearOpDecl.hpp.

template<class Scalar>
Teuchos::RCP<const Thyra::LinearOpBase<Scalar> > Thyra::zero ( const Teuchos::RCP< const VectorSpaceBase< Scalar > > &  range,
const Teuchos::RCP< const VectorSpaceBase< Scalar > > &  domain 
) [related]

Definition at line 142 of file Thyra_DefaultZeroLinearOp.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::describeLinearOp ( const LinearOpBase< RangeScalar, DomainScalar > &  A,
Teuchos::FancyOStream out_arg,
const Teuchos::EVerbosityLevel  verbLevel 
)

Basic implementation of a describe function for a linear operator.

Definition at line 40 of file Thyra_describeLinearOp.hpp.

template<class Scalar, class Node>
Thyra::Vector<Scalar> Thyra::formVector ( const OpTimesLC< Scalar, Node > &  lc  )  [inline]

Definition at line 122 of file Thyra_LinearCombinationDecl.hpp.

template<class Scalar, class Node1, class Node2>
Thyra::Vector<Scalar> Thyra::formVector ( const LC2< Scalar, Node1, Node2 > &  lc  )  [inline]

Definition at line 172 of file Thyra_LinearCombinationDecl.hpp.

template<class Scalar, class Node>
OpTimesLC<Scalar, Node> Thyra::operator * ( const Scalar &  alpha,
const OpTimesLC< Scalar, Node > &  x 
) [inline]

Definition at line 199 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node>
OpTimesLC<Scalar, Node> Thyra::operator * ( const OpTimesLC< Scalar, Node > &  x,
const Scalar &  alpha 
) [inline]

Definition at line 208 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
OpTimesLC<Scalar, LC2<Scalar, Node1, Node2> > Thyra::operator * ( const Scalar &  alpha,
const LC2< Scalar, Node1, Node2 > &  x 
) [inline]

Definition at line 223 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
OpTimesLC<Scalar, LC2<Scalar, Node1, Node2> > Thyra::operator * ( const LC2< Scalar, Node1, Node2 > &  x,
const Scalar &  alpha 
) [inline]

Definition at line 232 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar>
OpTimesLC<Scalar, Thyra::ConstVector<Scalar> > Thyra::operator * ( const ConstLinearOperator< Scalar > &  op,
const Thyra::ConstVector< Scalar > &  x 
) [inline]

Definition at line 248 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node>
OpTimesLC<Scalar, Node> Thyra::operator * ( const ConstLinearOperator< Scalar > &  op,
const OpTimesLC< Scalar, Node > &  x 
) [inline]

Definition at line 258 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
OpTimesLC<Scalar, LC2<Scalar, Node1, Node2> > Thyra::operator * ( const ConstLinearOperator< Scalar > &  op,
const LC2< Scalar, Node1, Node2 > &  x 
) [inline]

Definition at line 277 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar>
LC2<Scalar, Thyra::ConstVector<Scalar>, Thyra::ConstVector<Scalar> > Thyra::operator+ ( const Thyra::ConstVector< Scalar > &  x1,
const Thyra::ConstVector< Scalar > &  x2 
) [inline]

Definition at line 293 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar>
LC2<Scalar, Thyra::ConstVector<Scalar>, Thyra::ConstVector<Scalar> > Thyra::operator- ( const Thyra::ConstVector< Scalar > &  x1,
const Thyra::ConstVector< Scalar > &  x2 
) [inline]

Definition at line 302 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node>
LC2<Scalar, Thyra::ConstVector<Scalar>, OpTimesLC<Scalar, Node> > Thyra::operator+ ( const Thyra::ConstVector< Scalar > &  x1,
const OpTimesLC< Scalar, Node > &  x2 
) [inline]

Definition at line 317 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node>
LC2<Scalar, Thyra::ConstVector<Scalar>, OpTimesLC<Scalar, Node> > Thyra::operator- ( const Thyra::ConstVector< Scalar > &  x1,
const OpTimesLC< Scalar, Node > &  x2 
) [inline]

Definition at line 326 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node>
LC2<Scalar, OpTimesLC<Scalar, Node>, Thyra::ConstVector<Scalar> > Thyra::operator+ ( const OpTimesLC< Scalar, Node > &  x1,
const Thyra::ConstVector< Scalar > &  x2 
) [inline]

Definition at line 336 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node>
LC2<Scalar, OpTimesLC<Scalar, Node>, Thyra::ConstVector<Scalar> > Thyra::operator- ( const OpTimesLC< Scalar, Node > &  x1,
const Thyra::ConstVector< Scalar > &  x2 
) [inline]

Definition at line 345 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
LC2<Scalar, OpTimesLC<Scalar, Node1>, OpTimesLC<Scalar, Node2> > Thyra::operator+ ( const OpTimesLC< Scalar, Node1 > &  x1,
const OpTimesLC< Scalar, Node2 > &  x2 
) [inline]

Definition at line 362 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
LC2<Scalar, OpTimesLC<Scalar, Node1>, OpTimesLC<Scalar, Node2> > Thyra::operator- ( const OpTimesLC< Scalar, Node1 > &  x1,
const OpTimesLC< Scalar, Node2 > &  x2 
) [inline]

Definition at line 372 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
LC2<Scalar, Thyra::ConstVector<Scalar>, LC2<Scalar, Node1, Node2> > Thyra::operator+ ( const Thyra::ConstVector< Scalar > &  x1,
const LC2< Scalar, Node1, Node2 > &  x2 
) [inline]

Definition at line 391 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
LC2<Scalar, Thyra::ConstVector<Scalar>, LC2<Scalar, Node1, Node2> > Thyra::operator- ( const Thyra::ConstVector< Scalar > &  x1,
const LC2< Scalar, Node1, Node2 > &  x2 
) [inline]

Definition at line 400 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
LC2<Scalar, LC2<Scalar, Node1, Node2>, Thyra::ConstVector<Scalar> > Thyra::operator+ ( const LC2< Scalar, Node1, Node2 > &  x1,
const Thyra::ConstVector< Scalar > &  x2 
) [inline]

Definition at line 411 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2>
LC2<Scalar, LC2<Scalar, Node1, Node2>, Thyra::ConstVector<Scalar> > Thyra::operator- ( const LC2< Scalar, Node1, Node2 > &  x1,
const Thyra::ConstVector< Scalar > &  x2 
) [inline]

Definition at line 420 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node0, class Node1, class Node2>
LC2<Scalar, OpTimesLC<Scalar, Node0>, LC2<Scalar, Node1, Node2> > Thyra::operator+ ( const OpTimesLC< Scalar, Node0 > &  x1,
const LC2< Scalar, Node1, Node2 > &  x2 
) [inline]

Definition at line 438 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node0, class Node1, class Node2>
LC2<Scalar, OpTimesLC<Scalar, Node0>, LC2<Scalar, Node1, Node2> > Thyra::operator- ( const OpTimesLC< Scalar, Node0 > &  x1,
const LC2< Scalar, Node1, Node2 > &  x2 
) [inline]

Definition at line 448 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2, class Node3>
LC2<Scalar, LC2<Scalar, Node1, Node2>, OpTimesLC<Scalar, Node3> > Thyra::operator+ ( const LC2< Scalar, Node1, Node2 > &  x1,
const OpTimesLC< Scalar, Node3 > &  x2 
) [inline]

Definition at line 459 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2, class Node3>
LC2<Scalar, LC2<Scalar, Node1, Node2>, OpTimesLC<Scalar, Node3> > Thyra::operator- ( const LC2< Scalar, Node1, Node2 > &  x1,
const OpTimesLC< Scalar, Node3 > &  x2 
) [inline]

Definition at line 469 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2, class Node3, class Node4>
LC2<Scalar, LC2<Scalar, Node1, Node2>, LC2<Scalar, Node3, Node4> > Thyra::operator+ ( const LC2< Scalar, Node1, Node2 > &  x1,
const LC2< Scalar, Node3, Node4 > &  x2 
) [inline]

Definition at line 487 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar, class Node1, class Node2, class Node3, class Node4>
LC2<Scalar, LC2<Scalar, Node1, Node2>, LC2<Scalar, Node3, Node4> > Thyra::operator- ( const LC2< Scalar, Node1, Node2 > &  x1,
const LC2< Scalar, Node3, Node4 > &  x2 
) [inline]

Definition at line 498 of file Thyra_LinearCombinationImpl.hpp.

template<class Scalar>
ConstLinearOperator<Scalar> Thyra::identity ( const VectorSpace< Scalar > &  space  ) 

Create an identity operator.

Definition at line 253 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
ConstLinearOperator<Scalar> Thyra::zero ( const VectorSpace< Scalar > &  range,
const VectorSpace< Scalar > &  domain 
)

Create an identity operator.

Definition at line 260 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
ConstLinearOperator<Scalar> Thyra::operator * ( const Scalar &  a,
const ConstLinearOperator< Scalar > &  A 
) [related]

Definition at line 150 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
LinearOperator<Scalar> Thyra::operator * ( const Scalar &  a,
const LinearOperator< Scalar > &  A 
) [related]

Definition at line 158 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
ConstLinearOperator<Scalar> Thyra::operator * ( const ConstLinearOperator< Scalar > &  A,
const ConstLinearOperator< Scalar > &  B 
) [related]

Definition at line 166 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
LinearOperator<Scalar> Thyra::operator * ( const LinearOperator< Scalar > &  A,
const LinearOperator< Scalar > &  B 
) [related]

Definition at line 174 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
ConstLinearOperator<Scalar> Thyra::operator+ ( const ConstLinearOperator< Scalar > &  A,
const ConstLinearOperator< Scalar > &  B 
) [related]

Definition at line 182 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
LinearOperator<Scalar> Thyra::operator+ ( const LinearOperator< Scalar > &  A,
const LinearOperator< Scalar > &  B 
) [related]

Definition at line 190 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
ConstLinearOperator<Scalar> Thyra::block2x2 ( const ConstLinearOperator< Scalar > &  A00,
const ConstLinearOperator< Scalar > &  A01,
const ConstLinearOperator< Scalar > &  A10,
const ConstLinearOperator< Scalar > &  A11 
) [related]

Definition at line 198 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
ConstLinearOperator<Scalar> Thyra::block2x1 ( const ConstLinearOperator< Scalar > &  A00,
const ConstLinearOperator< Scalar > &  A10 
) [related]

Definition at line 208 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
ConstLinearOperator<Scalar> Thyra::block1x2 ( const ConstLinearOperator< Scalar > &  A00,
const ConstLinearOperator< Scalar > &  A01 
) [related]

Definition at line 216 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
LinearOperator<Scalar> Thyra::block2x2 ( const LinearOperator< Scalar > &  A00,
const LinearOperator< Scalar > &  A01,
const LinearOperator< Scalar > &  A10,
const LinearOperator< Scalar > &  A11 
) [related]

Definition at line 224 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
LinearOperator<Scalar> Thyra::block2x1 ( const LinearOperator< Scalar > &  A00,
const LinearOperator< Scalar > &  A10 
) [related]

Definition at line 234 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
LinearOperator<Scalar> Thyra::block1x2 ( const LinearOperator< Scalar > &  A00,
const LinearOperator< Scalar > &  A01 
) [related]

Definition at line 242 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
Thyra::ConstLinearOperator<Scalar> Thyra::identity ( const VectorSpace< Scalar > &  space  ) 

Create an identity operator.

Definition at line 253 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
Thyra::ConstLinearOperator<Scalar> Thyra::zero ( const VectorSpace< Scalar > &  range,
const VectorSpace< Scalar > &  domain 
)

Create an identity operator.

Definition at line 260 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
void Thyra::VProd ( const VectorBase< Scalar > &  x,
const VectorBase< Scalar > &  y,
VectorBase< Scalar > *  z 
) [inline]

element-wise product

Definition at line 42 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
void Thyra::VDiv ( const VectorBase< Scalar > &  x,
const VectorBase< Scalar > &  y,
VectorBase< Scalar > *  z 
) [inline]

element-wise divide

Definition at line 57 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
void Thyra::VScale ( const Scalar &  c,
const VectorBase< Scalar > &  x,
VectorBase< Scalar > *  z 
) [inline]

scale by a constant

Definition at line 71 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
void Thyra::VAddConst ( const Scalar &  c,
const VectorBase< Scalar > &  x,
VectorBase< Scalar > *  z 
) [inline]

add a constant

Definition at line 85 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
Scalar Thyra::VWL2Norm ( const VectorBase< Scalar > &  x,
const VectorBase< Scalar > &  w 
) [inline]

weighted L2 norm

Definition at line 98 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
Scalar Thyra::VWrmsNorm ( const VectorBase< Scalar > &  x,
const VectorBase< Scalar > &  w 
) [inline]

weighted rms norm

Definition at line 114 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
Scalar Thyra::VWrmsMaskNorm ( const VectorBase< Scalar > &  x,
const VectorBase< Scalar > &  w,
const VectorBase< Scalar > &  id 
) [inline]

weighted L2 norm with mask

Definition at line 124 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
Scalar Thyra::VMinQuotient ( const VectorBase< Scalar > &  num,
const VectorBase< Scalar > &  denom 
) [inline]

minimum quotient

Definition at line 140 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
bool Thyra::VConstrMask ( const VectorBase< Scalar > &  x,
const VectorBase< Scalar > &  constraint,
VectorBase< Scalar > *  mask 
) [inline]

constraint mask

Definition at line 156 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
bool Thyra::VInvTest ( const VectorBase< Scalar > &  v_rhs,
VectorBase< Scalar > *  v_lhs 
) [inline]

invert with nonzero test

Definition at line 173 of file Thyra_SUNDIALS_Ops.hpp.

template<class Scalar>
void Thyra::VCompare ( const Scalar &  alpha,
const VectorBase< Scalar > &  x,
VectorBase< Scalar > *  y 
) [inline]

compare to a scalar

Definition at line 189 of file Thyra_SUNDIALS_Ops.hpp.

void Thyra::printTestResults ( const bool  result,
const std::string &  test_summary,
const bool  show_all_tests,
bool *  success,
std::ostream *  out 
) [inline]

Print summary outputting for a test or just passed or failed.

Parameters:
result [in] Bool for of the test was successful or unsuccessful.
test_summary [in] The summary of the test that was just completed.
show_all_tests [in] Bool for if the test summary should be shown even if the test passed.
success [out] Update of the success bool.
out [out] Stream where output will be sent if *out!=NULL.
Preconditions:

Preconditions:

Just look at the definition of this function to see what it does.

Definition at line 248 of file Thyra_TestingToolsDecl.hpp.

void Thyra::printTestResults ( const bool  result,
const std::string &  test_summary,
const bool  show_all_tests,
bool *  success,
std::ostream *  out 
) [inline]

Print summary outputting for a test or just passed or failed.

Parameters:
result [in] Bool for of the test was successful or unsuccessful.
test_summary [in] The summary of the test that was just completed.
show_all_tests [in] Bool for if the test summary should be shown even if the test passed.
success [out] Update of the success bool.
out [out] Stream where output will be sent if *out!=NULL.
Preconditions:

Preconditions:

Just look at the definition of this function to see what it does.

Definition at line 248 of file Thyra_TestingToolsDecl.hpp.

template<class Scalar>
ConstVector<Scalar> Thyra::toVector ( const Converter< Scalar, ConstVector< Scalar > > &  x  )  [inline]

Definition at line 180 of file Thyra_VectorDecl.hpp.

Thyra::THYRA_UNARY_VECTOR_OP_DECL ( copy  ,
copyInto  ,
assign  ,
"copy"   
)

Thyra::THYRA_UNARY_VECTOR_OP_DECL ( abs  ,
absInto  ,
abs  ,
"absolute value"   
)

Thyra::THYRA_UNARY_VECTOR_OP_DECL ( reciprocal  ,
reciprocalInto  ,
reciprocal  ,
"reciprocal"   
)

Thyra::THYRA_UNARY_VECTOR_ROP_MAG_DECL ( norm  ,
norm  ,
"natural norm"   
)

Thyra::THYRA_UNARY_VECTOR_ROP_MAG_DECL ( norm1  ,
norm_1  ,
"1-norm"   
)

Thyra::THYRA_UNARY_VECTOR_ROP_MAG_DECL ( norm2  ,
norm_2  ,
"2-norm"   
)

Thyra::THYRA_UNARY_VECTOR_ROP_MAG_DECL ( normInf  ,
norm_inf  ,
"inf-norm"   
)

Thyra::THYRA_UNARY_VECTOR_ROP_DECL ( sum  ,
sum  ,
"sum of the elements"   
)

Thyra::THYRA_BINARY_VECTOR_ROP_DECL ( inner  ,
scalarProd  ,
"Inner or scalar product"   
)

Thyra::THYRA_UNARY_VECTOR_ROP_MAG_DECL ( max  ,
max  ,
"max element"   
)

Thyra::THYRA_UNARY_VECTOR_ROP_MAG_DECL ( min  ,
min  ,
"min element"   
)

template<class Scalar>
void Thyra::setToConstant ( Vector< Scalar > &  x,
const Scalar &  a 
) [inline]

Definition at line 39 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void Thyra::zeroOut ( Vector< Scalar > &  x  )  [inline]

Definition at line 45 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Scalar Thyra::maxloc ( const Converter< Scalar, ConstVector< Scalar > > &  x,
Index index 
) [inline]

Definition at line 71 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Scalar Thyra::minloc ( const Converter< Scalar, ConstVector< Scalar > > &  x,
Index index 
) [inline]

Definition at line 81 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Scalar Thyra::minloc ( const Converter< Scalar, ConstVector< Scalar > > &  x,
const Scalar &  bound,
Index index 
) [inline]

Definition at line 91 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Scalar Thyra::maxloc ( const Converter< Scalar, ConstVector< Scalar > > &  x,
const Scalar &  bound,
Index index 
) [inline]

Definition at line 102 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void Thyra::dotStarInto ( const Converter< Scalar, ConstVector< Scalar > > &  x,
const Converter< Scalar, ConstVector< Scalar > > &  y,
Vector< Scalar > &  result 
) [inline]

Definition at line 113 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Vector<Scalar> Thyra::dotStar ( const Converter< Scalar, ConstVector< Scalar > > &  xIn,
const Converter< Scalar, ConstVector< Scalar > > &  y 
) [inline]

Definition at line 124 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void Thyra::dotSlashInto ( const Converter< Scalar, ConstVector< Scalar > > &  x,
const Converter< Scalar, ConstVector< Scalar > > &  y,
Vector< Scalar > &  result 
) [inline]

Definition at line 134 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Vector<Scalar> Thyra::dotSlash ( const Converter< Scalar, ConstVector< Scalar > > &  xIn,
const Converter< Scalar, ConstVector< Scalar > > &  y 
) [inline]

Definition at line 145 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void Thyra::axpy ( const Scalar &  a,
const Converter< Scalar, ConstVector< Scalar > > &  xIn,
Vector< Scalar > &  y 
) [inline]

Definition at line 155 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void Thyra::scale ( Vector< Scalar > &  x,
const Scalar &  a 
) [inline]

Definition at line 166 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void Thyra::scaleInto ( const Converter< Scalar, ConstVector< Scalar > > &  x,
const Scalar &  alpha,
Vector< Scalar > &  result 
) [inline]

Definition at line 174 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
std::ostream& Thyra::operator<< ( std::ostream &  os,
const ConstVector< Scalar > &  v 
) [inline]

Definition at line 73 of file Thyra_VectorImpl.hpp.

template<class Scalar>
Index Thyra::dim ( const ConstVector< Scalar > &  x  )  [inline]

Definition at line 105 of file Thyra_VectorImpl.hpp.

template<class Scalar>
VectorSpace<Scalar> Thyra::space ( const ConstVector< Scalar > &  x  )  [inline]

Definition at line 111 of file Thyra_VectorImpl.hpp.

template<class Scalar>
Teuchos::RCP<const VectorSpaceBase<Scalar> > Thyra::productSpace ( const Teuchos::Array< VectorSpace< Scalar > > &  spaces  )  [inline]

Definition at line 134 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
Teuchos::RCP<const VectorSpaceBase<Scalar> > Thyra::productSpace ( VectorSpace< Scalar > &  s1  )  [inline]

Definition at line 147 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
Teuchos::RCP<const VectorSpaceBase<Scalar> > Thyra::productSpace ( VectorSpace< Scalar > &  s1,
VectorSpace< Scalar > &  s2 
) [inline]

Definition at line 155 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
Teuchos::RCP<const VectorSpaceBase<Scalar> > Thyra::productSpace ( VectorSpace< Scalar > &  s1,
VectorSpace< Scalar > &  s2,
VectorSpace< Scalar > &  s3 
) [inline]

Definition at line 164 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
int Thyra::lowestLocallyOwnedIndex ( const VectorSpace< Scalar > &  s  )  [inline]

Definition at line 172 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
int Thyra::numLocalElements ( const VectorSpace< Scalar > &  s  )  [inline]

Definition at line 182 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
bool Thyra::isSPMD ( const VectorSpace< Scalar > &  s  )  [inline]

Definition at line 192 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
bool Thyra::indexIsLocal ( const VectorSpace< Scalar > &  s,
Index  i 
) [inline]

Definition at line 199 of file Thyra_VectorSpaceImpl.hpp.

std::string Thyra::Thyra_Version (  ) 

Print the version of Thyra.

Definition at line 31 of file Thyra_Version.cpp.

template<class Scalar>
bool Thyra::run_std_ops_tests ( const int  n,
const typename Teuchos::ScalarTraits< Scalar >::magnitudeType  max_rel_err,
const bool  dumpAll,
Teuchos::FancyOStream out_arg 
)

Main test driver that runs tests on all standard operators.

Definition at line 45 of file test_std_ops.cpp.

RCP< const LinearOpBase< double > > Thyra::makeEpetraWrapper ( const ConstLinearOperator< double > &  thyraOp  ) 

Wrap a Thyra operator in the Epetra_Operator interface, and then wrap it again in a Thyra operator interface. This lets an arbitrary Thyra operator be given to the Thyra AztecOO adapters.

Definition at line 338 of file Thyra_EpetraOperatorWrapper.cpp.

Teuchos::RCP<Thyra::EpetraModelEvaluator> Thyra::epetraModelEvaluator ( const RCP< const EpetraExt::ModelEvaluator > &  epetraModel,
const RCP< LinearOpWithSolveFactoryBase< double > > &  W_factory 
) [related]

Definition at line 1363 of file Thyra_EpetraModelEvaluator.cpp.

Thyra::ModelEvaluatorBase::EDerivativeMultiVectorOrientation Thyra::convert ( const EpetraExt::ModelEvaluator::EDerivativeMultiVectorOrientation &  mvOrientation  )  [related]

Definition at line 1373 of file Thyra_EpetraModelEvaluator.cpp.

EpetraExt::ModelEvaluator::EDerivativeMultiVectorOrientation Thyra::convert ( const ModelEvaluatorBase::EDerivativeMultiVectorOrientation &  mvOrientation  ) 

Definition at line 1390 of file Thyra_EpetraModelEvaluator.cpp.

Thyra::ModelEvaluatorBase::DerivativeProperties Thyra::convert ( const EpetraExt::ModelEvaluator::DerivativeProperties &  derivativeProperties  )  [related]

Definition at line 1407 of file Thyra_EpetraModelEvaluator.cpp.

Thyra::ModelEvaluatorBase::DerivativeSupport Thyra::convert ( const EpetraExt::ModelEvaluator::DerivativeSupport &  derivativeSupport  )  [related]

Definition at line 1445 of file Thyra_EpetraModelEvaluator.cpp.

EpetraExt::ModelEvaluator::Derivative Thyra::convert ( const ModelEvaluatorBase::Derivative< double > &  derivative,
const RCP< const Epetra_Map > &  fnc_map,
const RCP< const Epetra_Map > &  var_map 
) [related]

Definition at line 1461 of file Thyra_EpetraModelEvaluator.cpp.

template<typename Ordinal, typename Packet>
Teuchos::RCP<const Teuchos::Comm<Index> > Thyra::create_Comm ( const Teuchos::RCP< const Tpetra::Comm< Ordinal, Packet > > &  tpetraComm  ) 

Given a Tpetra::Comm object, return an equivalent Teuchos::Comm>/tt> object.

If a successful conversion could not be performed then return.get()==NULL.

Definition at line 278 of file Thyra_TpetraThyraWrappers.hpp.

template<class Ordinal, class Scalar>
Teuchos::RCP<Tpetra::Operator<Ordinal,Scalar> > Thyra::get_Tpetra_Operator ( LinearOpBase< Scalar > &  op  ) 

Get smart pointer to non-const Tpetra::Operator object from reference to a non-const TpetraLinearOp accessed through its LinearOpBase interface.

Parameters:
op [in] Reference to operator to extract Tpetra::Operator out of.
Preconditions:

This function is designed to provide an easy way for non-C++ experts to get at the Tpetra::Operator object that was stuck into an TpetraLinearOp object.

If the dynamic cast fails then a std::bad_cast exception is thrown containing a very detailed error message as to why the cast failed.

This function is simple enough and developers can see what needs to be done to accomplish this type of access by looking at the source code by clicking on:

Definition at line 538 of file Thyra_TpetraThyraWrappers.hpp.

template<class Ordinal, class Scalar>
Teuchos::RCP<const Tpetra::Operator<Ordinal,Scalar> > Thyra::get_Tpetra_Operator ( const LinearOpBase< Scalar > &  op  ) 

Get smart pointer to const Tpetra::Operator object from reference to a const TpetraLinearOp accessed through its LinearOpBase interface.

Parameters:
op [in] Reference to operator to extract Tpetra::Operator out of.
Preconditions:

This function is designed to provide an easy way for non-C++ experts to get at the Tpetra::Operator object that was stuck into an TpetraLinearOp object.

If the dynamic cast fails then a std::bad_cast exception is thrown containing a very detailed error message as to why the cast failed.

This function is simple enough and developers can see what needs to be done to accomplish this type of access by looking at the source code by clicking on:

Definition at line 545 of file Thyra_TpetraThyraWrappers.hpp.

template<typename Ordinal, typename Packet>
Teuchos::RCP<const Teuchos::Comm<Thyra::Index> > Thyra::create_Comm ( const Teuchos::RCP< const Tpetra::Comm< Ordinal, Packet > > &  tpetraComm  ) 

Given a Tpetra::Comm object, return an equivalent Teuchos::Comm>/tt> object.

If a successful conversion could not be performed then return.get()==NULL.

Definition at line 278 of file Thyra_TpetraThyraWrappers.hpp.

template<class Ordinal, class Scalar>
Teuchos::RCP<Tpetra::Operator<Ordinal,Scalar> > Thyra::get_Tpetra_Operator ( LinearOpBase< Scalar > &  op  ) 

Get smart pointer to non-const Tpetra::Operator object from reference to a non-const TpetraLinearOp accessed through its LinearOpBase interface.

Parameters:
op [in] Reference to operator to extract Tpetra::Operator out of.
Preconditions:

This function is designed to provide an easy way for non-C++ experts to get at the Tpetra::Operator object that was stuck into an TpetraLinearOp object.

If the dynamic cast fails then a std::bad_cast exception is thrown containing a very detailed error message as to why the cast failed.

This function is simple enough and developers can see what needs to be done to accomplish this type of access by looking at the source code by clicking on:

Definition at line 538 of file Thyra_TpetraThyraWrappers.hpp.

template<class Ordinal, class Scalar>
Teuchos::RCP<const Tpetra::Operator<Ordinal,Scalar> > Thyra::get_Tpetra_Operator ( const LinearOpBase< Scalar > &  op  ) 

Get smart pointer to const Tpetra::Operator object from reference to a const TpetraLinearOp accessed through its LinearOpBase interface.

Parameters:
op [in] Reference to operator to extract Tpetra::Operator out of.
Preconditions:

This function is designed to provide an easy way for non-C++ experts to get at the Tpetra::Operator object that was stuck into an TpetraLinearOp object.

If the dynamic cast fails then a std::bad_cast exception is thrown containing a very detailed error message as to why the cast failed.

This function is simple enough and developers can see what needs to be done to accomplish this type of access by looking at the source code by clicking on:

Definition at line 545 of file Thyra_TpetraThyraWrappers.hpp.


Generated on Tue Oct 20 12:48:08 2009 for Thyra Package Browser (Single Doxygen Collection) by doxygen 1.4.7