You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 19, 2023. It is now read-only.
The current interface of AbstractDiffEqOperator is a bit messy and could use some rework. Some of the major problems are:
The definitions are not centralized, with some of the type hierarchy defined in DiffEqBase instead of DiffEqOperators.
AbstractDiffEqOperator is defined as a subtype of AbstractLinearMap from LinearMaps.jl. This is problematic because the combination and composition of operators will be of type LinearCombination and CompositeMap, which goes beyond the AbstractDiffEqOperator type hierarchy. Also the implementation in LinearMaps.jl for operator combinations and compositions are not optimal for out standard (e.g. multiplication requires allocation of additional memory).
Time-dependent coefficients. Currently they are implemented as DiffEqScalar and included within array operators. Presumably we need to do the same for all operators, which can be cumbersome.
Below is my draft for a new DiffEqOperator interface that gets rid of the LinearMaps dependence and build up the type hierarchy from scratch. The overall structure is similar to LinearMaps while at the same time tailored to the needs of JuliaDiffEq. Feedbacks are welcomed :P