from pyrat.geometry import Zonotope from pyrat.geometry.operation import partition from pyrat.util.visualization import plot # random zonotope with 100 generators in 2d space z = Zonotope.rand(2,100) # split this zonotope in smaller cells as zonotope zono_parts = partition(z,1, Geometry.TYPE.ZONOTOPE) # visualize the final result plot([*zono_parts,z],[0,1])
[1]: Kühn, W. (1998). Rigorously computed orbits of dynamical systems without the wrapping effect. Computing, 61(1),
47-67.
[2]: Althoff, M., & Krogh, B. H. (2012, April). Avoiding geometric intersection operations in reachability analysis of
hybrid systems. In Proceedings of the 15th ACM international conference on Hybrid Systems: Computation and Control (pp.
45-54).
[3]: Althoff, M. (2010). Reachability analysis and its application to the safety assessment of autonomous cars (Doctoral
dissertation, Technische Universität München).
[4]: Althoff, M., Krogh, B. H., & Stursberg, O. (2011). Analyzing reachability of linear dynamic systems with parametric
uncertainties. In Modeling, Design, and Simulation of Systems with Uncertainties (pp. 69-94). Springer, Berlin,
Heidelberg.
[5]: Yang, X., & Scott, J. K. (2018). A comparison of zonotope order reduction techniques. Automatica, 95, 378-384.
[6]: Althoff, M. (2015). On computing the minkowski difference of zonotopes. arXiv preprint arXiv:1512.02794.