Sum

Represents the sum operation.

template <
  class LHS,
  class RHS>
class Sum;

Specializations

SpecializationDescription
BilinearFormBase<Operator>, BilinearFormBase<Operator>
Full specialization
template <
  class Operator>
class Sum<
  BilinearFormBase< Operator >,
  BilinearFormBase< Operator >>;
Sum expression.
FormLanguage::List<…>, FormLanguage::List<…>
Full specialization
template <
  class LHSNumber,
  class RHSNumber>
class Sum<
  FormLanguage::List< LinearFormIntegratorBase< LHSNumber > >,
  FormLanguage::List< LinearFormIntegratorBase< RHSNumber > >>;
Sum of two lists of linear form integrators.
FormLanguage::List<…>, LinearFormIntegratorBase<RHSNumber>
Full specialization
template <
  class LHSNumber,
  class RHSNumber>
class Sum<
  FormLanguage::List< LinearFormIntegratorBase< LHSNumber > >,
  LinearFormIntegratorBase< RHSNumber >>;
Sum of a list of linear form integrators and a single one.
FormLanguage::List<…>, FormLanguage::List<…>
Full specialization
template <
  class LHSNumber,
  class RHSNumber>
class Sum<
  FormLanguage::List< LocalBilinearFormIntegratorBase< LHSNumber > >,
  FormLanguage::List< LocalBilinearFormIntegratorBase< RHSNumber > >>;
Sum of two lists of bilinear form integrators.
FormLanguage::List<…>, LocalBilinearFormIntegratorBase<…>
Full specialization
template <
  class LHSNumber,
  class RHSNumber>
class Sum<
  FormLanguage::List< LocalBilinearFormIntegratorBase< LHSNumber > >,
  LocalBilinearFormIntegratorBase< RHSNumber >>;
Sum of a list of bilinear form integrators and a single one.
FunctionBase<LHSDerived>, FunctionBase<RHSDerived>
Full specialization
template <
  class LHSDerived,
  class RHSDerived>
class Sum<
  FunctionBase< LHSDerived >,
  FunctionBase< RHSDerived >> final;
Addition of two functions.
LinearFormIntegratorBase<LHSNumber>, FormLanguage::List<…>
Full specialization
template <
  class LHSNumber,
  class RHSNumber>
class Sum<
  LinearFormIntegratorBase< LHSNumber >,
  FormLanguage::List< LinearFormIntegratorBase< RHSNumber > >>;
Sum of a linear form integrator and a list of them.
LinearFormIntegratorBase<LHSNumber>, LinearFormIntegratorBase<RHSNumber>
Full specialization
template <
  class LHSNumber,
  class RHSNumber>
class Sum<
  LinearFormIntegratorBase< LHSNumber >,
  LinearFormIntegratorBase< RHSNumber >>;
Sum expression.
LocalBilinearFormIntegratorBase<…>, FormLanguage::List<…>
Full specialization
template <
  class LHSNumber,
  class RHSNumber>
class Sum<
  LocalBilinearFormIntegratorBase< LHSNumber >,
  FormLanguage::List< LocalBilinearFormIntegratorBase< RHSNumber > >>;
Sum of a bilinear form integrator and a list of them.
LocalBilinearFormIntegratorBase<…>, LocalBilinearFormIntegratorBase<…>
Full specialization
template <
  class LHSNumber,
  class RHSNumber>
class Sum<
  LocalBilinearFormIntegratorBase< LHSNumber >,
  LocalBilinearFormIntegratorBase< RHSNumber >>;
Sum expression.
ShapeFunctionBase<LHSDerived, …>, ShapeFunctionBase<RHSDerived, …>
Full specialization
template <
  class LHSDerived,
  class RHSDerived,
  class FES,
  ShapeFunctionSpaceType Space>
class Sum<
  ShapeFunctionBase< LHSDerived, FES, Space >,
  ShapeFunctionBase< RHSDerived, FES, Space >> final;
Addition of two shape functions.
Template parameters
LHS Type of left hand side operand
RHS Type of right hand side operand

Represents the following mathematical expression:

\[\text{LHS} + \text{RHS} \]

which represents the usual arithmetic addition of two operands.

Range Deduction Rules

The rule for deducing the range of a Sum object, denoted $ \texttt{Range}[\text{LHS} + \text{RHS}]$ , is the following:

\[ \dfrac {\vdash \texttt{Range}[\text{LHS}] = \texttt{Range}[\text{RHS}] =: \texttt{R}} {\vdash \texttt{Range}[\text{LHS} + \text{RHS}] : \texttt{R}} \]

Function documentation

template<class LHS, class RHS> template<class LHSDerived, class RHSDerived>
auto operator+(const FunctionBase<LHSDerived>& lhs, const FunctionBase<RHSDerived>& rhs) constexpr

Defined in Rodin/Variational/Sum.h

Addition operator for two functions.

Parameters
lhs Left operand function
rhs Right operand function
Returns Sum object

template<class LHS, class RHS> template<class LHSDerived>
auto operator+(const FunctionBase<LHSDerived>& lhs, Real rhs) constexpr

Defined in Rodin/Variational/Sum.h

Addition of function and scalar.

Parameters
lhs Function operand
rhs Real scalar
Returns Sum object

template<class LHS, class RHS> template<class RHSDerived>
auto operator+(Real lhs, const FunctionBase<RHSDerived>& rhs) constexpr

Defined in Rodin/Variational/Sum.h

Addition of scalar and function.

Parameters
lhs Real scalar
rhs Function operand
Returns Sum object

template<class LHS, class RHS> template<class LHSDerived>
auto operator+(const FunctionBase<LHSDerived>& lhs, Complex rhs) constexpr

Defined in Rodin/Variational/Sum.h

Addition of function and complex scalar.

Parameters
lhs Function operand
rhs Complex scalar
Returns Sum object

template<class LHS, class RHS> template<class RHSDerived>
auto operator+(Complex lhs, const FunctionBase<RHSDerived>& rhs) constexpr

Defined in Rodin/Variational/Sum.h

Addition of complex scalar and function.

Parameters
lhs Complex scalar
rhs Function operand
Returns Sum object