# CARLIN

ReachabilityAnalysis.CARLINType
CARLIN <: 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.

source
ReachabilityAnalysis.kron_powFunction
kron_pow(x::IA.Interval, pow::Int)

Given an interval x and an integer pow, compute x^pow.

Input

• x – interval
• pow – 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]
source
kron_pow(x::Interval, pow::Int)

Given an interval x and an integer pow, compute x^pow.

Input

• x – interval
• pow – integer

Output

An interval enclosure of x^pow as a LazySets Interval.

source
kron_pow(H::AbstractHyperrectangle, pow::Int)

Given hyperrectangular set H and an integer pow, compute the Kronecker power H^{⊗ pow}.

Input

• H – hyperrectangular set
• pow – 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.

source
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 variable
• pow – 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₂²
source
ReachabilityAnalysis.kron_pow_stackFunction
kron_pow_stack(x::IA.Interval, pow::Int)

Return a hyperrectangle with the interval powers [x, x^2, …, x^pow].

Input

• x – interval
• pow – integer power

Output

A hyperrectangle such that the i-th dimension is the interval x^i.

source
kron_pow_stack(x::Interval, pow::Int)

Return a hyperrectangle with the interval powers [x, x^2, …, x^pow].

Input

• x – interval
• pow – integer power

Output

A hyperrectangle such that the i-th dimension is the interval x^i.

source
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 set
• pow – integer power

Output

A Cartesian product array of hyperrectangles.

source