Class template Dune::GDT::ConstLincombOperator

Inherits from Dune::GDT::OperatorInterface.

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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV> : public OperatorInterface<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>

Linear combination of const (non-modifiable) operators with scalar coefficients.

Method Dune::GDT::ConstLincombOperator::range_space

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>
const RangeSpaceType &Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::range_space() const final

\ {

Required by OperatorInterface.

Method Dune::GDT::ConstLincombOperator::linear

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>
bool Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::linear() const final

No documentation provided.

Method Dune::GDT::ConstLincombOperator::apply

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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::apply(SourceFunctionType source_function, VectorType &range_vector, const XT::Common::Parameter &param) const final

No documentation provided.

Method Dune::GDT::ConstLincombOperator::source_space

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>
const SourceSpaceType &Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::source_space() const final

\ }

Required by OperatorInterface.

\ {

Method Dune::GDT::ConstLincombOperator::assembly_grid_view

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>
const AssemblyGridViewType &Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::assembly_grid_view() const final

No documentation provided.

Method Dune::GDT::ConstLincombOperator::apply

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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::apply(const VectorType &source_vector, VectorType &range_vector, const XT::Common::Parameter &param) const final

No documentation provided.

Method Dune::GDT::ConstLincombOperator::all_jacobian_options

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>
int Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::all_jacobian_options() const final

No documentation provided.

Method Dune::GDT::ConstLincombOperator::jacobian

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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::jacobian(const VectorType &source_vector, MatrixOperatorType &jacobian_op, const XT::Common::Configuration &opts, const XT::Common::Parameter &param) const override

No documentation provided.

Method Dune::GDT::ConstLincombOperator::num_ops

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>
int Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::num_ops() const

Method Dune::GDT::ConstLincombOperator::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>
const OperatorType &Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::op(const int ii) const

No documentation provided.

Method Dune::GDT::ConstLincombOperator::coeff

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>
const FieldType &Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::coeff(const int ii) const

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::add(const OperatorType &op, const FieldType &coeff = 1.)

\ }

These methods allow to add a summand to the linear combination

\ {

Method Dune::GDT::ConstLincombOperator::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::ConstLincombOperator<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::ConstLincombOperator::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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::add(const ThisType &op, const FieldType &coeff = 1.)

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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::ConstLincombOperator<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::ConstLincombOperator::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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator*=(const FieldType &alpha)

\ }

These numeric operators extend the ones from OperatorInterface

\ {

Method Dune::GDT::ConstLincombOperator::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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator/=(const FieldType &alpha)

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator+=(const BaseType &other)

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator+=(const ThisType &other)

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator-=(const BaseType &other)

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator-=(const ThisType &other)

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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>
ConstLincombOperatorType Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator*(const FieldType &alpha) const final

\ }

These numeric operators override the const 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::ConstLincombOperator::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>
ConstLincombOperatorType Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator/(const FieldType &alpha) const final

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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>
ConstLincombOperatorType Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator+(const ConstLincombOperatorType &other) const final

Note

vector is interpreted as a ConstantOperator

See also: ConstantOperator

Method Dune::GDT::ConstLincombOperator::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>
ConstLincombOperatorType Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator+(const BaseType &other) const final

No documentation provided.

Method Dune::GDT::ConstLincombOperator::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>
ConstLincombOperatorType Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator-(const ConstLincombOperatorType &other) const final

Note

vector is interpreted as a ConstantOperator

See also: ConstantOperator

Method Dune::GDT::ConstLincombOperator::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>
ConstLincombOperatorType Dune::GDT::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::operator-(const BaseType &other) const final

No documentation provided.

Constructor Dune::GDT::ConstLincombOperator::ConstLincombOperator<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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::ConstLincombOperator<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::ConstLincombOperator::ConstLincombOperator<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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(const ThisType &other) = default

No documentation provided.

Constructor Dune::GDT::ConstLincombOperator::ConstLincombOperator<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::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>::ConstLincombOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(ThisType &&source) noexcept = default

No documentation provided.

Field Dune::GDT::ConstLincombOperator::assembly_grid_view_

const AssemblyGridViewType &Dune::GDT::ConstLincombOperator::assembly_grid_view_

\ }

Field Dune::GDT::ConstLincombOperator::source_space_

const SourceSpaceType &Dune::GDT::ConstLincombOperator::source_space_

No documentation provided.

Field Dune::GDT::ConstLincombOperator::range_space_

const RangeSpaceType &Dune::GDT::ConstLincombOperator::range_space_

No documentation provided.

Field Dune::GDT::ConstLincombOperator::keep_alive_

int Dune::GDT::ConstLincombOperator::keep_alive_

No documentation provided.

Field Dune::GDT::ConstLincombOperator::const_ops_

int Dune::GDT::ConstLincombOperator::const_ops_

No documentation provided.

Field Dune::GDT::ConstLincombOperator::coeffs_

int Dune::GDT::ConstLincombOperator::coeffs_

No documentation provided.

Type alias Dune::GDT::ConstLincombOperator::ThisType

type Dune::GDT::ConstLincombOperator::ThisType

No documentation provided.

Type alias Dune::GDT::ConstLincombOperator::BaseType

type Dune::GDT::ConstLincombOperator::BaseType

No documentation provided.

Type alias Dune::GDT::ConstLincombOperator::OperatorType

type Dune::GDT::ConstLincombOperator::OperatorType

No documentation provided.