up previous next
NmzComputation    --    flexible access to Normaliz


Syntax
NmzComputation(Cone: RECORD): RECORD
NmzComputation(Cone: RECORD, ToCompute: LIST): RECORD

Description
NmzComputation provides direct access to libnormaliz. It faithfully reflects the internal structure of the libnormaliz design. Its first argument should be a record representing the cone. For the possible input options see the Normaliz documentation. With the second (optional) argument one can specify what should be computed. If it is omitted, everything that can be computed by libnormaliz will be computed.

(sub-)list of fields of cone properties: ModuleGenerators, Generators, ExtremeRays, VerticesOfPolyhedron, Deg1Elements, OriginalMonoidGenerators, SupportHyperplanes, ExcludedFaces, HilbertSeries, Multiplicity, Grading, IsDeg1HilbertBasis, IsPointed, IsIntegrallyClosed, RecessionRank, AffineDim, ModuleRank, Dehomogenization.

Example
/**/ Cone := record[ integral_closure := mat([[1,2],[2,1]]),
/**/                 grading := mat([[2,1]])];
/**/ NC2 := NmzComputation(Cone, ["HilbertBasis", "SupportHyperplanes", "HilbertSeries"]);
/**/ indent(NC2);

record[
  Congruences := [],
  Deg1Elements := [],
  EmbeddingDim := 2,
  Equations := [],
  ExtremeRays := [[1, 2], [2, 1]],
  Generators := [[1, 2], [2, 1]],
  Grading := [2, 1],
  HilbertBasis := [[1, 1], [1, 2], [2, 1]],
  HilbertSeries := record[DenFactors := record[RemainingFactor := 1, factors := [-t +1, -t^20 +1], multiplicities := [1, 1]], num := t^18 -t^17 +t^15 +t^10 -t^9 +t^8 +t^3 -t +1],
  IsDeg1HilbertBasis := false,
  IsInhomogeneous := false,
  IsIntegrallyClosed := false,
  IsPointed := true,
  Multiplicity := 3/20,
  Rank := 2,
  SupportHyperplanes := [[-1, 2], [2, -1]]
]

See Also