Operator Overview
The operators in DiffEqOperators.jl are instantiations of the AbstractSciMLOperator
interface. This is documented in SciMLBase. Thus each of the operators have the functions and traits as defined for the operator interface. In addition, the DiffEqOperators.jl operators satisfy the following properties:
- Derivative * Boundary gives a GhostDerivative operator, representing a derivative operator which respects boundary conditions
- Boundary conditions generate extended vectors in a non-allocating form
- Operators can be concretized into matrices
Operator Compositions
Multiplying two DiffEqOperators will build a DiffEqOperatorComposition
, while adding two DiffEqOperators will build a DiffEqOperatorCombination
. Multiplying a DiffEqOperator by a scalar will produce a DiffEqScaledOperator
. All will inherit the appropriate action.
Efficiency of Composed Operator Actions
Composed operator actions utilize NNLib.jl in order to do cache-efficient convolution operations in higher-dimensional combinations.