Basic half-space representation of polytopes. More...
#include <polytope.hpp>
Public Member Functions | |
void | dumpJSONcore (std::ostream &out) const |
Output this polytope in JSON excluding opening { and closing }. More... | |
bool | is_consistent () const |
Check that defining matrices have consistent dimensions. More... | |
bool | is_in (Eigen::VectorXd X) const |
Is X contained in this polytope? More... | |
Polytope | operator& (const Polytope &P2) |
Intersect two polytopes that are defined in the same dimension space. More... | |
Polytope (Eigen::MatrixXd incoming_H, Eigen::VectorXd incoming_K) | |
Polytope (const Polytope &other) | |
Static Public Member Functions | |
static Polytope * | box (const Eigen::VectorXd &bounds) |
Construct Polytope that is an axis-aligned rectangle. More... | |
static Polytope * | randomH (int n) |
Create random Polytope in R^n using Eigen::MatrixXd::Random(). More... | |
Friends | |
std::ostream & | operator<< (std::ostream &out, const Polytope &P) |
Output this polytope in JSON to given stream. More... | |
Basic half-space representation of polytopes.
|
static |
Construct Polytope that is an axis-aligned rectangle.
bounds | an array of the form [x1_min, x1_max, x2_min, x2_max, ..., xn_min, xn_max],
|
E.g., a unit square in R^2 can be created using
void integrator_chains::Polytope::dumpJSONcore | ( | std::ostream & | out | ) | const |
Output this polytope in JSON excluding opening { and closing }.
This method facilitates inheritance from Polytope without crowding the JSON representations of other classes.
bool integrator_chains::Polytope::is_consistent | ( | ) | const |
Check that defining matrices have consistent dimensions.
The "defining matrices" are those involved in the inequality providing the half-space representation, i.e., H and K in {x | Hx <= K}. N.B., this check does not occur during instantiation of Polytope.
bool integrator_chains::Polytope::is_in | ( | Eigen::VectorXd | X | ) | const |
Is X contained in this polytope?
The polytope is a closed set. No numerical tolerance is used.
Intersect two polytopes that are defined in the same dimension space.
|
static |
|
friend |
Output this polytope in JSON to given stream.