Thyra Namespace Reference


Classes

class  Thyra::ModelEvaluator< Scalar >
class  Thyra::ModelEvaluatorBase
 Base subclass for ModelEvaluator that defines some basic types. More...
class  Thyra::ModelEvaluatorBase::InArgs< Scalar >
  More...
class  Thyra::ModelEvaluatorBase::DerivativeSupport
  More...
struct  Thyra::ModelEvaluatorBase::DerivativeProperties
  More...
class  Thyra::ModelEvaluatorBase::DerivativeMultiVector< Scalar >
 Simple aggregate class for a derivative object represented as a column-wise multi-vector or its transpose as a row-wise multi-vector. More...
class  Thyra::ModelEvaluatorBase::Derivative< Scalar >
 Simple aggregate class that stores a derivative object as a general linear operator or as a multi-vector. More...
class  Thyra::ModelEvaluatorBase::OutArgs< Scalar >
  More...
class  Thyra::ModelEvaluatorBase::InArgsSetup< Scalar >
  More...
class  Thyra::ModelEvaluatorBase::OutArgsSetup< Scalar >
  More...
class  Thyra::NonlinearSolverBase< Scalar >
 Base class for all nonlinear equation solvers. More...
class  Thyra::BlockedLinearOpWithSolveBase< RangeScalar, DomainScalar >
 Base interface for LinearOpWithSolveBase objects that can be accessed in blocks. More...
class  Thyra::InverseLinearOpBase< RangeScalar, DomainScalar >
 Base interface for <ttLinearOpBase objects that are implemented in terms of the solve function on a LinearOpWithSolveBase object. More...
class  Thyra::LinearSolverBuilderBase< Scalar >
 Abstract interface for an object that can create LinearOpWithSolveFactoryBase objects on demand. More...
class  Thyra::PhysicallyBlockedLinearOpWithSolveBase< RangeScalar, DomainScalar >
 Base interface for filling an implicit LinearOpWithSolveBase object as a set of LinearOpWithSolveBase and >LinearOpBase blocks. More...
class  Thyra::LinearOpSourceBase< RangeScalar, DomainScalar >
 Base interface for objects that can return a linear operator. More...
class  Thyra::LinearOpWithSolveBase< RangeScalar, DomainScalar >
class  Thyra::LinearOpWithSolveFactoryBase< RangeScalar, DomainScalar >
class  Thyra::PreconditionerBase< RangeScalar, DomainScalar >
 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  Thyra::PreconditionerFactoryBase< RangeScalar, DomainScalar >
 Factory interface for creating precondtioner objects from LinearOpBase objects. More...
struct  Thyra::SolveMeasureType
 Solve tolerance type. More...
struct  Thyra::SolveCriteria< Scalar >
 Simple struct that defines the requested solution criteria for a solve. More...
struct  Thyra::BlockSolveCriteria< Scalar >
 Simple struct that defines the requested solution criteria for a block solve. More...
class  Thyra::CatastrophicSolveFailure
 Exception type thrown on an catastrophic solve failure. More...
struct  Thyra::SolveStatus< Scalar >
 Simple struct for the return status from a solve. More...
class  Thyra::AddedLinearOpBase< Scalar >
 Interface class for implicitly added linear operators. More...
class  Thyra::BlockedLinearOpBase< RangeScalar, DomainScalar >
 Base interface for linear operators that can be accessed as sub-blocks. More...
class  Thyra::DiagonalLinearOpBase< Scalar >
 Interface class for for diagonal linear operators. More...
class  Thyra::IdentityLinearOpBase< Scalar >
 Interface class for identity linear operators. More...
class  Thyra::MultipliedLinearOpBase< Scalar >
 Interface class for implicitly multiplied linear operators. More...
class  Thyra::MultiVectorRandomizerBase< Scalar >
 Base interface for a strategy object for randomizing a multi-vector. More...
class  Thyra::PhysicallyBlockedLinearOpBase< RangeScalar, DomainScalar >
 Base interface for physically blocked linear operators. More...
class  Thyra::ProductMultiVectorBase< Scalar >
 Base interface for product multi-vectors. More...
class  Thyra::ProductVectorBase< Scalar >
 Base interface for product vectors. More...
class  Thyra::ProductVectorSpaceBase< Scalar >
 Base interface for product vector spaces. More...
class  Thyra::ScaledAdjointLinearOpBase< Scalar >
 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  Thyra::SpmdVectorSpaceBase< Scalar >
 Base abstract VectorSpaceBase class for all SPMD-based vector spaces. More...
class  Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >
 Base interface for a factory that converts vector space types and vectors and multi-vectors from one scalar type to another. More...
class  Thyra::ZeroLinearOpBase< Scalar >
 Interface class for zero linear operators. More...
class  Thyra::LinearOpBase< RangeScalar, DomainScalar >
class  Thyra::MultiVectorBase< Scalar >
class  Thyra::VectorBase< Scalar >
class  Thyra::VectorSpaceBase< Scalar >
 Abstract interface for objects that represent a space for vectors. More...
class  Thyra::VectorSpaceFactoryBase< Scalar >
 Abstract interface for objects that can create vector spaces of a specified dimension. More...
class  Thyra::DefaultEvaluationLoggerModelEvaluator< Scalar >
 This class wraps any ModelEvaluator object and logs the evaluation of various functions. More...
class  Thyra::DefaultFinalPointCaptureModelEvaluator< Scalar >
 This class wraps any ModelEvaluator object and allows the client to capture the final point that is returned by a client. More...
class  Thyra::DefaultFiniteDifferenceModelEvaluator< Scalar >
 This class wraps any ModelEvaluator object and computes certain derivatives using finite differences. More...
class  Thyra::DefaultModelEvaluatorWithSolveFactory< Scalar >
 This class wraps any ModelEvaluator object and uses a compatible LinearOpWithSolveFactory object to create a LinearOpWithSolveBase version of W. More...
class  Thyra::DefaultMultiPeriodModelEvaluator< Scalar >
 Composite subclass that takes a list of individual ModelEvaluator objects and represents them as a single aggregate multi-period ModelEvalator object. More...
class  Thyra::DefaultNominalBoundsOverrideModelEvaluator< Scalar >
 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  Thyra::DirectionalFiniteDiffCalculator< Scalar >
 Utility calss for computing directional finite differences of a model. More...
class  Thyra::ModelEvaluatorDelegatorBase< Scalar >
 This is a base class that delegetes almost all function to a wrapped model evaluator object. More...
class  Thyra::SingleResidSSDAEModelEvaluator< Scalar >
 Decorator subclass for a steady-state version of a DAE for single-residual time stepper methods. More...
class  Thyra::StateFuncModelEvaluatorBase< Scalar >
 This base class defines default function implementations appropritate for a set of nonlinear state functions of the form x -> f(x). More...
class  Thyra::DampenedNewtonNonlinearSolver< Scalar >
 Simple dampended Newton solver using a Armijo line search :-). More...
class  Thyra::DefaultStateEliminationModelEvaluator< Scalar >
 This class wraps any ModelEvaluator object along with a NonlinearSolverBase object and eliminates the steady-state equations f(x,...)=0. More...
class  Thyra::LinearNonlinearSolver< Scalar >
 Concrete nonlinear solver for linear equations :-). More...
class  Thyra::TimeStepNewtonNonlinearSolver< Scalar >
 Simple undampended Newton solver :-). More...
class  Thyra::DefaultDiagonalLinearOpWithSolve< Scalar >
 Concrete LinearOpWithSolveBase subclass for diagonal linear operators. More...
class  Thyra::DefaultInverseLinearOp< Scalar >
 Concrete LinearOpBase subclass that creates an implicit LinearOpBase object using the inverse action of a LinearOpWithSolveBase object. More...
class  Thyra::DefaultLinearOpSource< RangeScalar, DomainScalar >
 Default implementation of a LinearOpSourceBase that just accepts and gives up a single linear operator object. More...
class  Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >
 Default implementation of a PreconditionerBase that just accepts precreated preconditioner linear operators. More...
class  Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >
 Testing class for LinearOpWithSolveBase. More...
class  Thyra::SingleRhsLinearOpWithSolveBase< Scalar >
  More...
class  Thyra::SingleScalarLinearOpWithSolveBase< Scalar >
  More...
class  Thyra::DefaultSerialVectorSpaceConverter< ScalarFrom, ScalarTo >
 Concrete subclass for a converter subclass for converting serial multi-vectors and vectors. More...
class  Thyra::SerialLinearOpBase< Scalar >
 Base subclass for simplistic in-core serial linear operators. More...
class  Thyra::SerialVectorSpaceConverterBase< ScalarFrom, ScalarTo >
 Node base class for converting serial multi-vectors (and vectors) from one scalar type to another. More...
class  Thyra::DefaultClusteredSpmdProductVector< Scalar >
 Concrete implementation of a clustered Spmd-based product vector. More...
class  Thyra::DefaultClusteredSpmdProductVectorSpace< Scalar >
 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  Thyra::DefaultColumnwiseMultiVector< Scalar >
 Default subclass for MultiVectorBase implemented using columns of separate abstract vectors. More...
class  Thyra::CopyBackSpmdMultiVectorEntries< Scalar >
class  Thyra::DefaultSpmdMultiVector< Scalar >
 Efficient concrete implementation subclass for SPMD multi-vectors. More...
class  Thyra::DefaultSpmdVector< Scalar >
 Efficient concrete implementation subclass for SPMD vectors. More...
class  Thyra::DefaultSpmdVectorSpace< Scalar >
 Concrete implementation of an SPMD vector space subclass which creates DefaultSpmdVector and DefaultSpmdMultiVector objects. More...
class  Thyra::DefaultSpmdVectorSpaceFactory< Scalar >
 Concrete implementation of a vector-space factory for a locally-replicated distributed DefaultSpmdVectorSpace objects. More...
class  Thyra::DefaultVectorMultiVector< Scalar >
 Generic adapter subclass that takes any MultiVectorBase and turns it into a VectorBase object where columns vectors are stacked on top of one another to make one big vector. More...
class  Thyra::EuclideanLinearOpBase< RangeScalar, DomainScalar >
 Base interface for Euclidean linear operators. More...
class  Thyra::EuclideanScalarProd< Scalar >
 Concrete implementation of a scalar product for a Euclidean vector space (i.e. using the dot product). More...
class  Thyra::LinearOpScalarProd< Scalar >
 Concrete implementation of a scalar product using a symmetric positive-definite linear operator. More...
class  Thyra::ScalarProdBase< Scalar >
 Abstract interface for scalar products. More...
class  Thyra::ScalarProdVectorSpaceBase< Scalar >
 Base subclass for VectorSpaceBase that allows the definition of an application-specific scalar product to be swapped in and out. More...
class  Thyra::SingleRhsEuclideanLinearOpBase< Scalar >
 Base class for linear operators that can only implement a single RHS vector apply operation and only support one scalar type. More...
class  Thyra::SingleScalarEuclideanLinearOpBase< Scalar >
 Base class for euclidean linear operators that can only handle a single scalar type. More...
class  Thyra::SpmdLinearOpBase< Scalar >
 Base subclass for simplistic SPMD linear operators. More...
class  Thyra::SpmdMultiVectorBase< Scalar >
 Base class for SPMD multi-vectors. More...
class  Thyra::SpmdMultiVectorFileIO< Scalar >
 Utility class for reading and writing parallel (or any serial) Thyra vectors to and from parallel files. More...
class  Thyra::SpmdMultiVectorSerializer< Scalar >
 Concrete utility class for reading and writing SPMD MultiVectorBase objects to and from standard streams. More...
class  Thyra::SpmdVectorBase< Scalar >
 Base class for SPMD vectors that can provide views of contiguous elements in a process.. More...
class  Thyra::SpmdVectorSpaceDefaultBase< Scalar >
 Base VectorSpaceBase class for all SPMD vector spaces with contiguous local-to-global indexing. More...
struct  Thyra::dump_vec_spaces_t< Scalar >
class  Thyra::DefaultAddedLinearOp< Scalar >
 Concrete composite LinearOpBase subclass that creates an implicitly added linear operator out of one or more constituent LinearOpBase objects. More...
class  Thyra::DefaultBlockedLinearOp< Scalar >
 Concrete composite LinearOpBase subclass that creates single linear operator object out of a set of constituent LinearOpBase blocks. More...
struct  Thyra::DefaultBlockedLinearOp< Scalar >::BlockEntry< Scalar2 >
class  Thyra::DefaultDiagonalLinearOp< Scalar >
 Default concrete LinearOpBase subclass for diagonal linear operators. More...
class  Thyra::DefaultIdentityLinearOp< Scalar >
 Represents a identity linear operator M = I. More...
class  Thyra::DefaultMultipliedLinearOp< Scalar >
 Concrete composite LinearOpBase subclass that creates an implicitly multiplied linear operator out of one or more constituent LinearOpBase objects. More...
class  Thyra::DefaultProductVector< Scalar >
 Concrete implementation of a product vector. More...
class  Thyra::DefaultProductVectorSpace< Scalar >
 Standard concrete implementation of a product vector space. More...
class  Thyra::DefaultScaledAdjointLinearOp< Scalar >
 Concrete decorator LinearOpBase subclass that wraps a LinearOpBase object and adds on an extra scaling factor and/or a transpose enum. More...
struct  Thyra::DefaultScaledAdjointLinearOp< Scalar >::ScalarETransp< Scalar2 >
class  Thyra::DefaultZeroLinearOp< Scalar >
 Represents a zero linear operator M = 0. More...
class  Thyra::ConstDetachedMultiVectorView< Scalar >
 Create an explicit non-mutable (const) view of a MultiVectorBase object. More...
class  Thyra::DetachedMultiVectorView< Scalar >
 Create an explicit mutable (non-const) view of a MultiVectorBase object. More...
class  Thyra::ConstDetachedVectorView< Scalar >
 Create an explicit non-mutable (const) view of a VectorBase object. More...
class  Thyra::DetachedVectorView< Scalar >
 Create an explicit mutable (non-const) view of a VectorBase object. More...
class  Thyra::ConvertibleToVector< Scalar >
class  Thyra::OpTimesLC< Scalar, Node >
class  Thyra::LC2< Scalar, Node1, Node2 >
class  Thyra::LinearCombinationTester< Scalar >
class  Thyra::LinearOpDefaultBase< RangeScalar, DomainScalar >
 Node subclass that provides a good default implementation for the describe() function. More...
class  Thyra::ConstLinearOperator< RangeScalar, DomainScalar >
class  Thyra::LinearOperator< RangeScalar, DomainScalar >
class  Thyra::SymmetricLinearOpTester< RangeScalar, DomainScalar >
class  Thyra::SymmetricLinearOpTester< Scalar, Scalar >
class  Thyra::LinearOpTester< RangeScalar, DomainScalar >
 Testing class for LinearOpBase. More...
class  Thyra::ListedMultiVectorRandomizer< Scalar >
 MultiVectorRandomizerBase subclass that returns a revolving list of preset MultiVectorBase objects. More...
class  Thyra::MultiVectorAllocator< Scalar >
 Allocator class to be used with Teuchos::AbstractFactoryStd to create MultiVectorBase objects of a given size. More...
class  Thyra::MultiVectorDefaultBase< Scalar >
 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  Thyra::MultiVectorStdOpsTester< Scalar >
 Testing class that tests all of the standard vector operations defined in ??? using an arbitrary vector space. More...
class  Thyra::MultiVectorTester< Scalar >
 Unit testing class for a MultiVectorBase object. More...
class  Thyra::SingleRhsLinearOpBase< Scalar >
 Base class for linear operators that can only implement a single RHS vector apply operation and only support one scalar type. More...
class  Thyra::SingleScalarLinearOpBase< Scalar >
 Base class for linear operators that can only handle a single scalar type. More...
class  Thyra::TesterBase< Scalar >
class  Thyra::TestSpecifier< Scalar >
class  Thyra::UniversalMultiVectorRandomizer< Scalar >
 Univeral MultiVectorRandomizerBase subclass that is compatible with all MultiVectorBase objects. More...
class  Thyra::Converter< Scalar, TargetType >
 Converter that defines the interface for objects that can be converted to vectors. More...
class  Thyra::ConstVector< Scalar >
 Read-only handle class for wrapping Thyra::VectorBase objects and allowing for operator-overloading linear algebra. More...
class  Thyra::Vector< Scalar >
 Read-write handle class for wrapping Thyra::VectorBase objects and allowing for operator-overloading linear algebra. More...
class  Thyra::Vector< Scalar >::IndexObject
 Allows an element to be changed using operator=(). More...
class  Thyra::VectorDefaultBase< Scalar >
 Convenient node subclass for concrete VectorBase subclasses that relies on a default MultiVectorBase implementation. More...
class  Thyra::VectorOpTester< Scalar >
class  Thyra::VectorSpace< Scalar >
 Handle class for VectorSpaceBase. More...
class  Thyra::CopyVectorViewBack< Scalar >
class  Thyra::CopyMultiVectorViewBack< Scalar >
class  Thyra::VectorSpaceDefaultBase< Scalar >
 Node VectorSpaceBase subclass that provides default implementations for many functions using a default multi-vectors implementation. More...
class  Thyra::VectorSpaceTester< Scalar >
 Testing class for VectorSpace and the VectorBase and MultiVectorBase objects that it creates. More...
class  Thyra::VectorStdOpsTesterComparable< isComparable, Scalar >
class  Thyra::VectorStdOpsTesterComparable< false, Scalar >
class  Thyra::VectorStdOpsTesterComparable< true, Scalar >
class  Thyra::VectorStdOpsTester< Scalar >
 Testing class that tests all of the standard vector operations defined in ??? using an arbitrary vector space. More...
class  Thyra::VectorTester< Scalar >
 Unit testing class for a VectorBase object. More...
class  Thyra::LinearOpChanger< Scalar >
 Silly abstract strategy interface for changing Thyra::LinearOpBase objects. More...
class  Thyra::NullLinearOpChanger< Scalar >
 No-op changer. More...

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 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...

Functions

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>
SolveStatus< Scalar > solve (const LinearOpWithSolveBase< Scalar > &A, const ETransp A_trans, const MultiVectorBase< Scalar > &B, MultiVectorBase< Scalar > *X, const SolveCriteria< Scalar > *solveCriteria)
 Solve a set of forward linear systems with a single set of tolerances and a single scalar type.
template<class Scalar>
SolveStatus< Scalar > solve (const LinearOpWithSolveBase< Scalar > &A, const ETransp A_trans, const MultiVectorBase< Scalar > &B, MultiVectorBase< Scalar > *X)
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)
 Solve a set of forward linear systems with a single set of tolerances.
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)
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)
 Solve a set of transpose 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)
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[], SolveStatus< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > blockSolveStatus[])
 Solve a set of forward linear systems with two or more sets 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[])
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)
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[], SolveStatus< typename LinearOpWithSolveBase< RangeScalar, DomainScalar >::PromotedScalar > blockSolveStatus[])
 Solve a set of transpose 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[])
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 char * toString (const ESolveMeasureNormType solveMeasureNormType)
 
std::string toString (const SolveMeasureType &solveMeasureType)
 
const char * 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>
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::RefCountPtr< const LinearOpBase< Scalar > > &Op, Scalar *scalar, ETransp *transp, Teuchos::RefCountPtr< const LinearOpBase< Scalar > > *origOp)
 Extract the overallScalar, overallTransp and Teuchos::RefCountPtr wrapped const origOp from a Teuchos::RefCountPtr wrapped const LinearOpBase object.
template<class Scalar>
bool opSupported (const LinearOpBase< Scalar > &M, ETransp M_trans)
 Determines if an operation is supported for a single scalar type.
template<class RangeScalar, class DomainScalar>
void apply (const LinearOpBase< RangeScalar, DomainScalar > &M, const EConj conj, const MultiVectorBase< DomainScalar > &X, MultiVectorBase< RangeScalar > *Y, const RangeScalar alpha, const RangeScalar beta)
 Call LinearOpBase::apply() as a global function call.
template<class RangeScalar, class DomainScalar>
void apply (const LinearOpBase< RangeScalar, DomainScalar > &M, const EConj conj, const MultiVectorBase< DomainScalar > &X, MultiVectorBase< RangeScalar > *Y, const RangeScalar alpha)
template<class RangeScalar, class DomainScalar>
void apply (const LinearOpBase< RangeScalar, DomainScalar > &M, const EConj conj, const MultiVectorBase< DomainScalar > &X, MultiVectorBase< RangeScalar > *Y)
template<class RangeScalar, class DomainScalar>
void applyTranspose (const LinearOpBase< RangeScalar, DomainScalar > &M, const EConj conj, const MultiVectorBase< RangeScalar > &X, MultiVectorBase< DomainScalar > *Y, const DomainScalar alpha, const DomainScalar beta)
 Call LinearOpBase::applyTranspose() as a global function call.
template<class RangeScalar, class DomainScalar>
void applyTranspose (const LinearOpBase< RangeScalar, DomainScalar > &M, const EConj conj, const MultiVectorBase< RangeScalar > &X, MultiVectorBase< DomainScalar > *Y, const DomainScalar alpha)
template<class RangeScalar, class DomainScalar>
void applyTranspose (const LinearOpBase< RangeScalar, DomainScalar > &M, const EConj conj, const MultiVectorBase< RangeScalar > &X, MultiVectorBase< DomainScalar > *Y)
template<class Scalar>
void apply (const LinearOpBase< Scalar > &M, const ETransp M_trans, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y, const Scalar alpha, const Scalar beta)
 Call LinearOpBase::apply() or LinearOpBase::applyTranspose() as a global function call (for a single scalar type).
template<class Scalar>
void apply (const LinearOpBase< Scalar > &M, const ETransp M_trans, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y, const Scalar alpha)
template<class Scalar>
void apply (const LinearOpBase< Scalar > &M, const ETransp M_trans, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y)
template<class Scalar>
void applyOp (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)
 Apply a reduction/transformation operator column by column and return an array of the reduction objects.
template<class Scalar>
void applyOp (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[])
template<class Scalar>
void applyOp (const RTOpPack::RTOpT< Scalar > &primary_op, const RTOpPack::RTOpT< Scalar > &secondary_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 *reduct_obj, 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)
 Apply a reduction/transformation operator column by column and reduce the intermediate reduction objects into one reduction object.
template<class Scalar>
void applyOp (const RTOpPack::RTOpT< Scalar > &primary_op, const RTOpPack::RTOpT< Scalar > &secondary_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 *reduct_obj)
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>
void applyOp (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)
 Apply a reduction/transformation operator over a set of vectors: op(op(v[0]...v[nv-1],z[0]...z[nz-1]),(*reduct_obj)) -> z[0]...z[nz-1],(*reduct_obj).
template<class Scalar>
void applyOp (const RTOpPack::RTOpT< Scalar > &op, const int num_vecs, const VectorBase< Scalar > *vecs[], const int num_targ_vecs, VectorBase< Scalar > *targ_vecs[], RTOpPack::ReductTarget *reduct_obj)
template<class Scalar>
Teuchos::RefCountPtr< const
VectorSpaceBase< Scalar > > 
makeHaveOwnership (const Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > &vs)
 Helper function that clones a VectorSpaceBase object if the RefCountPtr does not have ownership.
template<class Scalar>
Teuchos::RefCountPtr< VectorBase<
Scalar > > 
createMember (const Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > &vs)
 Create a vector member from the vector space.
template<class Scalar>
Teuchos::RefCountPtr< VectorBase<
Scalar > > 
createMember (const VectorSpaceBase< Scalar > &vs)
 Calls createMember(Teuchos::rcp(&vs,false)).
template<class Scalar>
Teuchos::RefCountPtr< MultiVectorBase<
Scalar > > 
createMembers (const Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > &vs, int numMembers)
 Create a set of vector members (a MultiVectorBase) from the vector space.
template<class Scalar>
Teuchos::RefCountPtr< MultiVectorBase<
Scalar > > 
createMembers (const VectorSpaceBase< Scalar > &vs, int numMembers)
 Calls createMembers(Teuchos::rcp(&vs,false),numMembers).
template<class Scalar>
Teuchos::RefCountPtr< VectorBase<
Scalar > > 
createMemberView (const Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > &vs, const RTOpPack::SubVectorView< Scalar > &raw_v)
 Create a vector member that is a non-const view of raw data.
template<class Scalar>
Teuchos::RefCountPtr< VectorBase<
Scalar > > 
createMemberView (const VectorSpaceBase< Scalar > &vs, const RTOpPack::SubVectorView< Scalar > &raw_v)
 Calls createMemberView(Teuchos::rcp(&vs,false),raw_v).
template<class Scalar>
Teuchos::RefCountPtr< const
VectorBase< Scalar > > 
createMemberView (const Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > &vs, const RTOpPack::ConstSubVectorView< Scalar > &raw_v)
 Create a vector member that is a const view of raw data.
template<class Scalar>
Teuchos::RefCountPtr< const
VectorBase< Scalar > > 
createMemberView (const VectorSpaceBase< Scalar > &vs, const RTOpPack::ConstSubVectorView< Scalar > &raw_v)
 Calls createMemberView(Teuchos::rcp(&vs,false),raw_v).
template<class Scalar>
Teuchos::RefCountPtr< MultiVectorBase<
Scalar > > 
createMembersView (const Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > &vs, const RTOpPack::SubMultiVectorView< Scalar > &raw_mv)
 Create a multi-vector member that is a non-const view of raw data.
template<class Scalar>
Teuchos::RefCountPtr< MultiVectorBase<
Scalar > > 
createMembersView (const VectorSpaceBase< Scalar > &vs, const RTOpPack::SubMultiVectorView< Scalar > &raw_mv)
 Calls createMembersView(Teuchos::rcp(&vs,false),raw_mv).
template<class Scalar>
Teuchos::RefCountPtr< const
MultiVectorBase< Scalar > > 
createMembersView (const Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > &vs, const RTOpPack::ConstSubMultiVectorView< Scalar > &raw_mv)
 Create a multi-vector member that is a const view of raw data.
template<class Scalar>
Teuchos::RefCountPtr< const
MultiVectorBase< Scalar > > 
createMembersView (const VectorSpaceBase< Scalar > &vs, const RTOpPack::ConstSubMultiVectorView< Scalar > &raw_mv)
 Calls createMembersView(Teuchos::rcp(&vs,false),raw_mv).
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) = beta*DfDx(x).
template<class Scalar>
void eval_f_W (const ModelEvaluator< Scalar > &model, const VectorBase< Scalar > &x, const Scalar &beta, VectorBase< Scalar > *f, LinearOpWithSolveBase< Scalar > *W)
 Evaluate f(x) and W(x) = beta*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_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) = beta*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>
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::RefCountPtr< LinearOpWithSolveBase<
Scalar > > 
linearOpWithSolve (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Teuchos::RefCountPtr< 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>
void initializeOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Teuchos::RefCountPtr< 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::RefCountPtr< 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::RefCountPtr< const LinearOpBase< Scalar > > &fwdOp, const Teuchos::RefCountPtr< 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::RefCountPtr< const LinearOpBase< Scalar > > &fwdOp, const Teuchos::RefCountPtr< 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::RefCountPtr< const LinearOpBase< Scalar > > *fwdOp=NULL, Teuchos::RefCountPtr< const PreconditionerBase< Scalar > > *prec=NULL, Teuchos::RefCountPtr< 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 initializePrec (const PreconditionerFactoryBase< Scalar > &precFactory, const Teuchos::RefCountPtr< const LinearOpBase< Scalar > > &fwdOp, PreconditionerBase< Scalar > *precOp, 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::RefCountPtr< const LinearOpBase< Scalar > > *fwdOp=NULL, ESupportSolveUse *supportSolveUse=NULL)
 Uninitialize a preconditioner and optionally extra what was used to create it.
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 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 > 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>
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 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>
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 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 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
const char * passfail (bool pass)
 Return "passed" or "failed".
template<class Scalar>
Teuchos::ScalarTraits< Scalar
>::magnitudeType 
relErr (const Scalar &s1, const Scalar &s2)
 Return relative error of two scalars.
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 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.
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.
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>
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.
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::RefCountPtr< const
VectorSpaceBase< Scalar > > 
productSpace (const Teuchos::Array< VectorSpace< Scalar > > &spaces)
template<class Scalar>
Teuchos::RefCountPtr< const
VectorSpaceBase< Scalar > > 
productSpace (VectorSpace< Scalar > &s1)
template<class Scalar>
Teuchos::RefCountPtr< const
VectorSpaceBase< Scalar > > 
productSpace (VectorSpace< Scalar > &s1, VectorSpace< Scalar > &s2)
template<class Scalar>
Teuchos::RefCountPtr< 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>
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>
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)
 y(i) = x(i) + beta*y(i), i = 0...y->space()->dim()-1.
template<class Scalar>
void Vp_V (VectorBase< Scalar > *y, const VectorBase< Scalar > &x)
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.
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.


Enumeration Type Documentation

enum EThrowOnSolveFailure
 

Enumeration values:
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 40 of file Thyra_DefaultInverseLinearOpDecl.hpp.

enum EM_VS
 

Enumeration values:
VS_RANGE 
VS_DOMAIN 

Definition at line 89 of file Thyra_AssertOp.hpp.


Function Documentation

const char* toString const ESolveMeasureNormType  solveMeasureNormType  )  [inline]
 

Definition at line 59 of file Thyra_SolveSupportTypes.hpp.

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

Definition at line 117 of file Thyra_SolveSupportTypes.hpp.

const char* toString const ESolveStatus  solveStatus  )  [inline]
 

Definition at line 197 of file Thyra_SolveSupportTypes.hpp.

template<class Scalar>
std::ostream& 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>
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:
  • scalar!==NULL
  • transp!==NULL
  • origOp!==NULL

Postconditions:

  • *origOp!==NULL

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::RefCountPtr< const LinearOpBase< Scalar > > &  Op,
Scalar *  scalar,
ETransp transp,
Teuchos::RefCountPtr< const LinearOpBase< Scalar > > *  origOp
 

Extract the overallScalar, overallTransp and Teuchos::RefCountPtr wrapped const origOp from a Teuchos::RefCountPtr 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:
  • scalar!==NULL
  • transp!==NULL
  • origOp!==NULL

Postconditions:

  • *origOp!==NULL

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>
void eval_f const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x,
VectorBase< Scalar > *  f
 

Evaluate f(x).

Definition at line 125 of file Thyra_ModelEvaluatorHelpers.hpp.

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) = beta*DfDx(x).

Definition at line 141 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void eval_f_W const ModelEvaluator< Scalar > &  model,
const VectorBase< Scalar > &  x,
const Scalar &  beta,
VectorBase< Scalar > *  f,
LinearOpWithSolveBase< Scalar > *  W
 

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

Definition at line 165 of file Thyra_ModelEvaluatorHelpers.hpp.

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

Evaluate f(x,t).

Definition at line 191 of file Thyra_ModelEvaluatorHelpers.hpp.

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).

Definition at line 210 of file Thyra_ModelEvaluatorHelpers.hpp.

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) = beta*DfDx_dot(x_dot,x,t)beta*DfDx(x_dot,x,t).

Definition at line 238 of file Thyra_ModelEvaluatorHelpers.hpp.

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
 

Definition at line 271 of file Thyra_ModelEvaluatorHelpers.hpp.

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
 

Definition at line 296 of file Thyra_ModelEvaluatorHelpers.hpp.

template<class Scalar>
void initializePrec const PreconditionerFactoryBase< Scalar > &  precFactory,
const Teuchos::RefCountPtr< const LinearOpBase< Scalar > > &  fwdOp,
PreconditionerBase< Scalar > *  precOp,
const ESupportSolveUse  supportSolveUse = SUPPORT_SOLVE_UNSPECIFIED
 

Initialize a preconditioner from a forward linear operator.

Definition at line 41 of file Thyra_PreconditionerFactoryHelpers.hpp.

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

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

Definition at line 55 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> 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 61 of file Thyra_AssertOp.hpp.

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

Definition at line 75 of file Thyra_AssertOp.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::describeLinearOp const LinearOpBase< RangeScalar, DomainScalar > &  A,
Teuchos::FancyOStream &  out,
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> 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> 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> 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> 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> > 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> > 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> > 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> 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> > 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> operator * const Scalar &  a,
const ConstLinearOperator< Scalar > &  A
[related]
 

Definition at line 148 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 156 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 164 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 172 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 180 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 188 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 196 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 206 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 214 of file Thyra_LinearOperatorImpl.hpp.

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

Definition at line 222 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
LinearOperator<Scalar> block2x1 const LinearOperator< Scalar > &  A00,
const LinearOperator< Scalar > &  A10
[related]
 

Definition at line 232 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
LinearOperator<Scalar> block1x2 const LinearOperator< Scalar > &  A00,
const LinearOperator< Scalar > &  A01
[related]
 

Definition at line 240 of file Thyra_LinearOperatorImpl.hpp.

template<class Scalar>
void 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 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 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 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 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 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 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 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 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 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 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:
  • success!=NULL

Preconditions:

  • *success==false if result==false

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

Definition at line 212 of file Thyra_TestingToolsDecl.hpp.

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

Definition at line 180 of file Thyra_VectorDecl.hpp.

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
[inline]
 

Definition at line 39 of file Thyra_VectorHandleOpsImpl.hpp.

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

Definition at line 45 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Scalar maxloc const Converter< Scalar, ConstVector< Scalar > > &  x,
Index index
[related]
 

Definition at line 71 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Scalar minloc const Converter< Scalar, ConstVector< Scalar > > &  x,
Index index
[related]
 

Definition at line 81 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Scalar minloc const Converter< Scalar, ConstVector< Scalar > > &  x,
const Scalar &  bound,
Index index
[related]
 

Definition at line 91 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
Scalar maxloc const Converter< Scalar, ConstVector< Scalar > > &  x,
const Scalar &  bound,
Index index
[related]
 

Definition at line 102 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void 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> dotStar const Converter< Scalar, ConstVector< Scalar > > &  xIn,
const Converter< Scalar, ConstVector< Scalar > > &  y
[related]
 

Definition at line 124 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void 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> dotSlash const Converter< Scalar, ConstVector< Scalar > > &  xIn,
const Converter< Scalar, ConstVector< Scalar > > &  y
[related]
 

Definition at line 145 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void axpy const Scalar &  a,
const Converter< Scalar, ConstVector< Scalar > > &  xIn,
Vector< Scalar > &  y
[related]
 

Definition at line 155 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void scale Vector< Scalar > &  x,
const Scalar &  a
[related]
 

Definition at line 166 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
void scaleInto const Converter< Scalar, ConstVector< Scalar > > &  x,
const Scalar &  alpha,
Vector< Scalar > &  result
[related]
 

Definition at line 174 of file Thyra_VectorHandleOpsImpl.hpp.

template<class Scalar>
std::ostream& operator<< std::ostream &  os,
const ConstVector< Scalar > &  v
[related]
 

Definition at line 73 of file Thyra_VectorImpl.hpp.

template<class Scalar>
Index dim const ConstVector< Scalar > &  x  )  [related]
 

Definition at line 105 of file Thyra_VectorImpl.hpp.

template<class Scalar>
VectorSpace<Scalar> space const ConstVector< Scalar > &  x  )  [related]
 

Definition at line 111 of file Thyra_VectorImpl.hpp.

template<class Scalar>
Teuchos::RefCountPtr<const VectorSpaceBase<Scalar> > productSpace const Teuchos::Array< VectorSpace< Scalar > > &  spaces  )  [related]
 

Definition at line 134 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
Teuchos::RefCountPtr<const VectorSpaceBase<Scalar> > productSpace VectorSpace< Scalar > &  s1  )  [related]
 

Definition at line 147 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
Teuchos::RefCountPtr<const VectorSpaceBase<Scalar> > productSpace VectorSpace< Scalar > &  s1,
VectorSpace< Scalar > &  s2
[related]
 

Definition at line 155 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
Teuchos::RefCountPtr<const VectorSpaceBase<Scalar> > productSpace VectorSpace< Scalar > &  s1,
VectorSpace< Scalar > &  s2,
VectorSpace< Scalar > &  s3
[related]
 

Definition at line 164 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
int lowestLocallyOwnedIndex const VectorSpace< Scalar > &  s  )  [related]
 

Definition at line 172 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
int numLocalElements const VectorSpace< Scalar > &  s  )  [related]
 

Definition at line 182 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
bool isSPMD const VectorSpace< Scalar > &  s  )  [related]
 

Definition at line 192 of file Thyra_VectorSpaceImpl.hpp.

template<class Scalar>
bool indexIsLocal const VectorSpace< Scalar > &  s,
Index  i
[related]
 

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 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.


Generated on Thu Sep 18 12:33:10 2008 for Thyra Package Browser (Single Doxygen Collection) by doxygen 1.3.9.1