The ReachSolution struct is restricted to LazySets, but a short-term generalization is needed so it can accept TaylorModels (TMJets) and semialgebraic sets (XFZ18). A longer-term approach is to use MathematicalSets, but that is not ready yet.
I'm considering a proposal along these lines:
struct ReachSet{SN}
X::SN
Δt::Interval{Float64}
end
# composition over ReachSet, stores a vector and options
struct ReachSolution{SN, RSN<:ReachSet{SN}} <: AbstractSolution
Xk::Vector{RSN}
options::AbstractOptions
end
# constructor with no options
ReachSolution(Xk::Vector{RSN}) where {SN, RSN<:ReachSet{SN}} =
ReachSolution{SN, RSN<:ReachSet{SN}}(Xk, Options())
The
ReachSolution
struct is restricted to LazySets, but a short-term generalization is needed so it can accept TaylorModels (TMJets) and semialgebraic sets (XFZ18). A longer-term approach is to use MathematicalSets, but that is not ready yet.I'm considering a proposal along these lines: