|
ZonoOpt v1.0.0
|
Set operations and setup functions for ZonoOpt library. More...
#include <stdexcept>#include <algorithm>#include <utility>#include <memory>#include <cmath>#include "Zono.hpp"#include "ConZono.hpp"#include "HybZono.hpp"#include "Point.hpp"#include "EmptySet.hpp"#include "SparseMatrixUtilities.hpp"Go to the source code of this file.
Namespaces | |
| namespace | ZonoOpt |
Functions | |
| std::unique_ptr< HybZono > | ZonoOpt::affine_map (const HybZono &Z, const Eigen::SparseMatrix< zono_float > &R, const Eigen::Vector< zono_float, -1 > &s=Eigen::Vector< zono_float, -1 >()) |
| Returns affine map R*Z + s of set Z. | |
| std::unique_ptr< HybZono > | ZonoOpt::project_onto_dims (const HybZono &Z, const std::vector< int > &dims) |
| Projects set Z onto the dimensions specified in dims. | |
| std::unique_ptr< HybZono > | ZonoOpt::minkowski_sum (const HybZono &Z1, HybZono &Z2) |
| Computes Minkowski sum of two sets Z1 and Z2. | |
| std::unique_ptr< HybZono > | ZonoOpt::intersection (const HybZono &Z1, HybZono &Z2, const Eigen::SparseMatrix< zono_float > &R=Eigen::SparseMatrix< zono_float >()) |
| Computes the generalized intersection of sets Z1 and Z2 over the matrix R. | |
| std::unique_ptr< HybZono > | ZonoOpt::intersection_over_dims (const HybZono &Z1, HybZono &Z2, const std::vector< int > &dims) |
| Computes the generalized intersection of sets Z1 and Z2 over the specified dimensions. | |
| std::unique_ptr< HybZono > | ZonoOpt::halfspace_intersection (HybZono &Z, const Eigen::SparseMatrix< zono_float > &H, const Eigen::Vector< zono_float, -1 > &f, const Eigen::SparseMatrix< zono_float > &R=Eigen::SparseMatrix< zono_float >()) |
| Computes the intersection generalized intersection of set Z with halfspace H*x <= f over matrix R. | |
| std::unique_ptr< HybZono > | ZonoOpt::pontry_diff (HybZono &Z1, HybZono &Z2, bool exact=false) |
| Computes the Pontryagin difference Z1 - Z2. | |
| std::unique_ptr< HybZono > | ZonoOpt::union_of_many (const std::vector< HybZono * > &Zs, bool preserve_sharpness=false, bool expose_indicators=false) |
| Computes union of several sets. | |
| std::unique_ptr< HybZono > | ZonoOpt::cartesian_product (const HybZono &Z1, HybZono &Z2) |
| Computes the Cartesian product of two sets Z1 and Z2. | |
| std::unique_ptr< HybZono > | ZonoOpt::constrain (HybZono &Z, const std::vector< Inequality > &ineqs, const Eigen::SparseMatrix< zono_float > &R=Eigen::SparseMatrix< zono_float >()) |
| Applies inequalities to set. | |
| std::unique_ptr< HybZono > | ZonoOpt::set_diff (const HybZono &Z1, HybZono &Z2, zono_float delta_m=100, bool remove_redundancy=true, const OptSettings &settings=OptSettings(), OptSolution *solution=nullptr, int n_leaves=std::numeric_limits< int >::max(), int contractor_iter=100) |
| Set difference Z1 \ Z2. | |
| std::unique_ptr< HybZono > | ZonoOpt::zono_union_2_hybzono (std::vector< Zono > &Zs, bool expose_indicators=false) |
| Computes a hybrid zonotope from a union of zonotopes. | |
| std::unique_ptr< HybZono > | ZonoOpt::vrep_2_hybzono (const std::vector< Eigen::Matrix< zono_float, -1, -1 > > &Vpolys, bool expose_indicators=false) |
| Computes a hybrid zonotope from a union of vertex representation polytopes. | |
| std::unique_ptr< ConZono > | ZonoOpt::vrep_2_conzono (const Eigen::Matrix< zono_float, -1, -1 > &Vpoly) |
| Builds a constrained zonotope from a vertex representation polytope. | |
| std::unique_ptr< Zono > | ZonoOpt::interval_2_zono (const Box &box) |
| Builds a zonotope from a Box object. | |
| std::unique_ptr< Zono > | ZonoOpt::make_regular_zono_2D (zono_float radius, int n_sides, bool outer_approx=false, const Eigen::Vector< zono_float, 2 > &c=Eigen::Vector< zono_float, 2 >::Zero()) |
| Builds a 2D regular zonotope with a given radius and number of sides. | |
Set operations and setup functions for ZonoOpt library.