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 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. | |
|
|
Definition at line 40 of file Thyra_DefaultInverseLinearOpDecl.hpp. |
|
|
Definition at line 89 of file Thyra_AssertOp.hpp. |
|
|
Definition at line 59 of file Thyra_SolveSupportTypes.hpp. |
|
|
Definition at line 117 of file Thyra_SolveSupportTypes.hpp. |
|
|
Definition at line 197 of file Thyra_SolveSupportTypes.hpp. |
|
||||||||||||||||
|
Print the solve status to a stream.
Definition at line 246 of file Thyra_SolveSupportTypes.hpp. |
|
||||||||||||||||||||||||
|
Extract the
Postconditions:
The purpose of this function is to strip off the The implementation of this function is not too complicated and is appropriate for study. Definition at line 36 of file Thyra_ScaledAdjointLinearOpBase.hpp. |
|
||||||||||||||||||||||||
|
Extract the
Postconditions:
The purpose of this function is to strip off the The implementation of this function is not too complicated and is appropriate for study. Definition at line 64 of file Thyra_ScaledAdjointLinearOpBase.hpp. |
|
||||||||||||||||||||
|
Evaluate
Definition at line 125 of file Thyra_ModelEvaluatorHelpers.hpp. |
|
||||||||||||||||||||||||
|
Evaluate
Definition at line 141 of file Thyra_ModelEvaluatorHelpers.hpp. |
|
||||||||||||||||||||||||||||
|
Evaluate
Definition at line 165 of file Thyra_ModelEvaluatorHelpers.hpp. |
|
||||||||||||||||||||||||
|
Evaluate
Definition at line 191 of file Thyra_ModelEvaluatorHelpers.hpp. |
|
||||||||||||||||||||||||||||
|
Evaluate
Definition at line 210 of file Thyra_ModelEvaluatorHelpers.hpp. |
|
||||||||||||||||||||||||||||||||||||||||
|
Evaluate
Definition at line 238 of file Thyra_ModelEvaluatorHelpers.hpp. |
|
||||||||||||||||||||||||
|
Definition at line 271 of file Thyra_ModelEvaluatorHelpers.hpp. |
|
||||||||||||||||||||||||||||
|
Definition at line 296 of file Thyra_ModelEvaluatorHelpers.hpp. |
|
||||||||||||||||||||||||
|
Initialize a preconditioner from a forward linear operator.
Definition at line 41 of file Thyra_PreconditionerFactoryHelpers.hpp. |
|
||||||||||||||||||||||||
|
Uninitialize a preconditioner and optionally extra what was used to create it.
Definition at line 55 of file Thyra_PreconditionerFactoryHelpers.hpp. |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
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 ToDo: Finish documentation! Definition at line 137 of file Thyra_apply_op_helper.hpp. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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 ToDo: Finish documentation! Definition at line 207 of file Thyra_apply_op_helper.hpp. |
|
||||||||||||||||||||||||
|
Definition at line 61 of file Thyra_AssertOp.hpp. |
|
||||||||||||||||
|
Definition at line 75 of file Thyra_AssertOp.hpp. |
|
||||||||||||||||||||
|
Basic implementation of a describe function for a linear operator.
Definition at line 40 of file Thyra_describeLinearOp.hpp. |
|
||||||||||
|
Definition at line 122 of file Thyra_LinearCombinationDecl.hpp. |
|
||||||||||
|
Definition at line 172 of file Thyra_LinearCombinationDecl.hpp. |
|
||||||||||||||||
|
Definition at line 199 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 208 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 223 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 232 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 248 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 258 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 277 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 293 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 302 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 317 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 326 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 336 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 345 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 362 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 372 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 391 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 400 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 411 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 420 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 438 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 448 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 459 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 469 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 487 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 498 of file Thyra_LinearCombinationImpl.hpp. |
|
||||||||||||||||
|
Definition at line 148 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 156 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 164 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 172 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 180 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 188 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||||||||||
|
Definition at line 196 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 206 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 214 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||||||||||
|
Definition at line 222 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 232 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||
|
Definition at line 240 of file Thyra_LinearOperatorImpl.hpp. |
|
||||||||||||||||||||
|
element-wise product
Definition at line 42 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||||||
|
element-wise divide
Definition at line 57 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||||||
|
scale by a constant
Definition at line 71 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||||||
|
add a constant
Definition at line 85 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||
|
weighted L2 norm
Definition at line 98 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||
|
weighted rms norm
Definition at line 114 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||||||
|
weighted L2 norm with mask
Definition at line 124 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||
|
minimum quotient
Definition at line 140 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||||||
|
constraint mask
Definition at line 156 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||
|
invert with nonzero test
Definition at line 173 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||||||
|
compare to a scalar
Definition at line 189 of file Thyra_SUNDIALS_Ops.hpp. |
|
||||||||||||||||||||||||
|
Print summary outputting for a test or just
Preconditions:
Just look at the definition of this function to see what it does. Definition at line 212 of file Thyra_TestingToolsDecl.hpp. |
|
||||||||||
|
Definition at line 180 of file Thyra_VectorDecl.hpp. |
|
||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
Definition at line 39 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||
|
Definition at line 45 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||
|
Definition at line 71 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||
|
Definition at line 81 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||||||
|
Definition at line 91 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||||||
|
Definition at line 102 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||||||
|
Definition at line 113 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||
|
Definition at line 124 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||||||
|
Definition at line 134 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||
|
Definition at line 145 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||||||
|
Definition at line 155 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||
|
Definition at line 166 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||||||
|
Definition at line 174 of file Thyra_VectorHandleOpsImpl.hpp. |
|
||||||||||||||||
|
Definition at line 73 of file Thyra_VectorImpl.hpp. |
|
||||||||||
|
Definition at line 105 of file Thyra_VectorImpl.hpp. |
|
||||||||||
|
Definition at line 111 of file Thyra_VectorImpl.hpp. |
|
||||||||||
|
Definition at line 134 of file Thyra_VectorSpaceImpl.hpp. |
|
||||||||||
|
Definition at line 147 of file Thyra_VectorSpaceImpl.hpp. |
|
||||||||||||||||
|
Definition at line 155 of file Thyra_VectorSpaceImpl.hpp. |
|
||||||||||||||||||||
|
Definition at line 164 of file Thyra_VectorSpaceImpl.hpp. |
|
||||||||||
|
Definition at line 172 of file Thyra_VectorSpaceImpl.hpp. |
|
||||||||||
|
Definition at line 182 of file Thyra_VectorSpaceImpl.hpp. |
|
||||||||||
|
Definition at line 192 of file Thyra_VectorSpaceImpl.hpp. |
|
||||||||||||||||
|
Definition at line 199 of file Thyra_VectorSpaceImpl.hpp. |
|
|
Print the version of Thyra.
Definition at line 31 of file Thyra_Version.cpp. |
|
||||||||||||||||||||||||
|
Main test driver that runs tests on all standard operators.
Definition at line 45 of file test_std_ops.cpp. |
1.3.9.1