Class template Dune::GDT::LincombOperator

Inherits from Dune::GDT::ConstLincombOperator.

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
class Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV> : public ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>

Linear combination of mutable operators with scalar coefficients (additionally provides assemble()).

Method Dune::GDT::LincombOperator::assemble

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
void Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::assemble(const bool use_tbb = false) final

\ {

Required by BilinearFormInterface.

Method Dune::GDT::LincombOperator::op

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
OperatorType &Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::op(const int ii)

Method Dune::GDT::LincombOperator::add

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
void Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::add(OperatorType &op, const FieldType &coeff = 1.)

No documentation provided.

Method Dune::GDT::LincombOperator::add

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
void Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::add(OperatorType *&&op, const FieldType &coeff = 1.)

No documentation provided.

Method Dune::GDT::LincombOperator::add

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
void Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::add(ThisType &op, const FieldType &coeff = 1.)

No documentation provided.

Method Dune::GDT::LincombOperator::add

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
void Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::add(ThisType *&&op, const FieldType &coeff = 1.)

No documentation provided.

Method Dune::GDT::LincombOperator::operator+=

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
ThisType &Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator+=(ThisType &other)

\ }

These numeric operators override the ones from ConstLincombOperator to keep track of the mutable ops

\ {

Method Dune::GDT::LincombOperator::operator-=

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
ThisType &Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator-=(ThisType &other)

No documentation provided.

Method Dune::GDT::LincombOperator::operator*

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
LincombOperatorType Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator*(const FieldType &alpha) final

\ }

These numeric operators override the mutable ones from OperatorInterface to avoid segfaults due to

temporaries (which we achieve since *this has the correct type here to select the correct add) \ {

Method Dune::GDT::LincombOperator::operator/

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
LincombOperatorType Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator/(const FieldType &alpha) final

No documentation provided.

Method Dune::GDT::LincombOperator::operator+

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
LincombOperatorType Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator+(LincombOperatorType &other) final

No documentation provided.

Method Dune::GDT::LincombOperator::operator+

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
LincombOperatorType Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator+(const VectorType &vector) final

Note

vector is interpreted as a ConstantOperator

See also: ConstantOperator

Method Dune::GDT::LincombOperator::operator-

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
LincombOperatorType Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator-(LincombOperatorType &other) final

No documentation provided.

Method Dune::GDT::LincombOperator::operator-

template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
LincombOperatorType Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator-(const VectorType &vector) final

Note

vector is interpreted as a ConstantOperator

See also: ConstantOperator

Constructor Dune::GDT::LincombOperator::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>

template<>
template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(const AssemblyGridViewType &assembly_grid_vw, const SourceSpaceType &src_space, const RangeSpaceType &rng_space, const std::string &logging_prefix, const std::array<bool, 3> &logging_enabled = XT::Common::default_logger_state())

No documentation provided.

Constructor Dune::GDT::LincombOperator::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>

template<>
template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(ThisType &other) = default

No documentation provided.

Constructor Dune::GDT::LincombOperator::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>

template<>
template<class AGV, size_t s_r = 1, size_t s_rC = 1, size_t r_r = s_r, size_t r_rC = s_rC, class F = double, class M = XT::LA::IstlRowMajorSparseMatrix<F>, class SGV = AGV, class RGV = AGV>
Dune::GDT::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::LincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(ThisType &&source) noexcept = default

No documentation provided.

Field Dune::GDT::LincombOperator::ops_

int Dune::GDT::LincombOperator::ops_

Type alias Dune::GDT::LincombOperator::ThisType

type Dune::GDT::LincombOperator::ThisType

No documentation provided.

Type alias Dune::GDT::LincombOperator::BaseType

type Dune::GDT::LincombOperator::BaseType

No documentation provided.