Rodin/Variational/Dot.h file

Dot product (inner product) operations for functions and shape functions.

This file provides dot product operations for vector and matrix-valued functions:

  • Vector dot product: $ \mathbf{u} \cdot \mathbf{v} = \sum_i u_i v_i $
  • Matrix Frobenius inner product: $ A : B = \sum_{ij} A_{ij} B_{ij} $

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::FormLanguage
Typed expressions for constructing variational forms.
namespace Rodin::Variational
Finite element spaces, fields, and variational problems.

Classes

template<class LHSDerived, class RHSDerived>
struct Rodin::FormLanguage::Traits<Variational::Dot<Variational::FunctionBase<LHSDerived>, Variational::FunctionBase<RHSDerived>>>
Type traits for Dot over a function expression: exposes the left-hand side operand, the right-hand side operand, the scalar type and the range type.
template<class LHSDerived, class RHSDerived, class FES, Variational::ShapeFunctionSpaceType Space>
struct Rodin::FormLanguage::Traits<Variational::Dot<Variational::FunctionBase<LHSDerived>, Variational::ShapeFunctionBase<RHSDerived, FES, Space>>>
Type traits for Dot over a function expression: exposes the finite element space, the shape function space, the left-hand side operand, the right-hand side operand, the scalar type and the range type.
template<class LHSDerived, class TrialFES, class RHSDerived, class TestFES>
struct Rodin::FormLanguage::Traits<Variational::Dot<Variational::ShapeFunctionBase<LHSDerived, TrialFES, Variational::TrialSpace>, Variational::ShapeFunctionBase<RHSDerived, TestFES, Variational::TestSpace>>>
Type traits for Dot over a shape function: exposes the left-hand side operand, the right-hand side operand, the scalar type and the range type.
template<class LHSDerived, class RHSDerived>
class Rodin::Variational::Dot<FunctionBase<LHSDerived>, FunctionBase<RHSDerived>>
Dot product between two functions.
template<class LHSDerived, class RHSDerived, class FES, ShapeFunctionSpaceType Space>
class Rodin::Variational::Dot<FunctionBase<LHSDerived>, ShapeFunctionBase<RHSDerived, FES, Space>>
Dot product between a function and a shape function.
template<class LHSDerived, class RHSDerived, class FES, ShapeFunctionSpaceType Space>
class Rodin::Variational::Dot<ShapeFunctionBase<LHSDerived, FES, Space>, FunctionBase<RHSDerived>>
Dot product between a shape function and a function.
template<class LHSDerived, class TrialFES, class RHSDerived, class TestFES>
class Rodin::Variational::Dot<ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>
Dot product of trial and test shape functions for bilinear forms.
template<class KernelType, class LHSDerived, class TrialFES, class RHSDerived, class TestFES>
class Rodin::Variational::Dot<Potential<KernelType, ShapeFunctionBase<LHSDerived, TrialFES, TrialSpace>>, ShapeFunctionBase<RHSDerived, TestFES, TestSpace>>
Dot product of a potential with a test shape function.