JuliaReach/Reachability.jl

Generalize ReachSolution type

mforets opened this issue · 0 comments

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())