ZonoOpt 2.2.0
Loading...
Searching...
No Matches
Namespaces | Functions
SetOperations.cpp File Reference
#include <stdexcept>
#include <algorithm>
#include <utility>
#include <memory>
#include "ZonoOpt.hpp"

Namespaces

namespace  ZonoOpt
 

Functions

std::unique_ptr< HybZonoZonoOpt::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< HybZonoZonoOpt::affine_inclusion (const HybZono &Z, const IntervalMatrix &R, const Eigen::Vector< zono_float, -1 > &s=Eigen::Vector< zono_float, -1 >())
 Returns inclusion of zonotopic set for uncertain affine map R*Z + s.
 
std::unique_ptr< HybZonoZonoOpt::project_onto_dims (const HybZono &Z, const std::vector< int > &dims)
 Projects set Z onto the dimensions specified in dims.
 
std::unique_ptr< HybZonoZonoOpt::minkowski_sum (const HybZono &Z1, HybZono &Z2)
 Computes Minkowski sum of two sets Z1 and Z2.
 
std::unique_ptr< HybZonoZonoOpt::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< HybZonoZonoOpt::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< HybZonoZonoOpt::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< HybZonoZonoOpt::pontry_diff (HybZono &Z1, Zono &Z2, bool exact=true)
 Computes the Pontryagin difference Z1 - Z2.
 
std::unique_ptr< HybZonoZonoOpt::union_of_many (const std::vector< std::shared_ptr< HybZono > > &Zs, bool preserve_sharpness=false, bool expose_indicators=false)
 Computes union of several sets.
 
std::unique_ptr< ConZonoZonoOpt::convex_hull (const std::vector< std::shared_ptr< HybZono > > &Zs)
 Computes convex hull of several sets.
 
std::unique_ptr< HybZonoZonoOpt::cartesian_product (const HybZono &Z1, HybZono &Z2)
 Computes the Cartesian product of two sets Z1 and Z2.
 
std::unique_ptr< HybZonoZonoOpt::constrain (HybZono &Z, const Eigen::SparseMatrix< zono_float > &H, const Eigen::Vector< zono_float, -1 > &f, char direction, const Eigen::SparseMatrix< zono_float > &R=Eigen::SparseMatrix< zono_float >())
 Computes the generalized intersection of set Z with H*x <= f, H*x >= f, or H*x = f over matrix R.
 
std::unique_ptr< HybZonoZonoOpt::set_diff (const HybZono &Z1, HybZono &Z2, zono_float delta_m=100, bool remove_redundancy=true, const OptSettings &settings=OptSettings(), std::shared_ptr< OptSolution > *solution=nullptr, int n_leaves=std::numeric_limits< int >::max(), int contractor_iter=10)
 Set difference Z1 \ Z2.
 
std::unique_ptr< HybZonoZonoOpt::zono_union_2_hybzono (std::vector< std::shared_ptr< Zono > > &Zs, bool expose_indicators=false)
 Computes a hybrid zonotope from a union of zonotopes.