LoadPackage("NormalizInterface");
# the cone generated by (2,1) and (1,3)
C := NmzCone(["integral_closure",[[2,1],[1,3]]]);
NmzHasConeProperty(C,"HilbertBasis");
NmzHasConeProperty(C,"SupportHyperplanes");
NmzConeProperty(C,"HilbertBasis");
NmzHasConeProperty(C,"SupportHyperplanes"); # also computed when Hilbert basis was computed
NmzConeProperty(C,"SupportHyperplanes");
# the cone given by the equation x + 2y - 3z = 0 in the non-negative orthant
D := NmzCone(["equations",[[1,2,-3]]]);
NmzCompute(D,["DualMode","HilbertSeries"]);
NmzHilbertBasis(D);
NmzConeProperty(D,"HilbertSeries"); # not yet implemented
NmzHasConeProperty(D,"SupportHyperplanes");
NmzConeProperty(D,"SupportHyperplanes");
NmzEquations(D);
# the polyhedron given by the equation x + 2y -3z + 1 = 0 in the non-negative orthant
P := NmzCone(["inhom_equations",[[1,2,-3,1]], "grading", [[1,1,1]]]);
NmzIsInhomogeneous(D);
NmzIsInhomogeneous(P);
NmzHilbertBasis(P);
NmzConeProperty(P,"ModuleGenerators");