21 #include "bempp/common/config_trilinos.hpp"
23 #ifndef bempp_real_wrapper_of_complex_thyra_linear_operator_hpp
24 #define bempp_real_wrapper_of_complex_thyra_linear_operator_hpp
26 #include "../common/common.hpp"
30 #include <Thyra_LinearOpDefaultBase_decl.hpp>
35 template <
typename ValueType>
37 :
public Thyra::LinearOpDefaultBase<ValueType>
40 typedef std::complex<ValueType> ComplexValueType;
41 typedef Thyra::LinearOpBase<std::complex<ValueType> > ComplexLinearOp;
44 const Teuchos::RCP<const ComplexLinearOp>& complexOperator);
46 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<ValueType> > domain()
const;
47 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<ValueType> > range()
const;
50 virtual bool opSupportedImpl(Thyra::EOpTransp M_trans)
const;
52 virtual void applyImpl(
53 const Thyra::EOpTransp M_trans,
54 const Thyra::MultiVectorBase<ValueType> &X_in,
55 const Teuchos::Ptr<Thyra::MultiVectorBase<ValueType> > &Y_inout,
56 const ValueType alpha,
57 const ValueType beta)
const;
60 Teuchos::RCP<const ComplexLinearOp> m_complexOperator;
61 Teuchos::RCP<const Thyra::VectorSpaceBase<ValueType> > m_domainSpace;
62 Teuchos::RCP<const Thyra::VectorSpaceBase<ValueType> > m_rangeSpace;
67 #endif // WITH_TRILINOS
Definition: real_wrapper_of_complex_thyra_linear_operator.hpp:36