immrax.parametric#

class immrax.parametric.Parametope(ox, alpha, y)#

Bases: object

Parametope. Defines the set

\[{x : g(\alpha, x - \mathring{x}) <= y}\]
Attributes:
dtype

Methods

from_parametope(pt)

g(x)

Evaluates the nonlinearity \(g(\alpha, x - \mathring{x})\) at x

tree_flatten()

tree_unflatten

property dtype: dtype#
classmethod from_parametope(pt: Parametope)#
g(x: Array | ndarray | bool | number | bool | int | float | complex)#

Evaluates the nonlinearity \(g(\alpha, x - \mathring{x})\) at x

Parameters:
alphaArrayLike

_description_

xArrayLike

_description_

tree_flatten()#
classmethod tree_unflatten(aux_data, children)#
ox: Array | ndarray | bool | number | bool | int | float | complex#
alpha: Array | ndarray | bool | number | bool | int | float | complex#
y: Array | ndarray | bool | number | bool | int | float | complex#
class immrax.parametric.hParametope(ox, alpha, y)#

Bases: Parametope

Defines a parametope with the particular structured nonlinearity

\[g(\alpha, x - \mathring{x}) = (-h(\alpha (x - \mathring{x})), h(\alpha (x - \mathring{x})))\]

and y split into lower and upper bounds y = (ly, uy).

Attributes:
dtype

Methods

from_parametope(pt)

g(x)

Evaluates the nonlinearity g at alpha, x

h(z)

Evaluates the nonlinearity h at z

hinv(iy)

Overapproximating inverse image of the nonlinearity h

k_face(k)

Overapproximate the k-face of the hParametope

tree_flatten()

tree_unflatten

classmethod from_parametope(pt: hParametope)#
g(x: Array | ndarray | bool | number | bool | int | float | complex)#

Evaluates the nonlinearity g at alpha, x

Parameters:
zArrayLike

Input to the nonlinearity

h(z: Array | ndarray | bool | number | bool | int | float | complex)#

Evaluates the nonlinearity h at z

Parameters:
zArrayLike

Input to the nonlinearity

hinv(iy: Interval)#

Overapproximating inverse image of the nonlinearity h

Parameters:
iyArrayLike

_description_

k_face(k: int) Interval#

Overapproximate the k-face of the hParametope

classmethod tree_unflatten(aux_data, children)#
class immrax.parametric.ParametopeEmbedding(sys: System)#

Bases: ABC

Methods

compute_reachset(t0, tf, pt0[, inputs, dt, ...])

compute_reachset(t0: Integer | Float, tf: Integer | Float, pt0: Parametope, inputs: List[Callable[[int, Array], Array]] = [], dt: float = 0.01, *, solver: Literal['euler', 'rk45', 'tsit5'] | AbstractSolver = 'tsit5', f_kwargs: immutabledict = immutabledict({}), **kwargs)#
sys: System#
class immrax.parametric.AdjointEmbedding(sys, alpha_p0, N0, kap: float = 0.1, permutation=None)#

Bases: ParametopeEmbedding

Methods

compute_reachset(t0, tf, pt0[, inputs, dt, ...])

class immrax.parametric.FastlinAdjointEmbedding(sys, alpha_p0, N0, permutation=None, ustars=None, tt=None, kap=None)#

Bases: ParametopeEmbedding

Methods

compute_reachset(t0, tf, pt0[, inputs, dt, ...])

class immrax.parametric.Ellipsoid(ox, alpha, y)#

Bases: hParametope

Attributes:
P
dtype

Methods

g(x)

Evaluates the nonlinearity g at alpha, x

h(a)

Evaluates the nonlinearity h at z

hinv(y)

Overapproximating inverse image of the nonlinearity h

k_face(k)

Overapproximate the k-face of the hParametope

tree_flatten()

V

from_parametope

plot_projection

tree_unflatten

property P#
V(x: Array | ndarray | bool | number | bool | int | float | complex)#
classmethod from_parametope(pt: hParametope)#
h(a: Array | ndarray | bool | number | bool | int | float | complex)#

Evaluates the nonlinearity h at z

Parameters:
zArrayLike

Input to the nonlinearity

hinv(y)#

Overapproximating inverse image of the nonlinearity h

Parameters:
iyArrayLike

_description_

plot_projection(ax, xi=0, yi=1, rescale=False, **kwargs)#
class immrax.parametric.Polytope(ox, alpha, y)#

Bases: hParametope

Attributes:
H
dtype
iy
ly
uy

Methods

from_parametope(pt)

g(x)

Evaluates the nonlinearity g at alpha, x

h(z)

Evaluates the nonlinearity h at z

hinv(y)

Overapproximating inverse image of the nonlinearity h

k_face(k)

Overapproximate the k-face of the hParametope

tree_flatten()

add_rows

from_interval

get_vertices

one_d_proj

plot_projection

tree_unflatten

property H#
add_rows(Haug, Hp)#
classmethod from_interval(*args)#
classmethod from_parametope(pt: hParametope)#
get_vertices()#
h(z)#

Evaluates the nonlinearity h at z

Parameters:
zArrayLike

Input to the nonlinearity

hinv(y)#

Overapproximating inverse image of the nonlinearity h

Parameters:
iyArrayLike

_description_

property iy#
property ly#
one_d_proj(yi=0, rescale=False, **kwargs)#
plot_projection(ax, xi=0, yi=1, rescale=False, **kwargs)#
property uy#
class immrax.parametric.Normotope(ox, alpha, y)#

Bases: Parametope

Defines the set

\[{x : \|H(x - \ox)\| \leq y}\]

where \(\|\cdot\|\) is a norm, \(\ox\) is the center, \(H\) is a shaping matrix, and \(y\) is the offset.

Define \(h\) as the norm in subclasses, and \(\mu\) as the logarithmic norm associated to \(h\).

Attributes:
H
dtype

Methods

g(x)

Evaluates the nonlinearity \(g(\alpha, x - \mathring{x})\) at x

h(z)

The norm associated to the normotope.

hinv(y)

An interval overapproximation of the inverse image of y under h.

induced_norm(A)

Computes the induced norm of A.

logarithmic_norm(A)

The logarithmic norm associated to h.

mu(A)

Alias for the logarithmic norm.

plot_projection(ax[, xi, yi, rescale])

Plot the projection of the normotope onto the xi-yi plane.

tree_flatten()

unvec(vec[, n])

Unvectorizes a vector into a normotope.

vec()

Vectorizes the normotope into a vector.

from_parametope

tree_unflatten

property H#
classmethod from_parametope(pt: Parametope)#
g(x)#

Evaluates the nonlinearity \(g(\alpha, x - \mathring{x})\) at x

Parameters:
alphaArrayLike

_description_

xArrayLike

_description_

h(z)#

The norm associated to the normotope.

hinv(y)#

An interval overapproximation of the inverse image of y under h.

classmethod induced_norm(A)#

Computes the induced norm of A.

classmethod logarithmic_norm(A)#

The logarithmic norm associated to h.

classmethod mu(A)#

Alias for the logarithmic norm.

plot_projection(ax, xi=0, yi=1, rescale=False, **kwargs)#

Plot the projection of the normotope onto the xi-yi plane.

classmethod unvec(vec, n=None)#

Unvectorizes a vector into a normotope.

vec()#

Vectorizes the normotope into a vector.

class immrax.parametric.LinfNormotope(ox, alpha, y)#

Bases: Normotope

Defines the set

\[{x : \|H(x - \ox)\|_\infty \leq y}\]
Attributes:
H
dtype

Methods

g(x)

Evaluates the nonlinearity \(g(\alpha, x - \mathring{x})\) at x

h(z)

The infinity norm

hinv(y)

An interval overapproximation of the inverse image of y under h.

induced_norm(A)

Computes the induced \(\ell_\infty\) norm of A

logarithmic_norm(A)

Computes the logarithmic \(\ell_\infty\) norm of A

mu(A)

Alias for the logarithmic norm.

plot_projection(ax[, xi, yi, rescale])

Plot the projection of the normotope onto the xi-yi plane.

tree_flatten()

unvec(vec[, n])

Unvectorizes a vector into a normotope.

vec()

Vectorizes the normotope into a vector.

from_interval

from_normotope

from_parametope

to_polytope

tree_unflatten

classmethod from_interval(*args)#
classmethod from_normotope(nt: Normotope)#
h(z)#

The infinity norm

hinv(y)#

An interval overapproximation of the inverse image of y under h.

classmethod induced_norm(A)#

Computes the induced \(\ell_\infty\) norm of A

classmethod logarithmic_norm(A)#

Computes the logarithmic \(\ell_\infty\) norm of A

plot_projection(ax, xi=0, yi=1, rescale=False, **kwargs)#

Plot the projection of the normotope onto the xi-yi plane.

to_polytope() Polytope#
class immrax.parametric.L2Normotope(ox, alpha, y)#

Bases: Normotope

Defines the set

\[{x : \|H(x - \ox)\|_2 \leq y}\]
Attributes:
H
dtype

Methods

g(x)

Evaluates the nonlinearity \(g(\alpha, x - \mathring{x})\) at x

h(z)

The L_2 norm

hinv(y)

An interval overapproximation of the inverse image of y under h.

induced_norm(A)

Computes the induced \(\ell_2\) norm of A

logarithmic_norm(A)

Computes the \(\ell_2\) logarithmic norm of A

mu(A)

Alias for the logarithmic norm.

plot_projection(ax[, xi, yi, rescale])

Plot the projection of the normotope onto the xi-yi plane.

tree_flatten()

unvec(vec[, n])

Unvectorizes a vector into a normotope.

vec()

Vectorizes the normotope into a vector.

from_interval

from_normotope

from_parametope

tree_unflatten

classmethod from_interval(*args)#
classmethod from_normotope(nt: Normotope)#
h(z)#

The L_2 norm

hinv(y)#

An interval overapproximation of the inverse image of y under h.

classmethod induced_norm(A)#

Computes the induced \(\ell_2\) norm of A

classmethod logarithmic_norm(A)#

Computes the \(\ell_2\) logarithmic norm of A

plot_projection(ax, xi=0, yi=1, rescale=False, **kwargs)#

Plot the projection of the normotope onto the xi-yi plane.