Regina Calculation Engine
Classes | Static Public Member Functions | List of all members
regina::HilbertDual Class Reference

Implements a modified dual algorithm for enumerating Hilbert bases. More...

#include <enumerate/hilbertdual.h>

Static Public Member Functions

template<class RayClass , class OutputIterator >
static void enumerateHilbertBasis (OutputIterator results, const MatrixInt &subspace, const EnumConstraints *constraints, ProgressTracker *tracker=0, unsigned initialRows=0)
 Determines the Hilbert basis that generates all integer points in the intersection of the n-dimensional non-negative orthant with the given linear subspace. More...
 

Detailed Description

Implements a modified dual algorithm for enumerating Hilbert bases.

This is based on the dual algorithm as described in "Normaliz: Algorithms for affine monoids and rational cones", Winfried Bruns and Bogdan Ichim, J. Algebra 324 (2010), 1098-1113, and has been modified to allow for additional constraints (such as the quadrilateral constraints from normal surface theory).

All routines of interest within this class are static; no object of this class should ever be created.

Python
Not present.

The documentation for this class was generated from the following file:

Copyright © 1999-2021, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).