16 #ifndef dealii__trilinos_linear_operator_h 17 #define dealii__trilinos_linear_operator_h 19 #include <deal.II/base/config.h> 21 #if defined(DEAL_II_WITH_CXX11) && defined(DEAL_II_WITH_TRILINOS) 23 #include <deal.II/lac/linear_operator.h> 24 #include <deal.II/lac/block_linear_operator.h> 26 DEAL_II_NAMESPACE_OPEN
33 class PreconditionBase;
40 class TrilinosPayload;
45 template<
typename PayloadBlockType>
46 class TrilinosBlockPayload;
72 template <
typename Range,
typename Domain = Range,
79 return ::linear_operator<Range, Domain, Payload, OperatorExemplar, Matrix>(operator_exemplar, matrix);
97 template <
typename Range,
typename Domain = Range>
103 return ::linear_operator<Range, Domain, Payload, Matrix, Matrix>(matrix, matrix);
127 template <
typename Range,
128 typename Domain = Range>
135 return ::block_operator<Range,Domain,BlockPayload,BlockMatrix>(block_matrix);
154 template <
size_t m,
size_t n,
156 typename Domain = Range>
162 return ::block_operator<m,n,Range,Domain,BlockPayload>(ops);
183 template <
typename Range,
184 typename Domain = Range>
191 return ::block_diagonal_operator<Range, Domain, BlockPayload, BlockMatrix>(block_matrix);
210 template <
size_t m,
typename Range,
typename Domain = Range>
216 return ::block_diagonal_operator<m,Range,Domain,BlockPayload>(ops);
223 DEAL_II_NAMESPACE_CLOSE
225 #endif // DEAL_II_WITH_CXX11 && DEAL_II_WITH_TRILINOS LinearOperator< Range, Domain, TrilinosWrappers::internal::LinearOperator::TrilinosPayload > linear_operator(const TrilinosWrappers::SparseMatrix &operator_exemplar, const Matrix &matrix)
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_operator(const std::array< std::array< LinearOperator< typename Range::BlockType, typename Domain::BlockType, TrilinosWrappers::internal::LinearOperator::TrilinosPayload >, n >, m > &ops)
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_operator(const TrilinosWrappers::BlockSparseMatrix &block_matrix)
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_diagonal_operator(const std::array< LinearOperator< typename Range::BlockType, typename Domain::BlockType, TrilinosWrappers::internal::LinearOperator::TrilinosPayload >, m > &ops)
LinearOperator< Range, Domain, TrilinosWrappers::internal::LinearOperator::TrilinosPayload > linear_operator(const TrilinosWrappers::SparseMatrix &matrix)
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_diagonal_operator(const TrilinosWrappers::BlockSparseMatrix &block_matrix)