42 #ifndef THYRA_OPERATOR_VECTOR_TYPES_HPP 43 #define THYRA_OPERATOR_VECTOR_TYPES_HPP 45 #include "Thyra_ConfigDefs.hpp" 46 #include "RTOpPack_Types.hpp" 47 #include "Teuchos_Range1D.hpp" 48 #include "Teuchos_RCP.hpp" 49 #include "Teuchos_FancyOStream.hpp" 50 #include "Teuchos_Array.hpp" 51 #include "Teuchos_ArrayRCP.hpp" 52 #include "Teuchos_ArrayView.hpp" 53 #include "Teuchos_Tuple.hpp" 54 #include "Teuchos_ParameterList.hpp" 55 #include "Teuchos_ScalarTraits.hpp" 56 #include "Teuchos_TypeNameTraits.hpp" 82 using Teuchos::ArrayView;
87 using Teuchos::ArrayRCP;
102 using Teuchos::FancyOStream;
107 using Teuchos::ParameterList;
112 using Teuchos::ScalarTraits;
117 using Teuchos::typeName;
122 using Teuchos::TypeNameTraits;
150 default: TEUCHOS_TEST_FOR_EXCEPT(
true);
184 case NOTRANS:
return "NOTRANS";
185 case CONJ:
return "CONJ";
186 case TRANS:
return "TRANS";
188 default: TEUCHOS_TEST_FOR_EXCEPT(
true);
207 default: TEUCHOS_TEST_FOR_EXCEPT(
true);
225 default: TEUCHOS_TEST_FOR_EXCEPT(
true);
238 if( trans1 == trans2 )
251 TEUCHOS_TEST_FOR_EXCEPT(
true);
268 default: TEUCHOS_TEST_FOR_EXCEPT(
true);
283 default: TEUCHOS_TEST_FOR_EXCEPT(
true);
299 default: TEUCHOS_TEST_FOR_EXCEPT(
true);
327 namespace Exceptions {
337 : std::logic_error(what_arg) {}};
347 : std::logic_error(what_arg) {}
357 : std::logic_error(what_arg) {}};
376 #endif // THYRA_OPERATOR_VECTOR_TYPES_HPP Use the linear operator with conjugate elements.
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
Thrown if vector spaces are incompatible.
The view is a direct view of data and no copies are made.
The stride between elements in an array is greater than or equal to one.
Use the non-transposed operator.
EOpTransp real_trans(EOpTransp transp)
Return NOTRANS or TRANS for real scalar valued operators and this also is used for determining struct...
Use the transposed operator with complex-conjugate clements (same as TRANS for real scalar types)...
EOpTransp not_trans(EOpTransp transp)
Perform a not operation on an EOpTransp value.
Abstract interface for objects that represent a space for vectors.
EViewType
Determines if a view is a direct view of data or a detached copy of data.
EConj transToConj(EOpTransp trans)
Convert from EOpTransp to EConj.
Use the non-transposed operator with complex-conjugate elements (same as NOTRANS for real scalar type...
The view is a detached copy of the data.
Abstract interface for objects that can create vector spaces of a specified dimension.
Use the transposed operator.
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.
Interface for a collection of column vectors called a multi-vector.
Thrown if any member functions are called before initialize() has been called.
EOpTransp trans_trans(EOpTransp trans1, EOpTransp trans2)
Combine two transpose arguments.
Abstract interface for finite-dimensional dense vectors.
EOpTransp applyConjToTrans(EConj conj)
Convert from EConj to EOpTransp for forward apply.
The stride between elements in an array is one.
const char * toString(EOpTransp transp)
Return a string name for a EOpTransp value.
Base class for all linear operators.
Use the linear operator with non-conjugate elements.
EStrideType
Determine if data is unit stride or non-unit stride.
EOpTransp applyTransposeConjToTrans(EConj conj)
Convert from EConj to EOpTransp for forward apply.
EConj
Enumeration for determining how a linear operator is applied. `*.