politopix  4.1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DoubleDescription_Rn.h File Reference
#include <math.h>
#include <numeric>
#include <set>
#include <map>
#include "Tracking.h"
#include "Neighbours_Rn.h"
Include dependency graph for DoubleDescription_Rn.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DoubleDescription< POLYHEDRON, ITERATOR, REDUNDANCY_PROCESSING >
 The algorithm implemented here is an incremental algorithm as mentioned in How Good are Convex Hull Algorithms? (1997) by David Avis and David Bremner. Specific and efficient implementations can be found in The double description method revisited (1996) written by Komei Fukuda and Alain Prodon .
Incremental algorithms for the vertex enumeration problem compute the vertex description by intersecting the defining half-spaces sequentially. An initial simplex is constructed from a subset of n+1 half-spaces and its vertices and 1-skeleton are computed. Additional half-spaces are introduced sequentially and the vertex description and 1-skeleton are updated at each stage. Essentially such an update amounts to identifying and removing all vertices that are not contained in the new half-space, introducing new vertices for all intersections between edges and the bounding hyperplane of the new half-space, and generating the new edges between these new vertices.
This algorithm can be instantiated by polytopes or polyhedral cones, and as a second argument can be instantiated by iterators such as minindex, lexmin, lexmax. More...
 
class  NoRedundancyProcessing< POLYHEDRON >
 Makes the assumption we do not need to process redundant half-spaces in a specific way. More...
 
class  StrongRedundancyProcessing< POLYHEDRON >
 This class can be more time-consuming than WeakRedundancyProcessing or NoRedundancyProcessing because it will perform extra checks in the process of intersecting half-spaces. To determine if two vertices are neighbors it will make sure not to count half-spaces marked as redundant. More...
 

Detailed Description