CORA has a modular design, making it possible to use the capabilities of the various set representations for other purposes besides reachability analysis. The toolbox implements vector set representation, e.g., intervals, zonotopes, Taylor models, and polytopes, as well as matrix set representations such as matrix zonotopes and interval matrices.

The reachability algorithms implemented in CORA rely on set-based computation. One major design principle is that the same standard set operations are implemented for all set representations so that algorithms can be executed with different set representations. We show some basic set operations here. More information in Section 2.1 in the CORA manual.

The linear map is defined as

$$\texttt{mtimes}(M,\mathcal{S}) = M \otimes \mathcal{S} = \left\{ Ms \ |\ s\in\mathcal{S} \right\}.$$

The function \(\texttt{mtimes}\) overloads the \(*\) operator in MATLAB.

The Minkowski sum is defined as

$$\texttt{plus}(\mathcal{S}_1,\mathcal{S}_2) = \mathcal{S}_1 \oplus \mathcal{S}_2 = \left\{ s_1 + s_2 \ |\
s_1\in\mathcal{S}_1,\ s_2\in\mathcal{S}_2 \right\}.$$

The function \(\texttt{plus}\) overloads the \(+\) operator in MATLAB.

The convex hull is defined as

$$\texttt{convHull}(\mathcal{S}_1,\mathcal{S}_2) = \left\{ \lambda s_1 + (1-\lambda) s_2 \ |\
s_1\in\mathcal{S}_1,\ s_2\in\mathcal{S}_2,\ \lambda\in[0,1] \right\}.$$

Plotting sets is a useful function to visualize your computations:

$$\texttt{plot}(\mathcal{S},\texttt{dims},\texttt{varargin}).$$

The function \(\texttt{plot}\) allows flexible plotting of your sets, where \(\texttt{dims}\) are the dimensions to be plotted and \(\texttt{varargin}\) are standard MATLAB plotting parameters.

Further examples can be found at `./examples/contSet`

on GitHub.

Copyright © 2023 - All Rights Reserved - Technische
Universität München

Website by Matthias Althoff, Niklas Kochdumper, Mark Wetzlinger, and Tobias
Ladner