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
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.
Composed operator actions utilize NNLib.jl in order to do cache-efficient convolution operations in higher-dimensional combinations.