42#ifndef THYRA_OPERATOR_VECTOR_TYPES_HPP
43#define THYRA_OPERATOR_VECTOR_TYPES_HPP
45#include "Thyra_ConfigDefs.hpp"
46#include "RTOpPack_Types.hpp"
49#include "Teuchos_FancyOStream.hpp"
51#include "Teuchos_ArrayRCP.hpp"
52#include "Teuchos_ArrayView.hpp"
53#include "Teuchos_Tuple.hpp"
184 case NOTRANS:
return "NOTRANS";
185 case CONJ:
return "CONJ";
186 case TRANS:
return "TRANS";
238 if( trans1 == trans2 )
327namespace Exceptions {
337 : std::logic_error(what_arg) {}};
347 : std::logic_error(what_arg) {}
357 : std::logic_error(what_arg) {}};
Thrown if vector spaces are incompatible.
Thrown if any member functions are called before initialize() has been called.
Base class for all linear operators.
Interface for a collection of column vectors called a multi-vector.
Abstract interface for finite-dimensional dense vectors.
Abstract interface for objects that represent a space for vectors.
Abstract interface for objects that can create vector spaces of a specified dimension.
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)
EConj
Enumeration for determining how a linear operator is applied. `*.
EStrideType
Determine if data is unit stride or non-unit stride.
EOpTransp applyTransposeConjToTrans(EConj conj)
Convert from EConj to EOpTransp for forward apply.
EConj transToConj(EOpTransp trans)
Convert from EOpTransp to EConj.
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
EViewType
Determines if a view is a direct view of data or a detached copy of data.
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.
EOpTransp applyConjToTrans(EConj conj)
Convert from EConj to EOpTransp for forward apply.
const char * toString(EConj conj)
Return a string name for a EOpTransp value. `*.
EOpTransp not_trans(EOpTransp transp)
Perform a not operation on an EOpTransp value.
EOpTransp real_trans(EOpTransp transp)
Return NOTRANS or TRANS for real scalar valued operators and this also is used for determining struct...
EOpTransp trans_trans(EOpTransp trans1, EOpTransp trans2)
Combine two transpose arguments.
@ CONJ_ELE
Use the linear operator with conjugate elements.
@ NONCONJ_ELE
Use the linear operator with non-conjugate elements.
@ STRIDE_TYPE_UNIT
The stride between elements in an array is one.
@ STRIDE_TYPE_NONUNIT
The stride between elements in an array is greater than or equal to one.
@ TRANS
Use the transposed operator.
@ NOTRANS
Use the non-transposed operator.
@ CONJTRANS
Use the transposed operator with complex-conjugate clements (same as TRANS for real scalar types).
@ CONJ
Use the non-transposed operator with complex-conjugate elements (same as NOTRANS for real scalar type...
@ VIEW_TYPE_DIRECT
The view is a direct view of data and no copies are made.
@ VIEW_TYPE_DETACHED
The view is a detached copy of the data.
std::string typeName(const T &t)