1#ifndef DUNE_FEMPY_NUMPYOPERATOR_HH
2#define DUNE_FEMPY_NUMPYOPERATOR_HH
5#include <dune/fem/operator/linear/spoperator.hh>
8#include <dune/fempy/pybind11/pybind11.hh>
17 template<
class DomainFunction,
class RangeFunction >
20 typename RangeFunction::DiscreteFunctionSpaceType,
21 SparseRowMatrix< double, size_t,
22 pybind11::array_t< double >,
23 pybind11::array_t<size_t> > >,
26 typedef typename DomainFunction::DiscreteFunctionSpaceType DomainSpaceType;
27 typedef typename RangeFunction::DiscreteFunctionSpaceType RangeSpaceType;
33 static constexpr bool assembled =
true;
40 const SolverParameter& param = SolverParameter() ) :
46 virtual void operator()(
const DomainFunction &arg, RangeFunction &dest )
const
51 const BaseType &systemMatrix()
const
56 BaseType &systemMatrix()
abstract matrix operator
Definition: operator.hh:133
SparseRowMatrixObject.
Definition: spmatrix.hh:579
const DomainSpaceType & domainSpace() const
get domain space (i.e. space that builds the rows)
Definition: spmatrix.hh:633
void apply(const DomainFunction &arg, RangeFunction &dest) const
apply matrix to discrete function
Definition: spmatrix.hh:831
void clear()
clear matrix
Definition: spmatrix.hh:788
const RangeSpaceType & rangeSpace() const
get range space (i.e. space that builds the columns)
Definition: spmatrix.hh:639
SparseRowMatrix.
Definition: spmatrix.hh:40
Dune namespace.
Definition: alignedallocator.hh:13
NumpyLinearOperator.
Definition: numpyoperator.hh:25
void apply(const DomainFunction &arg, RangeFunction &dest) const
apply matrix to discrete function
Definition: spmatrix.hh:831
virtual void operator()(const DomainFunction &arg, RangeFunction &dest) const
application operator
Definition: numpyoperator.hh:46