CARLIN
ReachabilityAnalysis.CARLIN
— TypeCARLIN <: AbstractContinuousPost
Implementation of the reachability method using Carleman linearization from [1].
[1] Forets, Marcelo, and Christian Schilling. "Reachability of weakly nonlinear systems using Carleman linearization." International Conference on Reachability Problems. Springer, Cham, 2021.
ReachabilityAnalysis.kron_pow
— Functionkron_pow(x::IA.Interval, pow::Int)
Given an interval x and an integer pow, compute x^pow
.
Input
x
– intervalpow
– integer
Output
An interval enclosure of x^pow
.
Examples
julia> [kron_pow(2 .. 3, i) for i in 1:3]
3-element Array{IntervalArithmetic.Interval{Float64},1}:
[2, 3]
[4, 9]
[8, 27]
kron_pow(x::Interval, pow::Int)
Given an interval x and an integer pow, compute x^pow
.
Input
x
– intervalpow
– integer
Output
An interval enclosure of x^pow
as a LazySets Interval
.
kron_pow(H::AbstractHyperrectangle, pow::Int)
Given hyperrectangular set H
and an integer pow
, compute the Kronecker power H^{⊗ pow}
.
Input
H
– hyperrectangular setpow
– integer power
Output
A hyperrectangle.
Algorithm
We compute H^{⊗ pow}
where H
is a hyperrectangular set by working with H
as a product of intervals.
See also kron_pow
which requires DynamicPolynomials.jl
.
kron_pow(x::Vector{<:AbstractVariable}, pow::Int)
Compute the higher order concrete Kronecker power: x ⊗ x ⊗ ... ⊗ x
, pow
times for a vector of symbolic monomials.
Input
x
– polynomial variablepow
– integer
Output
Vector of multivariate monomial corresponding to x^{⊗ pow}
.
Examples
julia> using DynamicPolynomials
julia> @polyvar x[1:2]
(PolyVar{true}[x₁, x₂],)
julia> x
2-element Array{PolyVar{true},1}:
x₁
x₂
julia> kron_pow(x, 2)
4-element Array{Monomial{true},1}:
x₁²
x₁x₂
x₁x₂
x₂²
ReachabilityAnalysis.kron_pow_stack
— Functionkron_pow_stack(x::IA.Interval, pow::Int)
Return a hyperrectangle with the interval powers [x, x^2, …, x^pow]
.
Input
x
– intervalpow
– integer power
Output
A hyperrectangle such that the i
-th dimension is the interval x^i
.
kron_pow_stack(x::Interval, pow::Int)
Return a hyperrectangle with the interval powers [x, x^2, …, x^pow]
.
Input
x
– intervalpow
– integer power
Output
A hyperrectangle such that the i
-th dimension is the interval x^i
.
kron_pow_stack(H::AbstractHyperrectangle, pow::Int)
Return the Cartesian product array $H × H^{⊗2} × ⋯ × H^{⊗pow}$ where $H$ is a hyperrectangular set and $H^{⊗ i}$ is the i
-th Kronecker power of $H$.
Input
H
– hyperrectangular setpow
– integer power
Output
A Cartesian product array of hyperrectangles.