This function applies `Normaliz` to the input data, which can be a matrix specifying a cone and an integer indicating the type for `Normaliz` or a list consisting of pairs of such a matrix and an integer. The function returns an object of type RationalCone. The type determines how the rows of the matrix are interpreted, see also writeNmzData:

- integral_closure: Computes the Hilbert basis of the rational cone generated by the rows with respect to the ambient lattice ℤ
^{n}; - normalization: The same as integral_closure, but with respect to the sublattice of ℤ
^{n}generated by the rows; - polytope: Computes the integral points in the polytope spanned by the rows and its Ehrhart semigroup (the semigroup determined by the polytope);
- rees_algebra: Computes the integral closure of the Rees algebra of the ideal generated by the monomials with exponent vectors the rows;
- inequalities: Computes the Hilbert basis of the rational cone in ℝ
^{m}given by the system of homogeneous inequalities`mat`x ≥ 0; - equations: Computes the Hilbert basis of the rational cone given by the nonnegative solutions of the homogeneous system
`mat`x = 0. - congruences: Computes the Hilbert basis of the rational cone given by the nonnegative solutions of the system of congruences defined by the rows as follows: Each row (x
_{1},…,x_{n},c) represents a congruence x_{1}z_{1}+…+x_{n}z_{n}≡ 0 mod c. - inhom_inequalities: Computes the Hilbert basis of the rational cone in ℝ
^{m}given by the system of inhomogeneous inequalities. Each row (x_{1},…,x_{n},b) represents an inequality x_{1}z_{1}+…+x_{n}z_{n}+ b ≥ 0. - inhom_equations: Computes the Hilbert basis of the rational cone given by the nonnegative solutions of the inhomogeneous system
`mat`x = b. - inhom_congruences: Computes the Hilbert basis of the rational cone given by the nonnegative solutions of the system of congruences defined by the rows as follows: Each row (x
_{1},…,x_{n},b,c) represents a congruence x_{1}z_{1}+…+x_{n}z_{n}+ b ≡ 0 mod c. - lattice_ideal: Computes the monoid as a quotient of ℤ
_{+}^{n}modulo a system of congruences (in the semigroup sense) defined by the rows of the input matrix.

It is possible to combine certain input types, see normaliz(List). If you want to input only one matrix you can also use normaliz(Matrix,String).

By default, the cone returned contains only the content of the output file .gen, under the key "gen", i.e. the generators that have been computed, line by line, and the content of the output file .inv, under the key "inv".

i1 : setNmzOption("allf",true); |

i2 : eq=matrix {{1, 1, 1, -1, -1, -1, 0, 0, 0}, {1, 1, 1, 0, 0, 0, -1, -1, -1}, {0, 1, 1, -1, 0, 0, -1, 0, 0}, {1, 0, 1, 0, -1, 0, 0, -1, 0}, {1, 1, 0, 0, 0, -1, 0, 0, -1}, {0, 1, 1, 0, -1, 0, 0, 0, -1}, {1, 1, 0, 0, -1, 0, -1, 0, 0}}; 7 9 o2 : Matrix ZZ <--- ZZ |

i3 : rc=normaliz(eq,"equations") o3 = RationalCone{gen => | 0 2 1 2 1 0 1 0 2 | } | 1 0 2 2 1 0 0 2 1 | | 1 1 1 1 1 1 1 1 1 | | 1 2 0 0 1 2 2 0 1 | | 2 0 1 0 1 2 1 2 0 | inv => HashTable{ => (1, 1, 1) } class group => (1, 2, 2) degree 1 elements => 5 dim max subspace => 0 embedding dim => 9 external index => 1 graded => true grading => (0, 0, 0, 0, 1, 0, 0, 0, 0) grading denom => 1 hilbert basis elements => 5 hilbert quasipolynomial denom => 1 hilbert series denom => (1, 1, 1) hilbert series num => (1, 2, 1) inhomogeneous => false multiplicity => 4 multiplicity denom => 1 number extreme rays => 4 number support hyperplanes => 4 rank => 3 size triangulation => 2 sum dets => 4 o3 : RationalCone |

To obtain all the information written by `Normaliz` set the option allComputations to true (to decide which information shall be written by `Normaliz` use the options for `Normaliz`, see setNmzOption). Then the method returns an object of type RationalCone whose keys are the suffixes of all the output files written, with value the content of the corresponding output file, which is an matrix whose rows contain the data computed, except for the suffix `inv`, for which the type is a HashTable (see also getNumInvs).

i4 : arc=normaliz(allComputations=>true,eq,"equations"); |

i5 : arc#"gen" o5 = | 0 2 1 2 1 0 1 0 2 | | 1 0 2 2 1 0 0 2 1 | | 1 1 1 1 1 1 1 1 1 | | 1 2 0 0 1 2 2 0 1 | | 2 0 1 0 1 2 1 2 0 | 5 9 o5 : Matrix ZZ <--- ZZ |

i6 : arc#"ext" o6 = | 0 2 1 2 1 0 1 0 2 | | 1 0 2 2 1 0 0 2 1 | | 1 2 0 0 1 2 2 0 1 | | 2 0 1 0 1 2 1 2 0 | 4 9 o6 : Matrix ZZ <--- ZZ |

i7 : arc#"inv" o7 = HashTable{ => (1, 1, 1) } class group => (1, 2, 2) degree 1 elements => 5 dim max subspace => 0 embedding dim => 9 external index => 1 graded => true grading => (0, 0, 0, 0, 1, 0, 0, 0, 0) grading denom => 1 hilbert basis elements => 5 hilbert quasipolynomial denom => 1 hilbert series denom => (1, 1, 1) hilbert series num => (1, 2, 1) inhomogeneous => false multiplicity => 4 multiplicity denom => 1 number extreme rays => 4 number support hyperplanes => 4 rank => 3 size triangulation => 2 sum dets => 4 o7 : HashTable |

- RationalCone -- class of rational cones
- readNmzData -- reads an output file of Normaliz containing one matrix
- Keeping results of the computation by Normaliz
- output files written by Normaliz

- normaliz(List) -- calls Normaliz with several input matrices
- normaliz(Matrix,String) -- calls Normaliz
`normaliz(Matrix,ZZ)`(missing documentation)