MathematicalSystems.jl
MathematicalSystems.jl copied to clipboard
Systems definitions in Julia
```julia using MathematicalSystems, IntervalArithmetic p = @ivp(x' = -x + 1.0, x(0) ∈ 0..1) Base.Meta.ParseError("\"*\" is not a unary operator") Stacktrace: [1] @ivp(::LineNumberNode, ::Module, ::Vararg{Any,N} where N) at /home/mforets/.julia/dev/MathematicalSystems/src/macros.jl:930 ```
Add `state_matrix` (or just `matrix`) and `affine_term` (or `vector`) getter functions for concrete subtypes of `AbstractMap`. Also useful for reset maps, see implementation [here](https://github.com/JuliaReach/ReachabilityAnalysis.jl/blob/master/src/Hybrid/transitions.jl#L79)
Follow up of https://github.com/JuliaReach/MathematicalSystems.jl/issues/213.
We can already define some lazy sets using ModelingToolkit types. The next step would be to allow creating systems and the natural place is to do it in this library....
In https://github.com/JuliaReach/MathematicalSystems.jl/pull/164 we added default variable names in `parse_system` and an error message is sent in case of conflict. However, the noise variable is read a posteriori so there is...
This is `f!(dx, x, p, t)` (in-place version) and `f(x, p, t)` (out-of-place version). It is the "canonical" function signature in DifferentialEquations.jl We can call this internally a `NonlinearContinuousSystem`. Example:...
See eg. [this comment](https://github.com/JuliaReach/MathematicalSystems.jl/pull/187#discussion_r382996606).
```julia julia> convert(Matrix, I(2.0, 4)) 4×4 Array{Float64,2}: 2.0 0.0 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 2.0 julia> using LinearAlgebra julia> convert(Diagonal, I(2.0, 4))...
The type of `ind` has to be restricted to `Integer` and another method for `StepRange` (or the supertype `OrdinalRange` or even that one's supertype `AbstractRange`) needs to be added. https://github.com/JuliaReach/MathematicalSystems.jl/blob/a456045dacbfb7f2bd7e57a7a2746d06c538b8a9/src/identity.jl#L87-L98...
_Originally posted by @ueliwechsler in https://github.com/JuliaReach/MathematicalSystems.jl/pull/125#issuecomment-575240459_ The following things can be done in a later PR (in approximately increasing order of work needed): - [x] add template `f_(x_,u_)` for allowing...