[1X3 [33X[0;0YExamples[133X[101X
[1X3.1 [33X[0;0YGenerators[133X[101X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XC := NmzCone(["integral_closure",[[2,1],[1,3]]]);[127X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27XNmzHasConeProperty(C,"HilbertBasis");[127X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27XNmzHasConeProperty(C,"SupportHyperplanes");[127X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27XNmzConeProperty(C,"HilbertBasis");[127X[104X
[4X[28X[ [ 1, 1 ], [ 1, 2 ], [ 1, 3 ], [ 2, 1 ] ][128X[104X
[4X[25Xgap>[125X [27XNmzHasConeProperty(C,"SupportHyperplanes");[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XNmzConeProperty(C,"SupportHyperplanes");[127X[104X
[4X[28X[ [ -1, 2 ], [ 3, -1 ] ][128X[104X
[4X[32X[104X
[1X3.2 [33X[0;0YSystem of equations[133X[101X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XD := NmzCone(["equations",[[1,2,-3]], "grading",[[0,-1,3]]]);[127X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27XNmzCompute(D,["DualMode","HilbertSeries"]);[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XNmzHilbertBasis(D);[127X[104X
[4X[28X[ [ 1, 1, 1 ], [ 0, 3, 2 ], [ 3, 0, 1 ] ][128X[104X
[4X[25Xgap>[125X [27XNmzHilbertSeries(D);[127X[104X
[4X[28X[ t^2-t+1, [ [ 1, 1 ], [ 3, 1 ] ] ][128X[104X
[4X[25Xgap>[125X [27XNmzHasConeProperty(D,"SupportHyperplanes");[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XNmzSupportHyperplanes(D);[127X[104X
[4X[28X[ [ 1, 0, 0 ], [ 1, 3, -3 ] ][128X[104X
[4X[25Xgap>[125X [27XNmzEquations(D);[127X[104X
[4X[28X[ [ 1, 2, -3 ] ][128X[104X
[4X[32X[104X
[1X3.3 [33X[0;0YSystem of inhomogeneous equations[133X[101X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XP := NmzCone(["inhom_equations",[[1,2,-3,1]], "grading", [[1,1,1]]]);[127X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27XNmzIsInhomogeneous(C);[127X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27XNmzIsInhomogeneous(P);[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XNmzHilbertBasis(P);[127X[104X
[4X[28X[ [ 1, 1, 1, 0 ], [ 3, 0, 1, 0 ], [ 0, 3, 2, 0 ] ][128X[104X
[4X[25Xgap>[125X [27XNmzModuleGenerators(P);[127X[104X
[4X[28X[ [ 0, 1, 1, 1 ], [ 2, 0, 1, 1 ] ][128X[104X
[4X[32X[104X
[1X3.4 [33X[0;0YCombined input[133X[101X
[33X[0;0YNormaliz also allows the combination of different kinds of input, e.g.
multiple constraint types, or additional data like a grading.[133X
[33X[0;0YSuppose that you have a 3 by 3 [21Xsquare[121X of nonnegative integers such that the
3 numbers in all rows, all columns, and both diagonals sum to the same
constant [22XM[122X. Sometimes such squares are called magic and [22XM[122X is the magic
constant. This leads to a linear system of equations. The magic constant is
a natural choice for the grading. Additionally we force here the 4 corner to
have even value by adding congruences.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XMagic3x3even := NmzCone(["equations",[127X[104X
[4X[25X>[125X [27X[ [1, 1, 1, -1, -1, -1, 0, 0, 0],[127X[104X
[4X[25X>[125X [27X [1, 1, 1, 0, 0, 0, -1, -1, -1],[127X[104X
[4X[25X>[125X [27X [0, 1, 1, -1, 0, 0, -1, 0, 0],[127X[104X
[4X[25X>[125X [27X [1, 0, 1, 0, -1, 0, 0, -1, 0],[127X[104X
[4X[25X>[125X [27X [1, 1, 0, 0, 0, -1, 0, 0, -1],[127X[104X
[4X[25X>[125X [27X [0, 1, 1, 0, -1, 0, 0, 0, -1],[127X[104X
[4X[25X>[125X [27X [1, 1, 0, 0, -1, 0, -1, 0, 0] ],[127X[104X
[4X[25X>[125X [27X"congruences",[127X[104X
[4X[25X>[125X [27X[ [1, 0, 0, 0, 0, 0, 0, 0, 0, 2],[127X[104X
[4X[25X>[125X [27X [0, 0, 1, 0, 0, 0, 0, 0, 0, 2],[127X[104X
[4X[25X>[125X [27X [0, 0, 0, 0, 0, 0, 1, 0, 0, 2],[127X[104X
[4X[25X>[125X [27X [0, 0, 0, 0, 0, 0, 0, 0, 1, 2] ],[127X[104X
[4X[25X>[125X [27X"grading",[127X[104X
[4X[25X>[125X [27X[ [1, 1, 1, 0, 0, 0, 0, 0, 0] ] ] );[127X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27XNmzHilbertBasis(Magic3x3even);[127X[104X
[4X[28X[ [ 0, 4, 2, 4, 2, 0, 2, 0, 4 ], [ 2, 0, 4, 4, 2, 0, 0, 4, 2 ],[128X[104X
[4X[28X [ 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 4, 0, 0, 2, 4, 4, 0, 2 ],[128X[104X
[4X[28X [ 4, 0, 2, 0, 2, 4, 2, 4, 0 ], [ 2, 3, 4, 5, 3, 1, 2, 3, 4 ],[128X[104X
[4X[28X [ 2, 5, 2, 3, 3, 3, 4, 1, 4 ], [ 4, 1, 4, 3, 3, 3, 2, 5, 2 ],[128X[104X
[4X[28X [ 4, 3, 2, 1, 3, 5, 4, 3, 2 ] ][128X[104X
[4X[25Xgap>[125X [27XNmzHilbertSeries(Magic3x3even);[127X[104X
[4X[28X[ t^3+3*t^2-t+1, [ [ 1, 1 ], [ 2, 2 ] ] ][128X[104X
[4X[25Xgap>[125X [27XNmzHilbertQuasiPolynomial(Magic3x3even);[127X[104X
[4X[28X[ 1/2*t^2+t+1, 1/2*t^2-1/2 ][128X[104X
[4X[32X[104X
[1X3.5 [33X[0;0YUsing the dual mode[133X[101X
[33X[0;0YFor solving systems of equations and inequalities it is often faster to use
the dual Normaliz algorithm. We demonstrate how to use it with an
inhomogeneous system of equations and inequalities.[133X
[33X[0;0YThe input consists of a system of 8 inhomogeneous equations in R^3. The
first row of the matrix M encodes the inequality [22X8x + 8y + 8z + 7 ≥ 0[122X.
Additionally we say that [22Xx, y, z[122X should be non-negative by giving the sign
vector and use the total degree.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XM := [[127X[104X
[4X[25X>[125X [27X [ 8, 8, 8, 7 ],[127X[104X
[4X[25X>[125X [27X [ 0, 4, 0, 1 ],[127X[104X
[4X[25X>[125X [27X [ 0, 1, 0, 7 ],[127X[104X
[4X[25X>[125X [27X [ 0, -2, 0, 7 ],[127X[104X
[4X[25X>[125X [27X [ 0, -2, 0, 1 ],[127X[104X
[4X[25X>[125X [27X [ 8, 48, 8, 17 ],[127X[104X
[4X[25X>[125X [27X [ 1, 6, 1, 34 ],[127X[104X
[4X[25X>[125X [27X [ 2,-12, -2, 37 ],[127X[104X
[4X[25X>[125X [27X [ 4,-24, -4, 14 ][127X[104X
[4X[25X>[125X [27X];[127X[104X
[4X[28X[ [ 8, 8, 8, 7 ], [ 0, 4, 0, 1 ], [ 0, 1, 0, 7 ], [ 0, -2, 0, 7 ],[128X[104X
[4X[28X [ 0, -2, 0, 1 ], [ 8, 48, 8, 17 ], [ 1, 6, 1, 34 ],[128X[104X
[4X[28X [ 2, -12, -2, 37 ], [ 4, -24, -4, 14 ] ][128X[104X
[4X[25Xgap>[125X [27XD := NmzCone(["inhom_inequalities", M,[127X[104X
[4X[25X>[125X [27X "signs", [[1,1,1]],[127X[104X
[4X[25X>[125X [27X "grading", [[1,1,1]]]);[127X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27XNmzCompute(D,["DualMode","HilbertBasis","ModuleGenerators"]);[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XNmzHilbertBasis(D);[127X[104X
[4X[28X[ [ 1, 0, 0, 0 ], [ 1, 0, 1, 0 ] ][128X[104X
[4X[25Xgap>[125X [27XNmzModuleGenerators(D);[127X[104X
[4X[28X[ [ 0, 0, 0, 1 ], [ 0, 0, 1, 1 ], [ 0, 0, 2, 1 ], [ 0, 0, 3, 1 ] ][128X[104X
[4X[32X[104X
[33X[0;0YAs result we get the Hilbert basis of the cone of the solutions to the
homogeneous system and the module generators which are the base solutions to
the inhomogeneous system.[133X