ZonoOpt v2.0.1
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
ZonoOpt Namespace Reference

Classes

class  Box
 Box (i.e., interval vector) class. More...
 
class  ConZono
 Constrained zonotope class. More...
 
class  EmptySet
 Empty Set class. More...
 
class  HybZono
 Hybrid zonotope class. More...
 
struct  IneqTerm
 Structure containing term in 0-1 inequality. More...
 
class  Inequality
 Inequality class. More...
 
struct  Interval
 Interval class. More...
 
struct  IntervalBase
 Base class for Interval and IntervalView. More...
 
struct  IntervalView
 IntervalView class. More...
 
struct  OptSettings
 Settings for optimization routines in ZonoOpt library. More...
 
struct  OptSolution
 Solution data structure for optimization routines in ZonoOpt library. More...
 
class  Point
 Point class. More...
 
class  Zono
 Zonotope class. More...
 

Typedefs

typedef std::unique_ptr< HybZonoZonoPtr
 Type alias for a unique pointer to a (polymorphic) HybZono object. <>
 

Enumerations

enum  IneqType {
  LESS_OR_EQUAL = -1 , GREATER_OR_EQUAL = 1 , EQUAL = 0 , LESS = -2 ,
  GREATER = 2
}
 Enumeration to select inequality direction / use equality. More...
 

Functions

std::unique_ptr< ConZonovrep_2_conzono (const Eigen::Matrix< zono_float, -1, -1 > &Vpoly)
 Builds a constrained zonotope from a vertex representation polytope.
 
std::unique_ptr< HybZonoaffine_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< HybZonoproject_onto_dims (const HybZono &Z, const std::vector< int > &dims)
 Projects set Z onto the dimensions specified in dims.
 
std::unique_ptr< HybZonominkowski_sum (const HybZono &Z1, HybZono &Z2)
 Computes Minkowski sum of two sets Z1 and Z2.
 
std::unique_ptr< HybZonopontry_diff (HybZono &Z1, HybZono &Z2, bool exact=false)
 Computes the Pontryagin difference Z1 - Z2.
 
std::unique_ptr< HybZonointersection (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< HybZonointersection_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< HybZonohalfspace_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< HybZonounion_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< HybZonocartesian_product (const HybZono &Z1, HybZono &Z2)
 Computes the Cartesian product of two sets Z1 and Z2.
 
std::unique_ptr< HybZonoconstrain (HybZono &Z, const std::vector< Inequality > &ineqs, const Eigen::SparseMatrix< zono_float > &R=Eigen::SparseMatrix< zono_float >())
 Applies inequalities to set.
 
std::unique_ptr< HybZonoset_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< HybZonovrep_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< HybZonozono_union_2_hybzono (std::vector< Zono > &Zs, bool expose_indicators=false)
 Computes a hybrid zonotope from a union of zonotopes.
 
std::unique_ptr< Zonointerval_2_zono (const Box &box)
 Builds a zonotope from a Box object.
 
std::unique_ptr< Zonomake_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.
 
std::ostream & operator<< (std::ostream &os, const HybZono &Z)
 
std::ostream & operator<< (std::ostream &os, const Box &box)
 

Enumeration Type Documentation

◆ IneqType

Enumeration to select inequality direction / use equality.

Enumerator
LESS_OR_EQUAL 
GREATER_OR_EQUAL 
EQUAL 
LESS 
GREATER 

Function Documentation

◆ operator<<() [1/2]

std::ostream & ZonoOpt::operator<< ( std::ostream &  os,
const Box box 
)
Parameters
osostream
boxreference to box
Returns
ostream

◆ operator<<() [2/2]

std::ostream & ZonoOpt::operator<< ( std::ostream &  os,
const HybZono Z 
)
Parameters
os
Z